Metabot
构建受监督的、自我进化的 Agent 组织的基础设施 | Infrastructure for supervised, self-improving agent organization. 从飞书/Telegram 运行 Claude Code,共享记忆、Agent 工厂、定时任务、通信总线。
Install / Use
/learn @xvirobotics/MetabotQuality Score
Category
Development & EngineeringSupported Platforms
README
MetaBot
在飞书 / Telegram / 微信上用手机控制 Claude Code — 写代码、管 Agent、自动化一切。
English | 中文
在飞书中设定一个每天早上9点自动搜索 AI 新闻并保存到 MetaMemory 的定时任务 — Thinking → Running → Complete,全程流式展示。

curl -fsSL https://raw.githubusercontent.com/xvirobotics/metabot/main/install.sh | bash
安装器引导一切:工作目录 → Claude 认证 → IM 平台 → PM2 自动启动。5 分钟上手。
你能用它做什么
- 手机写代码 — 地铁上用飞书给 Claude Code 发消息,它帮你改 bug、提 PR、跑测试
- 多 Agent 协作 — 前端 Bot、后端 Bot、运维 Bot,各自独立工作空间,通过 Agent 总线互相委派任务
- 知识自生长 — Agent 把学到的东西存入 MetaMemory,组织每天都在变聪明,无需重新训练
- 自动化流水线 — "每天早上9点搜 AI 新闻,总结 Top 5,存档" — 一句话搞定
- 语音助手(Jarvis 模式) — AirPods 说 "Hey Siri, Jarvis",免手免屏语音控制任意 Agent
- 自生长的组织 — 管理者 Bot 按需创建新 Agent,分配任务,安排后续跟进
为什么选 MetaBot
| | MetaBot | 直接用 Claude Code | Dify / Coze | |---|---|---|---| | 手机控制 | 飞书/TG/微信随时随地 | 只能在终端 | 有,但不能跑代码 | | 代码能力 | 完整 Claude Code(Read/Write/Edit/Bash/MCP) | 完整 | 无,只能调 API | | 多 Agent | Agent 总线 + 任务委派 + 运行时创建 | 单会话 | 有,但封闭生态 | | 共享记忆 | MetaMemory 全文搜索 + 自动同步飞书知识库 | 无 | 无 | | 定时任务 | Cron 调度,跨重启持久化 | 无 | 有 | | 自主运行 | bypassPermissions,全自动 | 需要人工确认 | 受限于 workflow | | 开源 | MIT,完全可控 | CLI 开源 | 闭源 SaaS |
工作原理

飞书/TG/微信 → IM Bridge → Claude Code Agent SDK → 流式卡片更新
↕
MetaMemory(共享知识库)
MetaSkill(Agent 工厂)
定时调度器(Cron 任务)
Agent 总线(跨 Bot 通信)
自我进化 Agent 组织的三大支柱:
| 支柱 | 组件 | 作用 | |------|------|------| | 受监督 | IM Bridge | 实时流式卡片展示每一步工具调用。人类看到 Agent 做的一切 | | 自我进化 | MetaMemory | 共享知识库。Agent 写入学到的东西,其他 Agent 检索引用 | | Agent 组织 | MetaSkill + 调度器 + Agent 总线 | 一个命令生成完整 Agent 团队。Agent 互相委派任务、创建新 Agent |
核心组件
| 组件 | 一句话说明 |
|------|-----------|
| Claude Code 内核 | 每个 Bot 都是完整的 Claude Code — Read/Write/Edit/Bash/Glob/Grep/WebSearch/MCP,bypassPermissions 全自动 |
| MetaSkill | Agent 工厂。/metaskill ios app 一键生成 .claude/ Agent 团队(orchestrator + 专家 + reviewer) |
| MetaMemory | 内嵌 SQLite 知识库,全文搜索,Web UI,变更自动同步到飞书知识库 |
| IM Bridge | 飞书、Telegram、微信(含手机端)对话任意 Agent,流式卡片 + 工具调用追踪 |
| Agent 总线 | Agent 通过 mb talk 互相对话,运行时创建/删除 Bot |
| 定时调度器 | Cron 周期任务 + 一次性延迟任务,跨重启持久化,忙时自动重试 |
| 飞书 Lark CLI | 200+ 命令覆盖文档、消息、日历、任务等 11 大业务域,19 个 AI Agent Skills |
| Peers 联邦 | 跨实例 Bot 发现和任务路由,mb talk alice/backend-bot 自动路由 |
快速开始
Telegram(30 秒)
- 找 @BotFather →
/newbot→ 复制 token - 写入
bots.json→ 完成(长轮询,无需 Webhook)
微信(灰测中)
- iPhone 微信 8.0.70+ → 设置 → 插件 → 开启 ClawBot
- 运行
install.sh,选3) WeChat ClawBot— 扫码绑定 - 详见 微信接入指南
飞书
- open.feishu.cn 创建应用 → 添加「机器人」能力
- 开通权限:
im:message、im:message:readonly、im:resource、im:chat:readonly - 先启动 MetaBot,再开启「长连接」+
im.message.receive_v1事件 - 发布应用
不需要公网 IP。飞书用 WebSocket,Telegram 和微信用长轮询。
示例 Prompt
刚接触 MetaBot?以下是你可以直接在飞书/Telegram 中发送的真实 prompt:
MetaMemory — 持久化知识库
把我们刚讨论的部署方案写入 MetaMemory,放到 /projects/deployment 下面。
搜索一下 MetaMemory 里有没有关于 API 设计规范的文档。
MetaSkill — Agent 工厂
/metaskill 给这个 React Native 项目创建一个 agent 团队 ——
我需要一个前端专家、一个后端 API 专家、一个 code reviewer。
定时任务
设一个每天早上9点的定时任务:搜索 Hacker News 和 TechCrunch 的 AI 新闻,
总结 Top 5,保存到 MetaMemory。
设一个每周一早上8点的任务:review 上周的 git commit,生成进度报告。
Agent-to-Agent 协作
把这个 bug 委派给 backend-bot 处理:"修复 /api/users/:id 的空指针异常"。
让 frontend-bot 更新仪表盘 UI,同时让 backend-bot 加上新的 API 接口。
两边都把进度记录到 MetaMemory。
组合工作流
读一下这个飞书文档 [粘贴链接],提取产品需求,拆成任务,
然后设一个每天下午6点的定时任务,对照需求跟踪开发进度。
/metaskill 创建一个 "daily-ops" agent,每天早上8点自动运行:
检查服务健康状态、review 昨晚的错误日志、发一份运维摘要。
飞书使用技巧
<details> <summary><strong>私聊 vs 群聊</strong></summary>| 场景 | @提及 | 说明 | |------|-------|------| | 私聊 | 不需要 | 所有消息直接发送给 Bot | | 1对1 群聊(你 + Bot 两人群) | 不需要 | 自动识别为类私聊 | | 多人群聊 | 需要 @Bot | 只有 @Bot 的消息才会触发回复 |
</details> <details> <summary><strong>发送文件和图片</strong></summary>推荐:建一个只有你和 Bot 的两人群聊。不需要每次 @Bot,又能保留群聊的好处(置顶、分类管理)。
私聊 / 两人群:直接发送文件或图片,Bot 自动处理。支持多文件批量发送(2 秒内自动合并)。
多人群聊:飞书限制 — 上传文件时无法同时 @Bot。解决方案:先传后 @
- 先在群里上传文件或图片
- 5 分钟内 @Bot 说「分析一下」
- Bot 自动把你之前上传的文件附上
支持的消息类型:文本、图片(Claude 多模态)、文件(PDF/代码/文档)、富文本(Post 格式)、多文件批量。
</details>配置
bots.json — 定义你的 Bot:
{
"feishuBots": [{
"name": "metabot",
"feishuAppId": "cli_xxx",
"feishuAppSecret": "...",
"defaultWorkingDirectory": "/home/user/project"
}],
"telegramBots": [{
"name": "tg-bot",
"telegramBotToken": "123456:ABC...",
"defaultWorkingDirectory": "/home/user/project"
}],
"wechatBots": [{
"name": "wechat-bot",
"defaultWorkingDirectory": "/home/user/project"
}]
}
<details>
<summary><strong>所有 Bot 配置字段</strong></summary>
| 字段 | 必填 | 默认值 | 说明 |
|------|------|--------|------|
| name | 是 | — | Bot 标识名 |
| defaultWorkingDirectory | 是 | — | Claude 的工作目录 |
| feishuAppId / feishuAppSecret | 飞书 | — | 飞书应用凭证 |
| telegramBotToken | Telegram | — | Telegram Bot Token |
| wechatBotToken | 微信(可选) | — | 预认证 iLink token(不填则 QR 登录) |
| maxTurns / maxBudgetUsd | 否 | 不限 | 执行限制 |
| model | 否 | SDK 默认 | Claude 模型 |
| apiKey | 否 | — | Anthropic API Key(不设则从 ~/.claude/.credentials.json 动态读取,兼容 cc-switch) |
| 变量 | 默认 | 说明 |
|------|------|------|
| BOTS_CONFIG | — | bots.json 路径 |
| API_PORT | 9100 | HTTP API 端口 |
| API_SECRET | — | Bearer 认证 |
| MEMORY_ENABLED | true | 启用 MetaMemory |
| MEMORY_PORT | 8100 | MetaMemory 端口 |
| MEMORY_ADMIN_TOKEN | — | 管理员 Token(完整访问) |
| MEMORY_TOKEN | — | 读者 Token(仅共享文件夹) |
| WIKI_SYNC_ENABLED | true | 启用 MetaMemory→飞书知识库同步 |
| WIKI_SPACE_NAME | MetaMemory | 飞书知识库空间名称 |
| WIKI_AUTO_SYNC | true | MetaMemory 变更时自动同步 |
| METABOT_URL | http://localhost:9100 | MetaBot API 地址 |
| META_MEMORY_URL | http://localhost:8100 | MetaMemory 服务地址 |
| METABOT_PEERS | — | Peer MetaBot 地址(逗号分隔) |
| LOG_LEVEL | info | 日志级别 |
支持 Kimi、DeepSeek、GLM 等 Anthropic 兼容 API:
ANTHROPIC_BASE_URL=https://api.moonshot.ai/anthropic # Kimi/月之暗面
ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic # DeepSeek
ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic # GLM/智谱
ANTHROPIC_AUTH_TOKEN=你的key
</details>
<details>
<summary><strong>cc-switch 兼容</strong></summary>
兼容 cc-switch、cc-switch-cli、CCS 等认证切换工具。用 cc switch 切换 API/订阅模式后,MetaBot 无需重启即可生效。
如需固定使用某个 API Key,在 bots.json 中设置 apiKey 字段。
MetaBot 以 bypassPermissions 模式运行 Claude Code — 无交互式确认:
- Claude 对工作目录有完整读写执行权限
- 通过飞书/Telegram/微信平台设置控制访问
- 用
maxBudgetUsd限制单次花费 API_SECRET保护 API 服务器和 MetaMemory- MetaMemory 支持文件夹级 ACL(Admin/Reader 双角色)
聊天命令
| 命令 | 说明 |
|------|------|
| /reset | 清除会话 |
| /stop | 中止当前任务 |
| /status | 查看会话状态 |
| /memory list | 浏览知识库目录 |
| /memory search 关键词 | 搜索知识库 |
| /sync | 同步 MetaMemory 到飞书知识库 |
| /metaskill ... | 生成 Agent 团队、Agent 或 Skill |
| /help | 帮助 |
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | /api/health | 健康检查 |
| GET | /api/bots | 列出 Bot(本地 + Peer) |
| POST | /api/bots | 运行时创建 Bot |
| DELETE | /api/bots/:name | 删除 Bot |
| POST | /api/talk | 与 Bot 对话(自动路由到 peer) |
| GET | /api/peers | 列出 Peer 及状态 |
| POST | /api/schedule | 创建定时任务 |
| GET | /api/schedule | 列出定时任务 |
| PATCH | /api/schedule/:id | 更新定时任务 |
| DELETE | /api/schedule/:id | 取消定时任务 |
| POST | /api/sync | 触发 Wiki 同步 |
| GET | /api/stats | 费用与使用统计 |
| GET | /api/metrics | Prometheus 监控指标 |
| POST | /api/tts | 文字转语音 |
安装器将 metabot、mm、mb 放到 ~/.local/bin/,安装后立即可用。
# MetaBot 管理
metabot update # 拉取最新代码,重新构建,重启
metabot start / stop / restart # PM2 管理
metabot logs # 查看实时日志
# MetaMemory
mm search "部署指南" # 全文搜索
mm list # 列出文档
mm folders # 文件夹树
# Agent 总线
mb bots # 列出所有 Bot
mb talk <bot> <chatId> <prompt> # 与 Bot 对话
mb schedule list # 列出定时任务
mb schedule cron <bot> <chatId> '<cron>' <prompt> # 创建周期性任务
mb stats # 费用和使用统计
# 飞书 Lark CLI(飞书 Bot 专属)
lark-cli docs +fetch --doc <飞书链接>
lark-cli im +messages-send --chat-id oc_xxx --text "Hi"
lark-cli calendar +agenda --as user
# 文字转语音
mb voice "你好世界" --play
CLI 支持连接远程 MetaBot/MetaMemory 服务器,在 ~/.metabot/.env 配置 METABOT_URL 和 META_MEMORY_URL 即可。
git clone https://github.com/xvirobotics/metabot.git
cd metabot && npm install
cp bots.example.json bots.json # 编辑 Bot 配置
cp .env.example .env # 编辑全局设置
npm run dev
前置条件:Node.js 20+,Claude Code CLI 已安装并认证。
</details>开发
npm run dev # 热重载开发服务器(tsx)
npm test # 运行测试(vitest)
npm run lint # ESLint 检查
npm run build # TypeScript 编译
Roadmap
- [ ] Web UI 控制面板(Bot 管理、任务监控、Meta
