MIT License

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

精研 GitHub 仓库:xvirobotics/metabot

“xvirobotics/metabot” 是一个激动人心的开源项目,它的目标是为监督下的自我进化代理组织提供基础设施。在现代社会,人工智能的需求日渐增长,智能代理(或称 Agent)扮演着越来越重要的角色。然而,现有的一些人工智能系统往往缺乏足够的自适应能力,难以在复杂的环境中实现自我优化。“xvirobotics/metabot” 正解决了这一痛点,提供了一个基础设施,使得代理能够自我学习和进化。

项目背景与痛点

这个项目旨在为构建高度自主的代理系统提供支撑。特别是当这些代理需要适应快速变化的环境、执行复杂的任务、并与一系列其他代理进行交互时,这样一个自适应系统就显得尤为重要。

该系统解决了多个方面的痛点:

  1. 学习与适应: 在一个不断变化的环境中,代理需要不断的自我学习与适应。这一基础设施支持代理的自我进化,使其能够更灵活地面对新挑战。
  2. 智能协同: 代理的任务不仅包括独立完成一些操作,还需要与其他代理进行协作。这种协作涉及到信息共享、任务分配与同步,基础设施支持这些功能。

核心技术揭秘

metabot 的技术架构主要依靠模块化设计,易于扩展和集成。其重要的设计原则之一是模块化架构,这保证了系统的高度可维护性和扩展性。以下是一个简单的数据流图,展示了其内部工作原理:

graph TD A[用户请求] --> B("参数校验") B -->|"通过"| C[执行业务] C --> D{"分配任务?"} D -->|"是"| E[任务调度] E --> F("执行任务") F --> G[反馈信息] D -->|"否"| H[监控与预警] H --> G B -->|"失败"| I[返回错误] I --> G

通过该图可以看出,系统首先对用户的请求进行参数校验,确保输入的合法性。经过校验后,根据需求执行特定的业务逻辑。对于需要调控的任务,系统将分配任务并调度执行,同时监控任务的执行状态。当不需要立即调度的用户请求被捕捉时,系统将进行监控与预警,最大化保持系统的稳定运行。整个过程环环相扣,体现了其设计的高效率。

功能亮点与差异

metabot 的亮点在于其自我进化代理的实现,这在同类竞品中是较为独特的。它提供了共享记忆、Agent 工厂、定时任务、通信总线等,实现了不同种类的 Agent 间的无缝交互。此外,双引擎体系允许用户通过飞书和 Telegram 无缝接入使用,极大地方便了用户群体,同时确保了服务的高效执行。

应用场景与落地建议

适用于不断变化环境中,需要智能调度、自适应任务分配和提醒建设的应用场景。比如,动态调度的大规模 IoT 设备管理、多代理的协同工作场景或者自动化运维平台。项目中的关键依赖需要预处理和安装,同时要确保通信总线的稳定性,这对于生产环境使用来说至关重要。

综合评价

优点:

  • 高度可扩展的模块化架构,易于迭代。
  • 提供了双引擎体系,适配不同用户群体。
  • 支持自我进化的智能代理系统,更加自适应环境变化。

缺点:

  • 对开发者的技能要求较高,特别是自适应系统设计。
  • 部署繁复,需要一定的预处理和环境配置,初始上手可能有一定困难。

总体而言,metabot 是一个值得深入探索的开源项目,它为那些追求高度智能与自适应能力的系统开发提供了一个极其宝贵的基础。

关于

GitHub 原始描述(英文)

构建受监督的、自我进化的 Agent 组织的基础设施 | Infrastructure for supervised, self-improving agent organization. 飞书/Telegram 手机端运行 Claude Code 或 Kimi Code(双引擎,两家原生订阅直接用),共享记忆、Agent 工厂、定时任务、通信总线。

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
1345
价值分
653
活跃状态
活跃

语言占比

CSS
Dockerfile
HTML
JavaScript
PowerShell
Shell
TypeScript

Release

README

🤖 MetaBot

从飞书/Lark、Telegram、Slack、微信或 Web 使用 Codex 和 Kimi Code

可自托管的个人 Agent 工作台;Claude Code 作为兼容引擎继续保留。

Codex CLI Kimi Code Claude Code 兼容 MIT License Node.js 22.19 或更高版本

中文 · English · 文档站

MetaBot Core Console Chat
Core Console · Chat · Codex / Kimi Code · 工具 · 文件 · 用户确认

召唤 Agent 团队 分派任务 查看 Agent 工作 PR 合并
飞书移动端 · 召唤团队 · 分派工作 · 跟进进度 · 合并 PR
curl -fsSL https://github.com/xvirobotics/metabot/releases/latest/download/install.sh | bash

带签名校验的安装器约五分钟部署完整个人版:本地 Core、仅 Token 登录的 Web UI、IM Bridge、CLI、Skills 和 PM2 服务。

个人版

MetaBot 运行在你自己的机器上,不依赖企业 SSO、OIDC、VPN 或员工目录。

  • 本地 Core 和个人控制台默认为 http://localhost:9200。
  • 只有一个 Web 前端:Core Console。原 Bridge http://localhost:9100/web/ 入口会重定向到 http://localhost:9200/chat,不再单独构建或维护。
  • 安装器自动生成 Bearer Token,以 0600 权限保存到 ~/.metabot-core/token,且不会写入日志。
  • Core 数据默认在 ~/.metabot-core/,Bridge 状态默认在 ~/.metabot/。
  • Release 资源解压前会验证校验和。
  • 使用 METABOT_INSTALL_CORE=0 仍可连接已有外部 Core。

自定义目录、源码安装、更新、Windows 状态和外部 Core 配置详见安装文档。

默认安装目录为 ~/metabot。可用 METABOT_HOME=/opt/metabot bash install.sh 覆盖;源码 checkout 与 Release 安装保留各自的更新路径,metabot update 不会盲目猜测。

引擎

Codex 是默认引擎,Kimi Code 是一级可选引擎。Claude Code 继续保留,确保现有 Claude Bot 和工作区仍能运行。

引擎 接入方式 认证 当前开源版能力
Codex CLI codex exec --json 和 codex exec resume codex login 或 OpenAI 兼容 API 配置 JSONL 流式输出、工具、会话续接、/model、/effort、Bridge 管理的 Goal 和后台任务
Kimi Code 0.27+ Kimi Web 前端同源的官方本地 Server API kimi login 持久 Session、原子快照、问题交互、停止/续接、工具、子 Agent 和 Goal
Claude Code 兼容 Claude CLI / Agent SDK 兼容路径 claude login 或 Anthropic 兼容 API 继续支持现有 Claude 会话、Skills 和工作区

当前公开版 Codex 适配器使用 codex exec;Codex app-server 以及 Codex/Kimi 的飞书执行中 steering 将在后续基础链完整后开放。

请在独立终端安装或登录引擎:

npm install -g @openai/codex
codex login

npm install -g @moonshot-ai/kimi-code@latest   # Kimi Code 0.27+
kimi login

每个 Bot 在 bots.json 中独立选择引擎;省略时默认为 codex。详见多 Bot 配置和环境变量。

各引擎继续使用自己的工作区约定:

内容 Codex Kimi Code Claude 兼容
工作区说明 AGENTS.md AGENTS.md CLAUDE.md 兼容入口
Skills .codex/skills/ .agents/skills/ .claude/skills/
订阅状态 Codex profile ~/.kimi-code/ Claude credentials

安装器会把 MetaBot 内置 Skills 镜像到当前引擎路径,并保留用户已修改的本地 Skills。

快速开始

前置条件:Node.js >= 22.19、Git,以及至少一个引擎和一个聊天渠道的凭证。

  1. 执行上面的一行安装命令。
  2. 选择 Codex 或 Kimi Code,并在独立终端完成登录。
  3. 按引导连接飞书/Lark、Telegram 或微信;如需 Slack,按 Slack 指南 配置 Events API。
  4. 验证服务并打开本地控制台:
metabot status
metabot health

打开 http://localhost:9200,粘贴 ~/.metabot-core/token 中的 Token,再选择 Bot。

Core Console Chat 在同一个页面里展示流式回复、工具执行和输出文件,支持回答 Agent 的交互问题、停止运行,以及浏览器或 Bridge STT 语音输入。Agents、Memory、 Skills、T5T、Teams 和 CLI Access 共用同一 Token 与同一套导航。

渠道 适合场景 配置入口
飞书/Lark 工作空间、流式卡片、文件、群聊路由 飞书应用配置
Telegram 最快个人配置;不需要公网 IP 快速配置
Slack DM 和 @mention 路由;适合已有 Slack 工作区 Slack 指南
微信 通过 ClawBot 接入个人微信;目前灰测中 微信指南
Web 浏览器 Chat、Core、Memory、Teams 和设置 http://localhost:9200

飞书使用长连接 WebSocket,Telegram 和微信使用长轮询;Slack 使用 Events API,需要一个 可被 Slack 访问并经过 HTTPS 反向代理保护的 /api/slack/events/<botName> 入口。

飞书群里的普通消息只路由给被准确 @ 的 Bot。群主可以用 @Bot /group-reply ... 为每个 Bot、每个群选择仅 @ 或回复全部消息;裸命令 和只 @ 其他 Bot 的命令会被忽略。仅 @ 模式下,未 @ 的文件会保留给下一条 @Bot 指令。详见聊天命令。

最小双 Bot 配置

一个 Bridge 进程的 bots.json 可以混用引擎和工作区:

{
  "feishuBots": [
    {
      "name": "codex-dev",
      "engine": "codex",
      "feishuAppId": "cli_xxx",
      "feishuAppSecret": "...",
      "defaultWorkingDirectory": "/home/me/project-a"
    },
    {
      "name": "kimi-reviewer",
      "engine": "kimi",
      "feishuAppId": "cli_yyy",
      "feishuAppSecret": "...",
      "defaultWorkingDirectory": "/home/me/project-b",
      "kimi": { "thinking": true }
    }
  ],
  "slackBots": [
    {
      "name": "slack-codex",
      "engine": "codex",
      "slackBotToken": "xoxb-...",
      "slackSigningSecret": "...",
      "defaultWorkingDirectory": "/home/me/project-c"
    }
  ]
}

如果应用创建于 Lark 国际版后台(open.larksuite.com),在对应的 feishuBots 条目中添加 "larkDomain": "lark",API 和 WebSocket 会使用国际版域名;不配置时仍默认使用飞书国内版。

每个 Bot 拥有独立的渠道凭证、引擎、工作区和会话,同时仍可通过 Agent Teams 和 Agent Bus 协作。

包含的能力

  • 移动端写代码 — 从聊天中改代码、跑测试、查看工具并跟进长任务。
  • Agent Teams — 创建专门队友、并行分工,保留持久的任务和运行状态。指南
  • MetaMemory — 跨会话检索知识,并可同步到飞书知识库。指南
  • T5T 与 Goal — 持久项目检查点和受监督的多轮执行。Core Console 的 T5T 看板默认展示只读的公司核心视图(WBC、VLM Brain、G1 Wuji Teleoperation 及平台锚点),需要时可切换全部项目;治理异常会在 24 小时初始化宽限期后派生 no_evaluator 提醒。聊天命令
  • Skill Hub — 通过统一的 metabot CLI 安装和发布可复用 Skills。
  • 统一 Core Console — Token 鉴权的 Chat、Agents、Memory、Skills、T5T、Teams、CLI Access 和诊断;不再维护第二套 Bridge Web UI。
  • 渠道与媒体 — 文本、富文本、图片、文件、音频、智能合并和精确 @Bot 路由。
  • Peers、调度与语音 — 面向更大个人环境的可选能力。功能文档

常用命令

命令 用途
/model 查看或切换当前引擎/模型
/effort low|medium|high|xhigh|max|ultra 设置当前 Chat 的 Codex 推理强度
/status 查看当前会话和模型
/reset 开始新会话
/stop 停止当前任务
/goal <条件> 跨轮持续工作,直到完成、阻塞或到达上限
/background <提示> 在 Chat 继续使用时运行受支持的后台任务
@Bot /group-reply mention|all|status 控制一个飞书 Bot 在一个群里的回复模式
metabot update 将 Package 管理的个人版升级到最新 GitHub Release
metabot update --package --version 1.3.4 精确安装不可变的 v1.3.4 Release 包
metabot send <agentId> "消息" 通过 Personal Core 发送持久化 Agent Bus 消息

Agent Bus 消息可绑定稳定会话并安全重试:使用 --session <sessionId> 指定会话, --idempotency-key <key> 去重重试,--implicit 隐藏运行卡片。Core 默认地址为 http://localhost:9200,通过 METABOT_CORE_URL 和 METABOT_CORE_TOKEN 配置远端 Personal Core;不会依赖托管服务或内部身份系统。

Session 注册只接受 online、resumable、offline、provisioning 四种状态; 显式离线的 Session 不会被静默投递,且可用 Session 会先在数据库中过滤再截断, 避免旧的 resumable Session 被新离线记录遮蔽。

完整命令详见聊天命令、CLI 参考和 REST API。

文档

更新与开发

普通 Package 管理的个人版执行 metabot update 时,默认升级到最新 GitHub Release。需要可复现版本时可固定不可变 Release;源码 checkout 保留显式 Git 路径:

metabot update                                  # 最新 GitHub Release
metabot update --package --version 1.3.4        # 精确安装 v1.3.4
metabot update --git                            # 源码 checkout

Package 更新会验证 SHA256SUMS,校验完整个人版 Manifest 及其版本,并在固定 版本不匹配时拒绝更新。覆盖安装会保留 .env、bots.json、data/、logs/、 ~/.metabot/ 和 ~/.metabot-core/。 其中只有 Package 管理的 ~/.metabot/default.env 可能随安全默认值刷新。

参与开发:

git clone https://github.com/xvirobotics/metabot.git ~/metabot
cd ~/metabot
npm ci --include=dev
npm test

请使用 Node.js >= 22.19,并在提交 PR 前阅读贡献指南。

安全

MetaBot Agent 可以在配置的工作区中读、写和执行代码。请妥善保管 Core 与 Bridge Token,限制 IM Bot 可见范围,仅通过自有鉴权反向代理或私有网络暴露本地端口。

关于与许可

MetaBot 由 XVI Robotics 开发,采用 MIT License 开源。

评论

暂无评论