OpenClaw 配置文件 openclaw.json 完整参数说明:TaoToken 统一 Key 接入 gateway 配置骨架
1. 先搞清楚 openclaw.json 到底在管什么OpenClaw 是一个把本地模型、云端模型、聊天通道、工具权限串起来的智能体运行框架而openclaw.json就是它的总控台。你可以把它理解成一张接线图哪个模型当主力、哪个当备胎、网关监听哪个端口、飞书机器人怎么连、命令能不能执行全部写在这一个文件里。改错一个字段轻则模型不响应重则 gateway 起不来。这篇聚焦gateway参数逐项说明同时给出一套通过 TaoToken 统一 Key 接入的配置骨架。TaoToken 在这里扮演的角色是统一 API 通道——你不需要为每个模型厂商单独维护一套 Key 和 baseUrl而是把请求统一指向 TaoToken 的 API 地址用一把 Key 管理多个模型。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 。适合谁看已经在跑 OpenClaw、想接云端模型但不想被多家 Key 折腾的人想搞明白gateway每个字段含义、避免瞎改导致连不上的人以及准备把本地 Ollama 和云端模型做成主备切换的人。下面从配置文件结构讲起重点落在 gateway最后给可复制的骨架和连通性自检动作。配置文件默认路径是~/.openclaw/openclaw.json编辑命令nano ~/.openclaw/openclaw.json改完必须重启网关否则不生效openclaw gateway restart2. TaoToken 前置准备拿到统一 Key 和 API 地址在动openclaw.json之前先把 TaoToken 这边的接入信息准备好。你需要两样东西一把 API Key一个 API 基址。基址固定是https://taotoken.net/apiKey 在控制台创建。创建 Key 的入口在控制台的 API Keys 页面走这个 deep linkhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite进去之后新建一个 Key复制出来先存好。注意 Key 只在创建时完整显示一次关掉页面就看不到了所以别手滑。如果你还没决定用哪个模型可以先去模型对话页面试一下手感https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite接入文档在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite这里有个关键点要提前说清楚OpenClaw 的models.providers里每个 provider 都有自己的baseUrl和api类型。TaoToken 提供的是 Anthropic 兼容风格的 messages 接口所以在 provider 配置里api要写成anthropic-messagesbaseUrl指向 TaoToken 的 API 地址。这样 OpenClaw 发出的请求就会统一走 TaoToken 通道而不是直连各家厂商。注意不要把 TaoToken 理解成绕过什么的东西它就是正常的 API 聚合通道你用的是它提供的标准接口和计费。配置里所有请求都走 HTTPSKey 通过authHeader传递。如果你打算长期跑编码类任务或者 Agent 工作流可以顺带看下 Coding Plan它更适合高频调用场景https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite3. 可复制配置openclaw.json 完整骨架与 gateway 逐项说明下面这份骨架可以直接对照修改。为了聚焦我把和 TaoToken 接入相关的部分写全其余段落保留结构。{ meta: { lastTouchedVersion: 2026.3.13, lastTouchedAt: 2026-03-16T05:36:26.133Z }, auth: { profiles: { taotoken:cloud: { provider: taotoken, mode: api_key }, ollama:local: { provider: ollama, mode: api_key } } }, models: { mode: merge, providers: { taotoken: { baseUrl: https://taotoken.net/api, api: anthropic-messages, authHeader: true, apiKey: 你的_TaoToken_Key, models: [ { id: claude-sonnet-4-5, name: Claude Sonnet 4.5, reasoning: true, input: [text], contextWindow: 200000, maxTokens: 8192 } ] }, ollama: { baseUrl: http://127.0.0.1:11434, api: ollama, apiKey: ollama-local, authHeader: true } } }, agents: { defaults: { model: { primary: taotoken/claude-sonnet-4-5, fallbacks: [ollama/qwen2.5:7b] }, models: { taotoken/claude-sonnet-4-5: { alias: TaoToken-Cloud }, ollama/qwen2.5:7b: { alias: Ollama-Qwen } }, workspace: /home/ubuntu24/.openclaw/workspace } }, tools: { profile: coding }, commands: { native: auto, nativeSkills: auto, restart: true }, session: { dmScope: per-channel-peer }, hooks: { internal: { enabled: true, entries: { command-logger: { enabled: true } } } }, gateway: { port: 18789, mode: local, bind: loopback, auth: { mode: token, token: 换成你自己的随机令牌 }, tailscale: { mode: off, resetOnExit: false }, nodes: { denyCommands: [ camera.snap, camera.clip, screen.record, contacts.add, calendar.add, reminders.add, sms.send ] } }, plugins: { entries: { feishu: { enabled: true } } } }现在逐项拆gateway这是本篇重点。gateway.port是网关监听端口默认 18789。你可以改成别的但改完要确认没有和系统里其他服务撞端口。查端口占用ss -tlnp | grep 18789gateway.mode控制访问范围。local表示只允许本机访问network表示局域网内其他机器也能连。如果你只是本机跑 Agent保持local最省心。要开network的话务必配合下面的auth一起改否则等于把网关裸奔在局域网里。gateway.bind是绑定地址。loopback对应 127.0.0.1只走本地回环如果mode设成network这里通常要改成0.0.0.0才能被外部访问。这两个字段是联动的别只改一个。gateway.auth.mode是认证方式可选token或none。强烈建议用token。none意味着任何能访问到这个端口的人都能操作你的 Agent风险很高。gateway.auth.token就是令牌本身自己生成一串随机字符串填进去比如openssl rand -hex 24把输出结果填到token字段。客户端连接时带上这个令牌才能通过认证。gateway.tailscale是内网穿透相关的开关mode设off表示不启用resetOnExit控制退出时是否重置。没有相关需求就保持off不要乱开。gateway.nodes.denyCommands是命令黑名单。列在里面的命令Agent 一律不能执行。默认已经挡掉了摄像头、录屏、通讯录、日历、短信这类敏感操作。你可以按需追加比如不想让它碰文件删除就加一条file.delete。这个列表是拒绝优先写进去的一定被拦。提示gateway改完不重启不生效。每次编辑完openclaw.json都要执行openclaw gateway restart。我踩过的坑就是改完直接测结果一直连不上折腾半天才发现是没重启。4. 验证请求确认 gateway 和 TaoToken 通道都通配置写好后分两步验证。先确认 gateway 本身起来了再确认模型请求能通过 TaoToken 通道走通。第一步重启并查看网关状态openclaw gateway restart openclaw gateway status正常的话会看到网关在18789端口监听状态是 running。如果状态是 failed先去看日志openclaw gateway logs --tail 50第二步验证端口和认证。用 curl 打一下网关的健康检查具体路径以你版本为准常见是根路径或/healthcurl -s http://127.0.0.1:18789/health如果返回需要认证带上令牌再试curl -s -H Authorization: Bearer 你的网关令牌 http://127.0.0.1:18789/health第三步验证 TaoToken 通道。直接对 TaoToken 的 API 地址发一个最小请求确认 Key 和网络都正常curl -s https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: 你的_TaoToken_Key \ -H anthropic-version: 2023-06-01 \ -d { model: claude-sonnet-4-5, max_tokens: 64, messages: [{role: user, content: ping}] }能返回一段 JSON 内容说明 Key 有效、通道可达。如果返回 401检查 Key 是否复制完整返回 404检查模型 id 是否写对返回连接超时检查本机网络和 DNS。第四步回到 OpenClaw 里发一条测试消息看 Agent 是否用上了taotoken/claude-sonnet-4-5。如果主模型报错它会自动切到fallbacks里的ollama/qwen2.5:7b这也是一种验证——说明主备切换逻辑生效了。5. 本篇常见错排查报错一gateway restart后状态仍是 failed。九成是 JSON 语法错误。用工具校验一下python3 -m json.tool ~/.openclaw/openclaw.json有报错就按提示的行号去改常见是多了逗号、少了引号、括号不配对。报错二端口被占用网关起不来。日志里会出现address already in use。查占用进程lsof -i :18789要么杀掉占用进程要么把gateway.port换成别的空闲端口然后重启。报错三本机能连局域网连不上。检查gateway.mode是不是还停在local以及gateway.bind是不是loopback。要对外就得改成network0.0.0.0同时确认auth.mode是token别用none。报错四模型请求 401 或认证失败。先确认models.providers.taotoken.apiKey填的是 TaoToken 的 Key不是网关令牌两者别搞混。再确认authHeader是true否则 Key 不会放进请求头。报错五模型 id 找不到。agents.defaults.model.primary里的写法是provider/modelId比如taotoken/claude-sonnet-4-5。provider 名要和models.providers下的键名完全一致大小写敏感。写错了就会找不到模型。报错六改了配置但行为没变。回到第一条——没重启。openclaw gateway restart是必须动作不是可选项。报错七denyCommands 没拦住。确认命令名拼写和实际调用名一致黑名单是精确匹配。不确定实际命令名的话先开着command-logger跑一次去日志里看真实命令名再填。6. 后续怎么接按场景选入口配置跑通之后日常使用会分几种情况。如果你主要是排查接入问题、管理 Key去 API Keys 和接入文档https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewritehttps://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite如果只是想快速验证某个模型在当前配置下能不能正常对话用模型对话页面最直接https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite如果你要把 OpenClaw 长期挂在编码任务或 Agent 工作流上调用频率高、对稳定性有要求Coding Plan 更合适https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite最后留一个实用习惯每次改完openclaw.json先跑python3 -m json.tool校验语法再openclaw gateway restart然后openclaw gateway status确认状态。这三步走完再测功能能省掉大部分改了没反应的无效排查。gateway 的port、mode、bind、auth四个字段是联动的改一个就顺手检查另外三个别让它们互相打架。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →