Claude Code Router AgentClaw 怎么把本机 Agent 接入 IM 机器人并完成链路验证
【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router
你在一台电脑上用 CCR(Claude Code Router)运行 Claude App、ChatGPT App、OpenCode App、ZCode App 或 WorkBuddy App 这类 Agent,现在希望离开电脑后,仍能通过手机上的 IM 平台查看 Agent 输出、继续对话、处理权限请求。AgentClaw 是 CCR 的 Agent 接力能力:本机 Agent 保留原有的工作区、登录态、配置文件、模型路由和工具权限,CCR 通过 IM Bot 为它暴露一个远程入口;锁屏并超过空闲阈值后,Agent 的后续交互会自动接力到 IM。
本文的目标是完成一条可核对的链路:创建 IM Bot → 绑定到 CCR 的 Agent 配置 → 打开目标 Agent App → 用/project、/session命令和一条普通消息验证消息双向可达。适用前提:CCR 桌面 App 已运行且网关可用;Agent 配置的入口模式必须包含 App(仅 App或CLI & APP);CLI-only Agent 不转发 Bot 消息,无法完成本场景。
前置条件逐项确认
以下四项来自 AgentClaw「使用和配置」文档,任何一项不满足,后面的验证都会失败:
- CCR 桌面 App 已运行,网关服务可用。
- 已在供应商配置中添加可用模型,或准备好要使用的 Fusion 模型。
- 已创建一个Agent 配置,且入口模式包含 App。完整 AgentClaw 接力目前支持 Claude App、Codex/ChatGPT App、OpenCode App、ZCode App 和 WorkBuddy App。
- 目标 IM 平台已准备好 Bot 凭据、应用权限或二维码登录条件。
关于支持范围:Claude App、Codex/ChatGPT App、OpenCode App、ZCode App、WorkBuddy App 完整支持 Bot 转发、接力、Project/Session;Claude Code、Codex CLI 以及 Grok CLI、Kimi CLI 可以通过 CCR 配置模型路由,但当前不转发 Bot 消息,因此不能作为本场景的执行体。
第一步:在 IM 平台准备 Bot 凭据
平台很多,主路径以 Telegram 为例——它字段最少,只需要一个Bot Token。完整字段说明见各平台文档:Telegram、Discord、飞书。
主路径:Telegram
- 在 Telegram 中搜索
@BotFather,确认用户名完全一致(官方机器人)。 - 进会话后发送
/newbot,按提示输入机器人显示名,再输入必须以bot结尾的用户名。 - 创建成功后
@BotFather会返回一段 HTTP API token,复制下来,稍后填入 CCR 的Bot Token。
只在私聊使用可以到此为止。要进群时补充两步:在@BotFather发送/setjoingroups选择允许加入群组;发送/setprivacy选择Disable关闭隐私模式(隐私模式打开时 Bot 通常只能看到命令、@ 它的消息和部分服务消息)。修改隐私设置后,建议把 Bot 移出群再重新加进来让设置生效。
token 等同于机器人密码:拿到 token 的人能完全控制这个 Bot,不要发给任何人。
可选分支:飞书或 Discord
- 飞书:在飞书开放平台开发者后台创建「企业自建应用」,复制
App ID(通常以cli_开头)和App Secret;在应用能力中启用机器人(不开机器人能力时,聊天窗口可能看不到输入框);在权限管理中至少开通「读取用户发给机器人的单聊消息」和「以应用身份发送消息」,群里使用再加「读取群聊中 @ 机器人消息」;在事件与回调中选择长连接模式并添加事件im.message.receive_v1;最后在版本管理与发布中创建版本并发布。国内飞书一般不填Domain,Lark 或特殊域环境再填。 - Discord:在 Discord Developer Portal 创建 Application 并添加 Bot,复制 Bot 页的 Token;必须在
Privileged Gateway Intents中打开Message Content Intent,否则 Bot 很可能看不到消息正文。进服务器时在OAuth2的URL Generator勾选bot和applications.commandsscope,Bot Permissions至少勾选View Channels、Send Messages、Read Message History、Embed Links、Attach Files,然后用生成的 URL 授权进目标服务器。
第二步:在 CCR 中创建 Bot
- 打开 CCR 的Bot 管理页面,点击添加 Bot。
- 选择平台(Telegram、Discord、飞书等)。
- 按平台填写凭据:Telegram 填Bot Token;飞书选App Secret认证方式,填App ID和App Secret;Discord 认证方式默认Bot Token,把 Token 填进去。
- 保存这个 Bot。
第三步:把 Bot 绑定到 Agent 配置并选择模式
- 打开目标Agent 配置,确认入口模式包含
App,例如仅 App或CLI & APP。入口模式不含 App 的配置无法进入 AgentClaw 接力。 - 打开Bot开关,选择刚保存的 Bot。
- 按使用目的选择模式:
| 模式 | 开关组合 | 适合场景 |
|---|---|---|
| 全量转发 | 开启转发 Agent 消息 | 需要在 IM 中保留完整 Agent 输出,或团队需要旁观 |
| 锁屏接力 | 开启接力,关闭转发 Agent 消息 | 离开电脑后再接收和回复 Agent |
| IM 主动调用 | 同时关闭接力和转发 Agent 消息 | 只希望从 IM 主动发起,不同步桌面输出 |
- 按需调整关键配置项:
| 配置项 | 建议 |
|---|---|
| Bot 语言 | 自动跟随 conversation;团队频道建议固定为中文或英文 |
| 最长 turn 时间 | 根据 Agent 任务时长设置;超时后 CCR 会中断 turn 并回报最终状态 |
| Session 空闲重置 | 0表示不自动重置;需要每次离开都准备新会话时再设置分钟数 |
| 消息分片字符数 | 按平台消息长度限制设置;Slack/Discord 可稍大,微信/LINE 建议保守 |
| 附件上限 / 收发附件 | 限制 IM 入站文件大小;需要图片、文件和工作区产物回传时开启收发附件 |
| 流式回复 | 需要实时看到输出时开启;平台限制严格时可关闭 |
| 允许 Agent 使用 Shell 工具 | 只影响 Agent 工具权限,不会给 Bot 增加 shell 命令;只在可信 Agent、可信工作区和可信 IM conversation 中开启 |
- 保存 Agent 配置,然后从 CCR 重新打开目标 Agent App(Claude App、Codex/ChatGPT App 等)。再次打开同一配置会激活已有窗口。AgentClaw 只在受管 App 存活期间在线:App 退出后 Bot 连接会停止,使用接力时请保持 Agent App 打开。
第四步:完成链路验证
按「使用和配置」文档给出的验证顺序执行:
- 从 CCR 打开目标 Agent App。
- 在 IM 发送
/project current,确认 Bot 在线且能读取当前 Project。 - 发送
/session list,确认能列出当前 Project 下的 Session。 - 发送一条普通消息,确认 Agent 能执行并把回复发回同一个 IM conversation。
- 锁屏电脑,等待超过接力空闲秒数,确认后续 Agent 消息进入 IM(仅接力/转发模式)。
- 关闭 Agent App,确认 Bot 状态变为离线。
前四项都通过即说明「Bot 在线、Project/Session 可读、消息双向可达」这条主链路成立。Telegram 文档把成功标准概括为:IM 里能看到 Agent 消息,你回复后 Agent 也能继续。
需要新会话或响应权限请求时,可用这些命令(管理命令即时响应,普通自然语言会作为 prompt 进入 Agent):
/project list /project use 1 /session new 修复登录问题 /session approve /session deny /session answer 选择第二个方案 /session status状态和诊断有两个入口:Profile 卡片会显示 Bot 连接、最后事件、最后投递、待投递数量和脱敏错误;在 IM 发送/session doctor会返回同类诊断,/session deliveries查看最近投递。
Bot 收不到消息时检查哪几环
「消息链路中任何一环断开都会表现为收不到消息」。按 FAQ 给出的顺序依次检查:Bot 开关、消息转发设置、平台 Token、回调配置,以及 Agent 是否是从 CCR 打开的(而不是直接从系统打开的)。
各平台的典型现象和对应检查项:
| 现象 | 检查项 |
|---|---|
| Telegram 认证失败 | 重新复制 Bot Token;重置过 token 的话旧 token 立刻失效,要在 CCR 更新并重启 |
| Telegram 私聊可用、群不可用 | 机器人是否进群、群权限是否允许它读消息;群里只有/command能触发时检查/setprivacy或把 Bot 设为群管理员 |
| 飞书认证失败 | 重新复制 App ID 和 App Secret |
| 飞书聊天窗口没有输入框 | 机器人能力是否开启、事件订阅是否配置、应用是否发布到当前成员可见范围 |
| 飞书群里没响应 | 先 @ 机器人测试,确认事件订阅包含im.message.receive_v1 |
| Discord Bot 没响应 | 先确认 Bot Token 复制对了 |
| Discord Bot 在线但看不到消息内容 | Message Content Intent是否打开 |
| 接力不触发 | 电脑是否已锁屏、接力是否已开启、空闲时间和目标设备设置 |
边界与限制
- AgentClaw 跟随从 CCR 打开的 Agent App:App 退出时 Bot 连接停止,CLI-only Agent(Claude Code、Codex CLI、Grok CLI、Kimi CLI)只走模型路由、不进入 AgentClaw 接力。
- 接力当前使用屏幕锁定和空闲时间判断;手机 Wi-Fi / 蓝牙目标仍是实验配置,不参与当前运行时判断。
- IM 端只有
/project和/session两个命令域,其他 slash command 返回未知命令;help、list这类普通文本会作为 prompt 进入 Agent。 - 同一个 IM conversation 中的普通消息按顺序执行,排队、取消、超时和 worker 重启恢复都有明确状态,可用
/session status查看、/session cancel清空队列。 - Shell 权限仍由 Agent 配置控制,IM 侧的开关不会给 Bot 本身增加 shell 能力。
更多背景见 AgentClaw 总览 与 使用和配置;各平台完整字段与发布步骤见上文链接的 Telegram、Discord、飞书文档。
【免费下载链接】claude-code-routerOne local control plane for every AI agent: route across models, fuse new capabilities, orchestrate tools, and stay fully in control.项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-router
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考