OpenClaw 走 TaoToken:照着 amazon-bedrock 的 provider 配置写
OpenClaw 里想用 amazon-bedrock得手写 openclaw.json 的 providers还得在本机长期留一份 AWS 密钥。这条思路可以换用 TaoToken 的统一接入先去 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 创建一把 API Key然后照着 amazon-bedrock 的 provider 格式在同一个 providers 列表里补一个 TaoToken 条目baseUrl 填 https://taotoken.net/api模型 id 用模型广场上当前可用的那个。最后把 agents.defaults.model.primary 指过去执行一次 openclaw gateway restart模型请求就能从这条兼容通道走。之所以盯着 amazon-bedrock 那份配置改是因为它把 OpenClaw 里「一个 provider 到底该怎么写」示范得很完整baseUrl、auth、api、models 四件套一个不少。把这四个字段吃透换成别的统一 API 通道手感其实是同一套。下面按原文的四步顺序走一遍每一步都对应地说明改哪儿、为什么改。1. openclaw.json 的 providers 里为什么没有 amazon-bedrock1.1 默认 provider 列表覆盖不到 AWS 这一路OpenClaw 出厂自带的 provider 大多冲着标准的 OpenAI 风格接口去而 amazon-bedrock 走的是 AWS SDK 加 Converse 流式接口认证方式也不是一个 Authorization 头能解决的所以在选模型的界面里翻不到它属于正常现象。打开 ~/.openclaw/openclaw.json会看到 providers 是一个数组里面每个元素代表一家模型服务的接入方式这就是官方留出来的扩展位。换句话说缺的不是功能缺的是一段没人替你写好的配置。1.2 原文的手工路径.env 加 providers 两条腿原始那篇的做法是把这件事拆成四步。第一步在 ~/.openclaw/ 下新建一个 .env写入 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_REGION 三个键键名区分大小写作用是让 openclaw gateway 在初始化阶段读到这组访问令牌。第二步回到 openclaw.json在 providers 列表里追加一个 amazon-bedrock 对象baseUrl 指向 bedrock-runtime 的区域端点auth 写 aws-sdkapi 写 bedrock-converse-streammodels 数组里逐个列出要用的模型。第三步把 agents.defaults.model.primary 写成「provider 名/模型 id」。第四步重启网关。四步拆开看真正跟 AWS 绑死的只有第一步、第二步里的 baseUrl以及 auth、api 那两个取值。模型 id 本来就该按实际开通情况来填跟通道本身没有强绑定关系。1.3 换成 TaoToken 之后要动的其实只有两处想清楚这一点替换就变得很简单。令牌那一层不再往 .env 里塞 AWS 三件套改成放一把 Keyprovider 那一层baseUrl 换成 https://taotoken.net/api auth 和 api 换成你本地 OpenClaw 版本里对应「OpenAI 兼容通道」的那两个取值。agents 段和重启动作基本照抄原文就行。2. .env 里那三行 AWS 令牌换成一个 Key2.1 先去把 Key 创建出来浏览器打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册登录后进控制台在 API Keys 页面新建一把 Key。复制出来的那串就是后面要写进配置的东西本文统一用 YOUR_API_KEY 代替别把真 Key 贴到会公开的地方。顺手做一件事在模型广场里确认一下你打算用的模型 id 到底是什么写法。带版本后缀、带日期后缀的一律以页面上显示的为准不要凭记忆手编一个看起来差不多的。2.2 ~/.openclaw/.env 只留一行回到终端把原来的 AWS 三行注掉或者删掉换成一行# ~/.openclaw/.env TAOTOKEN_API_KEYYOUR_API_KEY键名的书写习惯跟原文保持一致全大写加下划线。写完之后不用手动 exportopenclaw gateway 启动时会读这个文件。如果你更习惯用系统级环境变量export 一份同名的也行两种方式选一种别两边都写还写得不一样。2.3 这一步和原文的差异在哪原文那三行是为了让 AWS SDK 自己完成签名所以必须给到 AK、SK 和区域。这边认证靠一把 Key 解决本机不需要再存一份云厂商的长效凭证环境变量这一层从三个缩到一个。顺带提一句Key 尽量别写进会提交到仓库的文件里。.env 本身通常在忽略列表内但如果你把它挪到了别处记得顺手加一条忽略规则。3. 在 providers 列表里补一个 taotoken 条目3.1 先把 amazon-bedrock 那四个字段拆开看原文那份配置里真正决定「怎么连」的是这四个字段字段amazon-bedrock 的写法作用baseUrlhttps://bedrock-runtime.us-east-1.amazonaws.com请求打到哪个端点authaws-sdk用什么方式做认证apibedrock-converse-stream用哪套协议说话models一组模型对象这家服务下有哪些模型可用baseUrl、auth、api 三个字段必须严格按 OpenClaw 支持的取值写写错一个网关要么起不来要么起来了也连不通。models 是你要自己决定的id 按实际能访问到的模型填。3.2 照着这个格式写 provider打开 ~/.openclaw/openclaw.json找到 providers 这个数组在末尾追加下面这段。baseUrl 写 https://taotoken.net/api 注意末尾不要加 /v1路径由客户端自己拼。{ taotoken: { baseUrl: https://taotoken.net/api, auth: api-key, api: openai-chat-completions, models: [ { id: 以模型广场当时列表为准, name: 兼容通道模型, reasoning: false, input: [text], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 0, maxTokens: 0 } ] } }几点说明。第一auth 和 api 的取值请对齐你本地 OpenClaw 版本支持的枚举不同版本叫法可能有差别别直接照抄 bedrock-converse-stream那是 AWS 专用的协议标识。第二cost、contextWindow、maxTokens 这几个数字以模型广场页面当时标注的为准页面上没标的就先别塞具体数字宁可留空也别编。第三id 是整份配置里最关键的一格下一节专门讲。3.3 模型 id 从模型广场拿别手编很多人在这里栽跟头是因为随手写了个看着眼熟的名字。可用的模型列表在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 的模型广场里页面显示什么就写什么一个字符都别改。带冒号、带短横线的长 id 要整段复制手敲几乎必错。如果你打算配多个模型就在 models 数组里多加几个对象每个对象 id 各不相同。primary 只会用到其中一个其余的先放着哪天想切再改那一行就行。这样做的好处是切换成本很低不用每次都回来重写整段 provider。4. agents.defaults.model.primary 指到新通道4.1 primary 和 fallbacks 怎么摆provider 加好还不算完得告诉 agent 默认用谁。在 openclaw.json 里找到 agents.defaults.model把 primary 写成「provider 名 / 模型 id」的形式agents: { defaults: { model: { primary: taotoken/YOUR_MODEL_ID, fallbacks: [] } } }斜杠前面是你在上一步起的 provider 名必须一字不差斜杠后面是 models 数组里那个 id。原文里写的是 amazon-bedrock/us.amazon.nova-2-lite-v1:0同一个套路只是把前缀换掉、把 id 换成模型广场上的那一个。fallbacks 是备选队列。如果你本地还挂着别的 provider可以按优先级往下排主通道抽风时能兜住。只配一个通道的话留空数组就行不用硬凑。4.2 models 段里的 alias 配套原文在 agents.defaults.models 里给每个模型配了个 alias把长长的模型 id 缩成一个短名字。这个不是必须的但配了之后在会话里切模型会舒服很多models: { taotoken/YOUR_MODEL_ID: { alias: tt } }键名同样是「provider 名 / 模型 id」和 primary 保持完全一致差一个字符就认不出来。alias 本身随意起只要别跟已有的重名。5. openclaw gateway restart 之后怎么确认真的通了5.1 起网关先看日志配置保存之后执行openclaw gateway restart盯一下启动输出。正常起来的话日志里会列出加载到的 provider 数量和默认模型。如果 provider 总数没变多半是 JSON 少了个逗号或者括号没闭合找个 JSON 校验器过一遍最快如果起来了但一调用就报认证相关先去检查 .env 里的键名有没有拼错。5.2 用同一把 Key 发一条测试消息网关起来不等于通。稳妥的做法是拿同一把 Key在 模型对话 里发一条最简单的消息看模型 id 和通道是不是都能正常回应。这一步的意义在于把问题范围缩到一半模型对话里能回说明 Key 和模型 id 没问题剩下的锅在 OpenClaw 的配置里模型对话里也报错那就先把 Key 或模型 id 处理掉别在 openclaw.json 里绕圈子。5.3 回控制台对一下这次调用再回到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 的控制台翻一下用量记录刚才那条测试消息应该能对上号。如果折腾了半天一条记录都没有说明请求根本没打出去回头看看 baseUrl 有没有被某个工具自作主张补成别的地址。看到记录的那一刻整条链路就算闭环了。6. 排障几个最常见的不生效6.1 网关读不到 .env 里的 Key症状是启动正常一调用就报认证失败。常见原因有三个文件不在 ~/.openclaw/ 下、文件名不是 .env、键名大小写和引用处对不上。另外注意别在 .env 的值两侧加引号不少解析器会把引号也当成值的一部分结果 Key 多出两个字符。6.2 baseUrl 尾巴上多写了 /v1这是最容易出的一个错很多人凭肌肉记忆就把 /v1 加上去了。填进 OpenClaw 的 baseUrl 就是 https://taotoken.net/api 末尾到此为止。多写一段的结果通常是 404 而不是 401看报错码能很快区分是路径问题还是认证问题。6.3 primary 前缀和 provider 名对不上比如 provider 起名叫 taotokenprimary 里却拼成了别的写法或者模型 id 中间少了一个字符。这类问题的表现是网关起来了但一提问就说找不到模型。把 primary 的值从 models 数组里复制粘贴一遍比手敲靠谱得多。6.4 配完这一次之后OpenClaw 的 provider 机制说白了就是一个标准插槽amazon-bedrock 那份配置刚好把插槽的四个针脚标清楚了。把它抄成模子之后以后再换通道无非就是改 baseUrl 和模型 id 两处。真要动手的话建议先把模型广场页面开着边填边对照比来回切标签页省事。要是之后还打算在别的工具里复用同一把 Key可以顺手看一眼 Coding Plan以及 控制台 API Keys 里那把 Key 的余量心里有个数后面调起来不慌。

相关新闻

6.6kW车载充电机:交错并联Boost PFC与全桥LLC设计实战

6.6kW车载充电机:交错并联Boost PFC与全桥LLC设计实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 5:57:32 阅读更多 →
自动驾驶技术教案设计:从系统架构到可运行示例

自动驾驶技术教案设计:从系统架构到可运行示例

简介:一套面向自动驾驶初学者的教学PPT教案,系统梳理了无人驾驶汽车的概念、核心目的与分级标准,并依据沃尔沃自动化分级,介绍驾驶辅助、部分自动化、高度自动化和完全自动化四个阶段的特征。内容还涵盖车辆硬件结构,包…

2026/9/21 6:43:59 阅读更多 →
Modbus RTU读寄存器耗时计算:RS485轮询周期与波特率优化指南

Modbus RTU读寄存器耗时计算:RS485轮询周期与波特率优化指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 1:18:16 阅读更多 →

最新新闻

一文搞懂升级访问:告别教程依赖,3步写出可上线代码

一文搞懂升级访问:告别教程依赖,3步写出可上线代码

一文搞懂升级访问:告别教程依赖,3步写出可上线代码 看了一堆教程还是不会写项目?别急着骂自己笨,这真不怪你。 很多老手都栽过跟头:照着视频敲代码能跑,换个需求就抓瞎,特别是涉及 升级访问…

2026/9/22 6:28:11 阅读更多 →
tennis怎么读:从音标到发音肌肉记忆,3步搞定发音难题

tennis怎么读:从音标到发音肌肉记忆,3步搞定发音难题

tennis怎么读:从音标到发音肌肉记忆,3步搞定发音难题 刚拿到网球拍,或者刚被朋友拉去打球,结果在记分牌前卡壳了?明明知道是“网球”,但张嘴想报分或者交流时,那个“Tennis”到底读 /ˈtenɪs/ 还是 /ˈtenɪs/…

2026/9/22 6:28:11 阅读更多 →
面试必问:3步吃透p2p网络电视源码架构

面试必问:3步吃透p2p网络电视源码架构

面试必问:3步吃透p2p网络电视源码架构 官方文档翻了三遍还是云里雾里?别急,p2p网络电视的底层逻辑其实没那么玄乎。 很多后端面试官喜欢拿这个问,因为能看出你对网络协议和性能优化的理解。…

2026/9/22 6:28:11 阅读更多 →
3招搞定qq假视频美女识别,性能优化让处理速度提升10倍

3招搞定qq假视频美女识别,性能优化让处理速度提升10倍

3招搞定qq假视频美女识别,性能优化让处理速度提升10倍 配置环境就卡半天,是不是你也遇到过这种情况?刚下载完依赖,运行脚本时内存直接飙到90%,处理一个qq假视频美女的样本集要等上半小时,CPU风扇狂转却不见进度条走动。这种低效的工作流,…

2026/9/22 6:27:10 阅读更多 →
3个避坑点,一文搞懂食物热量表搭建实战

3个避坑点,一文搞懂食物热量表搭建实战

3个避坑点,一文搞懂食物热量表搭建实战 配置环境就卡半天?别急,今天带你从零手搓一个 食物热量表 系统。 很多开发者一上来就纠结框架,结果在依赖冲突里耗了一整天。其实,核心痛点从来不是技术栈多新,而是数据怎么存、查询怎么快。…

2026/9/22 6:27:10 阅读更多 →
3个技巧搞定jd招聘手写实现,代码跑不通别慌

3个技巧搞定jd招聘手写实现,代码跑不通别慌

3个技巧搞定jd招聘手写实现,代码跑不通别慌 复制来的jd招聘笔试题代码,一运行就报 NullPointerException 或者 IndexOutOfBoundsException…

2026/9/22 6:27:10 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/22 4:32:41 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/22 4:38:57 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →