WeClaw Agent Hub:让多个 AI Agent 坐在同一张桌子前
当 Claude、Gemini、DeepSeek 各自在自己的对话框里"闭门造车"时,你有没有想过——如果它们能互相读到对方的输出,会碰撞出什么?
一个凌晨三点的灵光
2026年4月2日凌晨,微信群里正在进行一场关于"AI代理是否会替代人类决策"的辩论。正方是 Claude,从哲学角度论证人工智能代理的必然性;反方是 DeepSeek,从技术可行性和伦理风险出发逐一反驳。最后由 PS Agent 担任裁判,给出评分和总结。
这不是一场预先编排好的 Demo。Claude 不知道 DeepSeek 说了什么,DeepSeek 也没看过 Claude 的论点——直到裁判读到了两方的完整论述并给出公正评判。
这一切的背后,是一个刚刚上线几个小时的新功能:WeClaw Agent Hub。
什么是 WeClaw Agent Hub
WeClaw 是一个用 Go 语言编写的微信 AI Agent 桥接服务。它的核心能力很简单:你在微信里发消息,WeClaw 把消息转发给你指定的 AI Agent(Claude、Gemini、DeepSeek 等),再把 Agent 的回复转发回微信。
但这里有一个根本性的限制:每个 Agent 的对话是完全隔离的。Claude 看不到你和 Gemini 聊了什么,DeepSeek 不知道 Claude 上一轮给出了什么建议。每个 Agent 都活在自己的信息茧房里。
Agent Hub 就是为了打破这堵墙而生的。
它的核心思路极其朴素——用一个共享文件夹做黑板。Agent A 在黑板上写下自己的分析,Agent B 走过来读一遍,然后写出自己的反驳。没有复杂的数据库,没有分布式锁,没有 RPC 调用。就是文件系统,人类最古老的共享方式。
微信 ←→ WeClaw
│
├── Claude(隔离会话)
├── Gemini(隔离会话)
├── DeepSeek(隔离会话)
│
└── Agent Hub(共享黑板)
│
└── ~/.weclaw/hub/shared/
两个指令,无限可能
Hub 只引入了两个核心指令,但组合起来能衍生出非常丰富的协作模式。
/save — 说完话,把结果钉在黑板上
/save round1.md 从哲学角度分析AI代理是否会替代人类决策
这条指令做两件事:把"从哲学角度分析AI代理是否会替代人类决策"发给当前 Agent,然后把 Agent 的完整回复保存到 Hub 共享目录下的 round1.md 文件中。
也可以指定特定的 Agent:
/save round1.md @claude 从哲学角度分析AI代理是否会替代人类决策
/hub — 走到黑板前,读一读别人写了什么
/hub round1.md 从技术可行性和实用主义角度反驳以上观点
这条指令先把 round1.md 的内容注入到消息前面,然后连同你的指令一起发给 Agent。Agent 看到的实际上是:
=== Agent Hub Shared Context ===
--- round1.md ---
---
agent: claude
timestamp: 2026-04-02T01:30:00+08:00
---
# Claude 的哲学分析
[Claude 的完整回复内容]
=== End Hub Context ===
从技术可行性和实用主义角度反驳以上观点
这样 Agent 就能基于前文的完整上下文给出有针对性的回应,而不是凭空讨论。
当然,你也可以不指定文件名,直接 /hub 你的指令,它会注入所有共享文件。或者用 /hub ls 查看共享目录里有什么文件,用 /hub clear 一键清空。
设计哲学:简单到近乎固执
在实现 Agent Hub 的过程中,有几个关键的设计决策值得展开说说。
文件系统 > 数据库
为什么不把共享数据存进 SQLite、Redis 或者 PostgreSQL?因为 Hub 的核心场景是人类可读的、结构松散的文本共享。Markdown 文件可以被任何文本编辑器打开,可以用 cat 命令直接查看,可以用 Git 追踪变更历史,甚至可以手动编辑。数据库固然强大,但在"几个 Agent 之间传递几段文字"这个场景下,它引入的复杂度远大于收益。
Markdown + YAML Frontmatter
每个保存到 Hub 的文件都自动加上 YAML 头信息:
---
agent: claude
timestamp: 2026-04-02T01:30:00+08:00
---
这段元数据记录了这段内容由哪个 Agent 在什么时间产出。未来可以扩展更多字段(session ID、标签、轮次编号等),但核心结构永远是人类可读的 Markdown。
Opt-in 而非 Opt-out
Hub 的所有操作都是通过显式指令触发的。Agent 的默认会话不会被 Hub 内容污染。你必须在消息中主动使用 /hub 或 /save,上下文才会流动。这是一个刻意的边界选择——隔离是默认态,共享是需要主动申请的特权。
会话隔离
当使用 Hub 相关指令时,WeClaw 会自动切换到独立的会话 ID(使用 hub: 前缀),确保 Hub 协作过程中不会带入 Agent 在普通会话中的历史上下文,避免对话被之前的讨论带偏。
玩法合集:Hub 的十二种打开方式
基础能力就位了,有意思的其实是上层的工作流。以下是一些已经验证或值得尝试的玩法。
1. 多 Agent 辩论赛
这是最经典的用法,也是 Hub 诞生的直接原因。
/save round1.md @claude AI代理应该替代人类做高风险决策
@deepseek /hub round1.md 从安全工程角度反驳
/save round2.md @deepseek 从安全工程角度反驳
@claude /hub round2.md 回应安全派的反驳
@ps /hub 请评判双方论点
每个 Agent 基于自己擅长的领域(哲学、技术、安全、伦理)给出不同角度的分析,最终由另一个 Agent 做裁判。结果往往出乎意料——AI 的辩论质量比大多数人预想的要高。
2. 接力创作
写长文时的经典痛点是"开头激情澎湃,中间渐入佳境,结尾草草了事"。接力创作让不同 Agent 负责不同阶段:
/save outline.md 写一个关于量子计算科普文章的大纲
@gemini /hub outline.md 基于大纲扩写完整文章,3000字
/save article.md @gemini 基于大纲扩写完整文章,3000字
@claude /hub article.md 作为编辑,审查文章逻辑和表达
/save final.md @claude 根据编辑意见修改文章
@deepseek /hub final.md 用简单通俗的语言重写,面向中学生
Claude 擅长逻辑审查,Gemini 擅长扩写生成,DeepSeek 擅长简化表达——让每个 Agent 做自己最擅长的事。
3. 多视角技术评审
当你有一个技术方案需要评审时,可以同时从多个角度审视:
/save proposal.md 详细描述你的技术方案
@claude /hub proposal.md 从架构设计和可维护性角度评审
@deepseek /hub proposal.md 从性能和安全角度评审
@gemini /hub proposal.md 从用户体验和实现成本角度评审
/hub 综合三方评审意见,给出最终建议
4. 红蓝对抗
安全领域经典方法,让一个 Agent 扮演攻击者,另一个扮演防御者:
/save threat_model.md @claude 作为安全专家,分析这个系统的攻击面
@deepseek /hub threat_model.md 作为系统设计师,针对每个威胁给出防御方案
/save defenses.md @deepseek 针对每个威胁给出防御方案
@claude /hub defenses.md 评估这些防御方案的绕过可能性
5. 角色扮演式头脑风暴
让不同 Agent 扮演不同的利益相关者,进行模拟讨论:
/save requirements.md 产品需求文档
@claude /hub requirements.md 你是技术负责人,评估实现难度
@gemini /hub requirements.md 你是产品经理,权衡优先级
@deepseek /hub requirements.md 你是用户代表,表达真实诉求
/hub 综合三方观点,给出折中方案
6. 翻译+审校流水线
需要高质量翻译时,让一个 Agent 翻译,另一个审校:
/save original.md 放入需要翻译的英文原文
@deepseek /hub original.md 翻译为中文,保持专业术语准确
/save translation.md @deepseek 翻译为中文
@claude /hub translation.md 审校翻译质量,修正表达不当之处
7. 知识蒸馏
让一个能力强但成本高的 Agent(如 Claude)生成高质量内容,再让一个轻量 Agent 总结提炼:
/save research.md @claude 深入研究并撰写关于XX主题的详细报告
@deepseek /hub research.md 将以上报告提炼为500字的执行摘要
8. 追问式深度分析
对一个复杂问题进行逐层深入:
/save layer1.md 分析XX问题的表面现象
@claude /hub layer1.md 基于表面现象,深入分析根本原因
/save layer2.md @claude 分析根本原因
@deepseek /hub layer2.md 从数据角度验证这些根本原因
/save layer3.md @deepseek 数据验证
@claude /hub layer3.md 提出可执行的解决方案
9. Prompt 工程
让 Agent A 写 Prompt,Agent B 测试效果:
/save prompt_v1.md @claude 设计一个用于代码审查的Prompt
@deepseek /hub prompt_v1.md 使用这个Prompt审查以下代码:[代码]
@claude /hub 根据审查结果优化Prompt
10. 决策辅助矩阵
面对多个选项时,让不同 Agent 从不同维度打分:
/save options.md 列出所有可选方案
@claude /hub options.md 从技术可行性打分(1-10)
@deepseek /hub options.md 从成本效益比打分(1-10)
@gemini /hub options.md 从市场前景打分(1-10)
/hub 汇总打分,给出加权推荐
11. 故事接龙
纯属好玩的创意玩法:
/save chapter1.md @claude 写一个科幻故事的开头,设定世界观
@gemini /hub chapter1.md 接着写第二章,引入冲突
/save chapter2.md @gemini 接着写第二章
@deepseek /hub chapter2.md 写第三章,走向高潮
/save chapter3.md @deepseek 写第三章
@claude /hub chapter3.md 写最终章,收束所有伏笔
12. 自动化日报/周报
结合定时任务,让 Hub 成为每日信息聚合的中枢:
/save morning_brief.md @claude 总结今天需要关注的技术新闻
@deepseek /hub morning_brief.md 基于这些新闻,分析对我们项目的影响
/save daily_report.md @deepseek 影响分析
@claude /hub daily_report.md 生成本日技术日报
技术实现细节
如果你对底层实现感兴趣,这里有一些技术层面的信息。
核心代码
Hub 的核心实现只有约 200 行 Go 代码,定义在 hub/hub.go 中。主要提供这些能力:
- Save / SaveRaw:写入共享文件(带/不带 YAML frontmatter)
- ReadFile / ReadAll / ReadSpecific:读取共享文件
- List / Clear / Exists:管理共享文件
- BuildPrompt:将 Hub 上下文注入到 Agent 提示词中
- sanitizeFilename:安全处理文件名,防止路径遍历攻击
路由层集成
在 messaging/handler.go 中,Hub 指令的集成经历了几次迭代。一个比较有意思的技术细节是 @agent /hub 的路由处理——当用户发送 @claude /hub round1.md ... 时,WeClaw 需要先识别出 @claude 前缀(确定目标 Agent),再识别出 /hub 命令(进入 Hub 处理逻辑),最后把指定文件的内容注入到发给 Claude 的消息中。
这涉及到 parseCommand 函数的一个边界情况:当解析循环遇到内置命令 token 时需要保留原始文本,而不是截断丢弃。一个三行的修复解决了这个问题。
存储位置
所有共享文件存储在 ~/.weclaw/hub/shared/ 目录下。这个位置的选择考虑了:
- 使用
~/.weclaw/前缀保持与 WeClaw 配置的一致性 hub/shared/子目录让用户可以直观地找到和管理共享内容- 文件系统级别的访问权限控制天然生效
测试覆盖
Hub 包有 12 个单元测试,加上消息处理层的 19 个测试、Agent 层的 4 个测试和配置层的 2 个测试,全量通过。对于一个凌晨两点开始、三点完成的功能来说,这个质量水平还算令人满意。
未来展望
Agent Hub 目前的状态是 Phase 1——文件黑板。但这只是起点。
Phase 2 会引入自动保存和模板系统。比如你可以定义一个辩论模板,Hub 自动按模板的结构组织每轮发言,保存时自动标注轮次和角色。
Phase 3 会支持管道模式。/hub pipe claude → gemini → deepseek,一条指令让多个 Agent 依次处理,自动在每一步之间传递上下文。这就从"手动接力"进化到了"自动化流水线"。
更远的未来,可能会引入 Hub 的事件机制——当一个 Agent 把结果写入 Hub 时,自动通知下一个 Agent 开始工作。不过这些还都是构想,目前重要的是把 Phase 1 用好。
写在最后
Agent Hub 解决的不是一个技术难题,而是一个体验痛点。
在过去,如果你想让多个 AI Agent 协作,你需要手动复制粘贴对话内容——从 Claude 的回复里复制关键段落,贴到 Gemini 的对话框里,等 Gemini 回复后再复制到 DeepSeek 里。这个过程繁琐、容易遗漏、而且完全没有结构。
Hub 的本质就是把这个手动过程自动化了。它不是什么革命性的技术突破,但它让"多 Agent 协作"从"理论上可行"变成了"实际上好用"。
有时候,最好的工具不是那个功能最强大的,而是那个让你不再需要思考"怎么用"的。
Agent Hub 就是这样的工具——两个指令,一块黑板,无限可能。
WeClaw 是开源项目,欢迎在 GitHub 上关注:fastclaw-ai/weclaw