资讯动态

OpenClaw 最短落地教程:用生产容器从 0 到 1 配出 Telegram -> ops-agent 的 TaoToken 接入骨架

发布时间:2026/9/28 4:15:10 来源:尧图企业网站定制
1. 为什么你的 OpenClaw 容器里 Telegram 消息进不了 ops-agent如果你正在用 OpenClaw 的生产容器跑 Telegram 机器人大概率会遇到一个很别扭的状态容器起来了Telegram 渠道也接上了但消息进来之后没有落到你想要的 ops-agent 上而是被系统默认逻辑接走或者干脆静默丢掉。更让人困惑的是打开 Control UI 的 agents 页面可能连 Create agent 按钮都看不到页面上还飘着一行 origin not allowed。这不是你操作错了。OpenClaw 2026.3.2 这个版本里Control UI 的 agent 创建入口在公网 http 访问下经常拿不到完整数据指望在 UI 里点按钮把 ops-agent 建出来成功率很低。真正稳的路径是反过来先进容器用 CLI 把 agent 建好、把 Telegram 绑定好、把子 agent 的并发限制写进配置最后再回 UI 做验收。这篇就是按这个顺序把 Telegram - ops-agent 这条最短链路从 0 到 1 配出来全程用可复制的命令和配置骨架不掺概念。适合谁看已经在 Docker 里跑着 OpenClaw 生产容器、Telegram bot token 已经拿到、想让消息明确路由到一个独立 ops-agent 的人。做完之后你能确认四件事容器里多了一个 ops-agent、Telegram 已经显式绑定到它、子 agent 的基础并发参数已经写进配置、channels status --probe 返回 works。飞书、Discord、多 bot 编排这些先不碰把最短路径跑通再说。2. TaoToken 前置统一 Key 和 API 通道别让模型调用散在各处在动手配 OpenClaw 之前先把模型调用这一层收口。OpenClaw 里 agent 的模型字段是可以指向不同 provider 的如果你每个 agent 都单独配一套 key 和 endpoint后面排障会非常痛苦——到底是 Telegram 路由问题还是模型通道问题分不清。我的做法是统一走 TaoToken 的 API 通道一个 Key 覆盖对话和编码类模型OpenClaw 侧只认一个 base_url 和一个 api_key。TaoToken 在这里扮演的角色很单纯它是一个兼容 OpenAI 风格接口的统一入口你把 OpenClaw 的模型 provider 指向它agent 在跑推理时就走这条通道出去。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基址是 https://taotoken.net/api 注意 API 地址后面不加任何 UTM 参数配置里写干净的这个就行。你需要提前准备两样东西一个 TaoToken 的 API Key以及确认你要用的模型名。Key 在控制台的 API Keys 页面生成地址是 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。生成之后先别急着往 OpenClaw 里塞建议先用模型对话页面做一次最小验证确认这个 Key 和模型名是通的页面在 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 。提示OpenClaw 的 agent 模型字段格式通常是 provider/model 这种带斜杠的写法。你如果走 TaoToken 统一通道provider 名可以自定义成 taotoken 之类模型名按 TaoToken 文档里列出的实际名称填别自己拼。这一步做完你手里应该有一个能用的 Key、一个确认可用的模型名、一个干净的 API base。接下来所有 OpenClaw 配置里的模型调用都指向这一套不再散落。3. 可复制配置config.toml 与 settings.json 骨架OpenClaw 的配置分两层一层是容器级的 openclaw.json有些版本里对应 config.toml 的语义管 provider、gateway、channels 这些全局项另一层是 agent 级的 settings.json管单个 agent 的 workspace、模型、子 agent 限制。下面给的是可复制骨架你按自己的容器名、Key、模型名替换占位符即可。先看 provider 和 gateway 这一段写进容器里的 ~/.openclaw/openclaw.json{ providers: { taotoken: { type: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoTokenKey, models: [你的模型名] } }, gateway: { controlUi: { allowedOrigins: [ http://你的IP:19000, http://localhost:19000 ] } }, channels: { telegram: { enabled: true, botToken: 你的TelegramBotToken, groupPolicy: allowlist, groupAllowFrom: [] } } }这里有两个点值得单独说。allowedOrigins 一定要把你实际访问 UI 用的来源写进去否则页面能打开但拿不到数据你会误以为配置没生效。groupPolicy 保持 allowlist、groupAllowFrom 先留空意味着群消息会被静默丢掉但私聊不受影响——第一版最短教程就走私聊群聊后面单独处理。再看 agent 级的 settings.json路径在 ~/.openclaw/agents/ops-agent/agent/settings.json{ agentId: ops-agent, displayName: Ops Agent, workspace: ~/.openclaw/workspace-main, model: taotoken/你的模型名, subagents: { maxConcurrent: 2, maxSpawnDepth: 2, maxChildrenPerAgent: 4 } }这三个子 agent 数字是第一版落地的保守值maxConcurrent 控制同时跑的子 agent 数maxSpawnDepth 控制嵌套深度maxChildrenPerAgent 控制单个 agent 能派生的子 agent 上限。先按 2/2/4 来等链路稳了再调。注意改配置前先备份。进容器执行 cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.before-ops-agent.bak配坏了直接拷回来重启容器就行。4. 从容器到消息回环完整命令与验证结果配置骨架有了接下来是把它落到运行中的容器里并做一次真实的消息回环验证。整个过程分六步每步都有明确的成功标志任何一步不对就别往后走。第一步找到你的 OpenClaw 容器名。在宿主机执行docker ps --format table {{.Names}}\t{{.Image}}\t{{.Ports}}记下 OpenClaw 那一行的 Names比如 openclaw-ORD17742461621975243。然后进容器docker exec -it openclaw-ORD17742461621975243 sh第二步确认当前是不是只有 main、没有绑定。在容器里执行openclaw agents list openclaw agents bindings原始状态通常只有一个 mainbindings 是空的。确认是空的再继续。第三步创建 ops-agent 并把 Telegram 绑给它。这是最核心的一条命令openclaw agents add Ops Agent \ --workspace ~/.openclaw/workspace-main \ --agent-dir ~/.openclaw/agents/ops-agent/agent \ --model taotoken/你的模型名 \ --bind telegram \ --non-interactive \ --json成功的话输出里 agentId 会被规范成 ops-agentbindings.added 里出现 telegram。这里报错就先解决别硬往后走。第四步把子 agent 的基础限制补进去openclaw config set agents.defaults.subagents.maxConcurrent 2 openclaw config set agents.defaults.subagents.maxSpawnDepth 2 openclaw config set agents.defaults.subagents.maxChildrenPerAgent 4第五步重启容器避免“你这边没生效、我这边生效”的扯皮。回宿主机执行docker restart openclaw-ORD17742461621975243等几秒再继续。第六步回归检查这一步不要省openclaw config validate openclaw agents list openclaw agents bindings openclaw channels status --probe --timeout 15000我实测跑出来的结果是config validate 返回 Config validagents list 里有 ops-agentbindings 里出现 ops-agent - telegramchannels status --probe 里 Telegram 返回 works。看到 works这条链路就算通了。最后做一次真实消息回环在 Telegram 里给你的 bot 发一条私聊消息比如“ping”观察 ops-agent 是否收到并回了一条。如果回了说明 Telegram - ops-agent - TaoToken 模型通道 - 回复 这条完整回环是通的。这一步比任何 CLI 输出都直观。5. 本篇常见错排查origin not allowed、0 configured、群消息静默丢配的过程中有几个坑几乎人人会踩单独拎出来说清楚省得你反复试。第一个UI 页面显示 origin not allowed 或者 0 configured。这大概率不是配置没成功而是你访问 UI 的方式和 allowedOrigins 不匹配。公网 http 直接打开、来源没放行页面能渲染但拿不到完整数据。判断标准以 CLI 回归结果为准不以公网 UI 页面显示为准。把实际访问来源加进 gateway.controlUi.allowedOrigins重启容器再看。第二个channels.telegram.groupPolicy is allowlist but groupAllowFrom is empty 这个警告。它的意思是 Telegram 群消息会被静默丢掉。如果你第一版只做私聊这个警告可以忽略不影响私聊链路。等你要做群聊了再单独处理 groupPolicy 和 groupAllowFrom别混在这一篇里一起做不然教程立刻变复杂。第三个agent 创建命令报错。常见原因是 workspace 路径不存在、agent-dir 父目录没建、或者模型名写错。先确认 ~/.openclaw/workspace-main 存在再确认模型名和 TaoToken 文档里一致。模型名不对的话agent 能建出来但一跑推理就失败表现是消息进来了但没回复。第四个重启后 bindings 又空了。这通常是配置没写进持久化文件只是运行时改了。用 openclaw config set 写的项会落盘但如果你手动改的是临时文件重启就丢。改完用 openclaw config validate 确认一遍再重启。第五个消息进来了但回复很慢或超时。先看 channels status --probe 的 timeout 是不是设太短再看 TaoToken 通道那边模型是否可用。用模型对话页面单独测一次同一个模型名能快速区分是 OpenClaw 侧问题还是通道侧问题。6. 下一步把这条最短链跑稳再谈编排到这一步你的 Telegram 入口已经不再是系统默认乱接而是明确路由到了 ops-agent模型调用也统一走了 TaoToken 通道。这条最短链的价值在于它是一个可回归的基线以后不管加什么你都能用 config validate、agents list、agents bindings、channels status --probe 这四条命令快速判断有没有配坏。如果你后面要长期跑编码类或 Agent 类任务建议把模型通道和额度单独规划一下Coding Plan 页面在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 接入细节和参数说明看文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。需要新建或轮换 Key 的时候回 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。真正值得继续做的下一步是给 ops-agent 加编排提示、再拆内部 worker agent、最后做多 agent 协作。但别一上来就同时配 Telegram、飞书、Discord、多个外部 bot 和多层编排那样最容易乱。先把 Telegram - ops-agent 这一条跑稳再往上叠。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑