Claude Code扩展工具——Channels
在正常的项目开发中,产品经理提需求、开发实现、测试验证、最后上线,这是比较成熟的一套流程,适合处理完整的功能开发。
但在项目进入维护阶段后,很多需求其实只是一些小改动,比如文案调整、配置修改,或者局部逻辑优化。如果这类改动还按照原来的完整流程推进,往往会让简单问题变得处理周期很长,不仅增加开发的沟通和排期成本,也会影响业务侧的使用效率。
与此同时,AI 工具的发展也带来了新的可能。像 Claude 这样的工具,已经具备一定的代码理解和修改能力,能够辅助完成一些相对简单的开发工作。这就引出了一个值得思考的问题:对于维护阶段的大量小需求,是否有机会通过 AI 缩短中间链路,让需求更快落地?
不过,这件事并不能简单理解为“把 Claude 交给产品来用”。一方面,Claude 的使用方式更偏向代码层面,产品同学通常缺少直接操作代码的能力;另一方面,让非研发角色直接进入开发环境,本身也存在较大的管理和安全风险。
所以,问题的关键并不只是工具能力够不够,而是是否能够围绕现有协作方式,设计出一套适合维护场景的流程机制,让 AI 在可控的前提下真正参与到小需求的处理过程中。
整个流程
1. 搭建 ClaudeWeb 平台
开发一个 ClaudeWeb 平台,用来统一管理多个处于维护阶段的项目。产品经理可以在这个平台中选择对应的项目,直接与该项目绑定的 Claude 进行交互,描述需求和修改内容。
2. 打通 ClaudeWeb 与 Claude 的通信
ClaudeWeb 负责在产品经理和 Claude 之间建立通信,把需求准确传递给 Claude,同时接收 Claude 的执行结果和反馈,从而打通产品与项目代码之间的使用壁垒。
3. 由 Claude 在项目内完成代码修改
Claude 在对应项目的运行环境中工作,根据产品经理提出的需求完成代码更新。
同时,它的操作需要受到项目规则和权限范围的限制。为了保证代码质量,可以提前配置好相关的 skills、开发规范、rules、hooks 等机制,用于代码检查、测试执行和开发约束,尽量避免异常修改和不规范代码进入项目。
4. 产品经理在测试环境验收改动
代码修改完成后,产品经理通过测试地址查看效果,确认改动是否符合预期,是否存在问题。验证通过后,再由产品经理在页面上发起提交 Git 的操作。
5. 通过流水线完成发布上线
流水线持续监听 Git 仓库的变更。在检测到新的版本提交后,自动执行后续发布流程,并完成上线。
Claude Channels 简介
这个方案里,最关键也最难的一点,是如何打通开发机上的 Claude 客户端和 ClaudeWeb 平台。只有这条链路建立起来,产品经理在 Web 端提出的需求,才能真正传递到具体项目中的 Claude,并由它完成后续操作。本文要介绍的核心能力,就是这个问题的解决方案:Claude Channels
这是什么?
Claude Channels 本质上是一套基于 MCP(Model Context Protocol)的插件机制。它通过 MCP 协议,在 Claude Code 和外部消息平台之间建立一条通信通道,让原本只在本地开发环境中工作的 Claude,具备远程接收消息、理解指令并返回结果的能力。
可以把它理解为一座桥:
一边连接开发机上的 Claude,另一边连接 ClaudeWeb 这样的上层平台。通过这座桥,平台侧发出的需求和指令可以传递给 Claude,Claude 的执行结果、状态反馈和处理过程也可以再返回到平台侧。
也就是说,Claude Channels 解决的并不是“让 Claude 更聪明”,而是“让 Claude 能接入现有流程”,从而真正成为整个维护链路中的一个可用节点。
消息流转过程
1 | 消息平台(Telegram/Discord/iMessage) |
代码实践
前期准备及各模块的作用
- 首先需要准备 Claude 客户端,可参考Claude Code基础概念及使用手册,并且 Claude 版本需要为最新版本(v2.1.80+)。
- GO代码库:用于开发 MCP Server 及 HTTP Server
- vue-element-admin:用于开发前端
- android_analysis_platform:这是我们维护阶段的一个项目,用来作为测试
- 这里我们的 MCP 使用的是 stdio 通信方式,因为 stdio 的方式更加方便,当然也可以使用其他的方式。
Channel MCP Server 开发
这里只列出关键的节点代码
- mcp.go
1 | package channel |
- session.go
1 | package channel |
- websocket.go(用于与前端通信)
1 | package channel |
android_analysis_platform 注册自定义 MCP 插件
在项目下创建.mcp.json文件
1 | { |
执行以下命令即可启动 MCP Server :
1 | claude --dangerously-load-development-channels server:claude-web |
如果不期望 Claude Cli 一直打开这,不能停止,可以使用tmux来启动 Claude
前端代码
前端代码就是一个聊天窗口,不过需要支持收取事件授权(只贴出来部分代码):
1 | _doConnect() { |