刚刚 Openclaw 推出了史上最密集的一次更新这次更新带来了很多非常实用的功能其中最吸引我的当属 ACP Agent。以 Telegram 为例。Telegram 的 forum supergroup 支持 topic话题线程。每个 topic 就像是群里的一个独立房间有自己的标题、自己的消息流、自己的讨论线程。OpenClaw 支持把每个 topic 当成一个独立的工作台。但这次更新带来了更不一样的体验。你不再只是在 Telegram 里和 Openclaw 机器人说话你是在某个固定 Topic 里和一个专门负责这件事的 Codex / Claude Code CLI 长期协作。这个功能到底是什么先给一个最容易理解的定义Telegram topic 绑定 ACP agent就是把 Telegram 群组里的某个 Topic当作一个外部 ACP 会话的固定入口。以后这个 Topic 里的消息会持续路由到那个 ACP agent而不是走默认主助手。这里有四个关键词1Topic 是什么Telegram 的 forum supergroup 里可以把一个大群拆成多个 Topic。每个 Topic 本质上就是一个独立讨论线程。你可以把它理解成• 同一个大群里的多个小工作区• 每个 Topic 各聊各的互不打扰• 对 OpenClaw 来说每个 Topic 都可以被视为独立上下文2ACP agent 是什么ACP 是 Agent Client Protocol。它的意义不是再造一个聊天机器人而是让 OpenClaw 能接上外部 agent runtime。比如• codex• claude• gemini• opencode• pi这些可不是简单的将 Openclaw 换了个人设而是直接接入外部运行时。也就是说OpenClaw 不只是自己回答还能把任务交给这些外部 coding harness 去做。3绑定是什么意思绑定的意思是某个 Telegram Topic不再只是普通聊天位置而是和某个 ACP session 建立持续关系。可以让每个 topic 绑定到不同的 agent比如 topic A 用 Claudetopic B 用 Codex持久化的 ACP session一个长期运行的 coding session带完整上下文和工作空间动态创建的专属线程在聊天中直接 spawn 一个新 agent当场绑定这意味着什么Topic A需求讨论用通用 agent轻量级对话Topic BBug 修复绑定到一个持久化的 Codex session带完整 repo 上下文Topic CCode Review绑定到 Claude Code专注代码质量和架构Topic D运维排障动态 spawn 一个临时 agent用完就走每个 topic 有自己的上下文、自己的会话历史、自己的工作空间。它们互不干扰各司其职。4为什么这很重要因为这意味着你终于可以把“AI 协作”从一个混乱的大聊天窗口里剥离出来。以前是• 一个群里什么都聊• 机器人什么都看• 上下文容易串• 代码任务、日常讨论、临时吐槽混成一锅粥现在是• Topic A专门跑 Codex 修 bug• Topic B专门让 Claude Code 写文档• Topic C主助手做人类沟通和调度它解决了什么问题问题 1外部 coding agent 缺少自然入口Codex、Claude Code 强是真强。但很多时候它们的问题不是能力不够而是不能随时随地使用。你得切 CLI、切终端、切会话、记上下文、盯状态。技术人能忍团队协作就很难优雅。现在如果一个 Telegram Topic 就能承载一个 ACP agent• 人类仍然在熟悉的聊天界面里工作• 外部 agent 在背后持续跑• Topic 成了天然的任务入口这就舒服多了不是每个人都想天天盯着命令行。问题 2一个群里多个 AI 角色很难共存Topic ACP 的组合终于让一个群里多个角色的设计变得清晰• 主 agent负责解释、协调、路由• Topic agent负责某一类长期任务执行• 每个 Topic 都有自己的职责边界这才像团队协作嘛。原理是什么Telegram Topic 在这里扮演的是 thread binding 的载体。也就是说OpenClaw 把 Telegram Topic 看成线程。1Telegram Topic ”Thread 的 Telegram 形态“在支持 thread binding 的渠道里OpenClaw 会把“会话绑定”挂到某个 thread 上。而在 Telegram 里这个 thread 对应的就是• forum supergroup 的 Topic• 某些情况下的 DM topic / thread-aware routingTelegram 的 group session 会按 group ID 隔离forum topics 会附加:topic:threadId来保持 topic 隔离。也就是说在会话键层面它不是一个普通群消息而是类似chatId:topic:topicId这就是为什么 Topic 能成为绑定单位。2ACP session 是什么当你启动一个 ACP 会话时OpenClaw 会创建一个外部 runtime session。它的 session key 形态通常是agent:agentId:acp:uuid比如•agent:codex:acp:...•agent:claude:acp:...这个 session 不等于 Telegram 会话本身。它是OpenClaw 管理下的一个外部 agent runtime 会话。3绑定发生了什么绑定之后本质上是• Telegram Topic 这一侧有一个peer.id chatId:topic:topicId• ACP 会话这一侧有一个agent:agentId:acp:uuid• OpenClaw 在中间保存这层映射关系于是后续就变成这个 Topic 的消息 - 路由到这个 ACP sessionACP session 的输出 - 回发到这个 Topic这就是所谓的 thread-bound ACP session。4sessions_spawn(runtimeacp, threadtrue, modesession)又是什么这是程序化启动方式。它的意思非常直白•runtime: acp不要走原生 sub-agent要走 ACP 外部 runtime•thread: true要求绑定到一个 thread•mode: session不是一次性 run而是持久会话如果这个 channel 支持 thread binding那么它就能把当前 thread在 Telegram 里就是 Topic 语义和这个 ACP 会话绑起来。所以这几个概念的关系是• Telegram Topic聊天面的线程载体• thread binding把线程和 session 绑定的机制• ACP agent外部 coding harness 运行目标• sessions_spawn创建这个会话的工具入口• modesession让它不是一次性回复而是持续协作一句话概括Topic 是工位ACP session 是工人thread binding 是工牌sessions_spawn 是入职流程。三、核心概念三种绑定方式的区别在开始配置之前你必须先搞清楚三个概念。这是很多人用错的地方。1topic.agentId静态路由这是最简单的方式。你在配置文件里指定topic 3 用 agent Atopic 5 用 agent B。{ channels: { telegram: { groups: { -1001234567890: { topics: { 1:{agentId:main }, 3:{agentId:zu }, 5:{agentId:coder } } } } } }}这种方式的特点静态配置提前在配置文件里写好轻量级按 topic 分流到不同 agent适合场景日常对话、快速问答、不同角色分工注意agentId不会继承 group 的默认值。你必须为每个 topic 显式指定。2bindings.type acp持久化绑定这是高级玩法。你把一个 topic 直接绑定到一个持久化的 ACP session。{ agents: { list: [ { id: codex, runtime: { type: acp, acp: { agent: codex, backend: acpx, mode: persistent, cwd: /workspace/openclaw } } } ] }, bindings: [ { type: acp, agentId: codex, match: { channel: telegram, accountId: default, peer: { kind: group, id: -1001234567890:topic:42 } } } ], channels: { telegram: { groups: { -1001234567890: { topics: { 42: { requireMention: false } } } } } }}这种方式的特点持久化 session这个 ACP session 会一直运行完整工作空间带cwd可以直接在项目目录里工作长期上下文讨论历史、代码状态、任务进度都能连起来适合场景长期项目维护、复杂 Bug 修复、持续 Code Review这种玩法相当于给这个 topic 配了一个专职程序员它会一直在那个工作目录里待命记得你们之前聊过的所有事情。3Thread-bound spawn聊天内动态创建这是最灵活的方式。你在某个 topic 里直接输入命令/acp spawn codex --thread hereOpenClaw 会创建一个新的 ACP session把它绑定到当前 topic把确认消息 pin 在 topic 里后续这个 topic 的所有消息都会自动路由到这个 session要启用这个功能需要在配置里打开{ channels: { telegram: { threadBindings: { spawnAcpSessions: true } } }}这种方式的特点即时创建不需要提前写死非常灵活适合临时拉一个专属开发线程适合场景突发需求、快速原型、临时排障四、配置实战从简单到高级Level 1按 topic 指定agentId最小可用配置就是把不同 topic 路由到不同 agent{ channels: { telegram: { groups: { -1001234567890: { topics: { 1:{agentId:main }, 3:{agentId:reviewer }, 5:{agentId:debugger } } } } } }}这样一来Topic 1 处理通用讨论Topic 3 处理 Code ReviewTopic 5 处理 Bug 修复Level 2定义 ACP Agent如果你要接 Codex、Claude Code 这类外部 coding agent就先在agents.list里定义它们{ agents: { list: [ { id: codex, runtime: { type: acp, acp: { agent: codex, backend: acpx, mode: persistent, cwd: /workspace/my-project } } }, { id: claude-code, runtime: { type: acp, acp: { agent: claude-code, backend: acpx, mode: persistent, cwd: /workspace/docs } } } ] }, channels: { telegram: { groups: { -1001234567890: { topics: { 3:{agentId:codex}, 5:{agentId:claude-code } } } } } }}Level 3把特定 topic 绑定到 persistent ACP如果你希望某个 topic 本身就是一个长期运行的专属开发线程用bindings[]{ agents: { list: [ { id: openclaw-dev, runtime: { type: acp, acp: { agent: codex, backend: acpx, mode: persistent, cwd: /workspace/openclaw } } } ] }, bindings: [ { type: acp, agentId: openclaw-dev, match: { channel: telegram, accountId: default, peer: { kind: group, id: -1001234567890:topic:42 } } } ], channels: { telegram: { groups: { -1001234567890: { topics: { 42: { requireMention: false } } } } } }}这样配置后topic 42就成了一个长期开发线程。你今天在里面讨论方案明天继续改代码后天补测试agent 都能记住。真实场景场景 1多项目团队协作你有一个 AI 开发群里面开了四个 topic需求讨论Bug 修复Code Review运维排障每个 topic 绑定不同 agent。于是同一个群不同线程各干各的不会串台。场景 2长期维护一个 repo你把某个 topic 固定绑定到 Codex 的 persistent ACP session。以后这个 topic 就等于这个 repo 的驻场开发位。你不需要每次重新解释项目结构不需要每次重新喂上下文。这个 agent 会一直待在那个工作目录里持续跟进。场景 3Claude Code 做文档和方案设计另一个 topic 绑定到 Claude Code。 它不一定天天改代码但特别适合做架构讨论文档整理重构方案设计PR 分析和 review场景 4聊天中临时升级成专属线程群里有人突然说“这个问题有点复杂直接使用 codex 来解决吧。“这时候你直接/acp spawn codex --thread here当前 topic 立刻升级成一个专属开发线程。不用改配置不用切工具不用重新建立上下文。最后说到底这个功能最值钱的不是能不能在 Telegram 里调 agent那只是表象。真正值钱的是它在重塑一件事聊天工具开始进化出了工作流能力。以前群聊是沟通层真正干活的系统在群外。现在随着 Topic 绑定 ACP session 这种能力出现聊天界面本身开始变成工作入口、工作容器、工作上下文。你不是在群里喊一个机器人帮忙。你是在群里某个工位持续和一个外部 agent 协作。这个变化很小吗一点都不小。这是协作界面从消息面板往任务操作系统迈出的一小步。而所有真正重要的新能力刚开始看起来都像个小按钮。等你反应过来时工作方式已经彻底变了。