agmsg 跨代理消息协作

让本地 CLI 编程代理通过 SQLite 直接组成可通信的团队。

源仓库
fujibee/agmsg
Star 数
★ 1.6k
最近更新
今天
License
MIT
主语言
Shell

30 秒速览

运行形态
命令行工具Agent 插件 / 技能
可在哪里用
通用 · 跨平台Codex · Claude Code
费用
免费,无需付费服务
上手难度
低 · 几分钟可跑通
开始前需要
bashsqlite3Shell / 命令行本地文件系统
典型场景
使用 Claude Code 和 Codex 审查同一代码库的开发者,可让 Claude Code 用 send 向 Codex 发起审查请求,再在团队消息中接收结论。
不适合
  • 需要跨机器或远程协作的团队,它只共享本机 SQLite 文件
  • 需要传输层强制任务认领、轮流发言或循环终止的团队
  • 只用 Windows PowerShell 且不愿统一使用 Git Bash 的用户

这个 Agent 能做什么,适合哪些场景?

agmsg 是面向命令行 AI 编程代理的本地消息传输工具,可让 Claude Code、Codex、Gemini CLI、GitHub Copilot CLI 等会话加入同一团队。它由 Bash 脚本、SQLite 消息库、团队配置和各代理类型的驱动组成,不启动守护进程、服务器或网络服务。代理通过共享的 WAL 模式 SQLite 数据库发送、读取和保留纯文本消息,历史记录可在新会话中用 history.sh 回放。它提供 /agmsg 或 $agmsg 入口,以及 send、inbox、team、actas、spawn、despawn 和 delivery mode 等命令。它适合已在本机终端中运行多个代理、希望减少人工复制粘贴的人;它不是托管协作平台,也不负责替团队制定任务领取或停止循环规则。

安装后,agmsg 将技能和运行脚本放入 ~/.agents/skills/<cmd>/。首次执行 /agmsg 或 $agmsg 时,代理会为当前项目登记 team 和 agent name,并选择 delivery mode。发送端调用 scripts/send.sh <team> <from> <to> "<message>",将消息写入 db/messages.db;接收端通过 scripts/inbox.sh、Stop hook,或 monitor 模式下的 SQLite 流读取新消息并标记已读。scripts/team.sh 列出成员,scripts/history.sh 输出持久化记录,scripts/whoami.sh 查询项目身份;actas 可切换独占角色,spawn 可在 tmux pane/window 或终端中启动预设角色的独立 CLI 会话。消息内容是文本;需要传递较大上下文时,设计建议发送文件路径、提交 SHA 或摘要,而不是直接传输文件。

  1. 使用 Claude Code 和 Codex 审查同一代码库的开发者,可让 Claude Code 用 send 向 Codex 发起审查请求,再在团队消息中接收结论。
  2. 在 tmux 中协调多个 CLI 代理的技术负责人,可用 spawn codex reviewer --boot-prompt "review the diff on this branch" 启动独立审查角色。
  3. 需要让 Gemini CLI、Copilot CLI 与其他本地代理共享简短任务状态的工程团队,可把它们登记到同一 team 并通过 SQLite 留存消息历史。
  4. 需要在会话重启后恢复协作线索的开发者,可用 history.sh <team> 导出既有房间记录并提供给新会话。
  5. 希望在同一项目中以架构评审和业务分析两种身份工作的人,可用 actas 在不同角色间切换,并利用独占锁避免两个会话占用同一角色。

如何安装或部署这个 Agent?

运行环境需要 bash 和 sqlite3。最快安装方式是:

npx agmsg

随后重启 Claude Code、Codex、Gemini CLI、GitHub Copilot CLI、Antigravity 或 OpenCode。也可执行:

git clone https://github.com/fujibee/agmsg.git
cd agmsg
./install.sh

直接脚本安装支持 ./install.sh --cmd m 指定命令名,以及 ./install.sh --agent-type gemini 指定 Gemini 导向的 SKILL.md。Windows 需要 Git Bash,且 sqlite3 必须位于 Git Bash PATH。

如何使用这个 Agent?

在项目目录中首次运行 Claude Code 的 /agmsg,或 Codex、Gemini CLI、Antigravity、OpenCode 的 $agmsg;按提示设置团队名、代理名和接收模式。之后可让代理执行 /agmsg send <agent> <message>、/agmsg team、/agmsg history,或直接调用脚本,例如:

~/.agents/skills/agmsg/scripts/send.sh <team> <from> <to> "<message>"

Codex 默认可使用 turn 或 off;仓库还记录了通过 app-server bridge 使用 monitor 的方式,但这是会改变 Codex 启动路径的 beta 集成。若 Codex 使用 workspace-write 沙箱,需要为 ~/.agents/skills/agmsg/db 和 ~/.agents/skills/agmsg/teams 配置可写目录。

这个 Agent 有哪些优点和局限?

优点
  • 消息传输只依赖 Bash 与 SQLite,运行时没有守护进程、网络服务、socket 或 MCP server。
  • WAL 模式 SQLite 提供持久化消息记录,并支持多个读者与单个写者并存;history.sh 可重放旧团队记录。
  • 内置 Claude Code、Codex、Gemini CLI、GitHub Copilot CLI、Antigravity、OpenCode 等 CLI 代理的安装或驱动路径。
  • actas 提供角色独占锁,spawn/despawn 支持在 tmux 或终端中管理独立的同伴代理会话。
局限
  • 所有参与者必须访问同一个本地 SQLite 存储;它不是跨网络、云端或远程消息服务。
  • 运行依赖 bash 和 sqlite3;最小 Linux 环境可能需要另行安装 sqlite3,Windows 依赖 Git Bash 路径一致性。
  • 任务轮次、领取、租约和停止条件不由传输层强制,团队必须在提示词或协作协议中自行约定。
  • Codex 的 monitor 集成依赖 app-server bridge,文档标注其有关闭 TUI 后遗留进程的已知限制;Copilot CLI 不支持 monitor 或 both。
  • send.sh 默认要求收件人与发件人均已注册;预注册发送需显式使用 --force。

这个 Agent 与同类方案有什么区别?

与 MCP 相比,agmsg 不提供 MCP server,也不需要额外运行时;它是通过本地 SQLite 文件通信的独立工具。与子代理机制相比,spawn 启动的是可通过 agmsg 交流的独立对等会话,而非当前会话管理的子进程。与消息队列相比,它没有 broker,SQLite 文件本身是共享消息层。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
agmsg 跨代理消息协作 当前 64 · 存在缺口 命令行工具免费 ★ 1.6k 今天 Shell Codex · Claude Code
CCManager - 多AI编码助手会话管理器 52 · 缺口较多 命令行工具免费 + 模型费 ★ 1.3k 9 天前 TypeScript ChatGPT · Codex · Claude Code
Agentic Plugin Marketplace 66 · 存在缺口 Agent 插件 / 技能免费 + 模型费 ★ 42k 今天 Python Codex · Claude Code
CCB 多智能体终端工作区 64 · 存在缺口 命令行工具免费 + 模型费 ★ 3.6k 1 天前 Python Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
64/ 100 五分制 3.2 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 19 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 18/29
可靠稳定 9/14
适用触发 12/18
规范维护 12/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全18 / 29 · 3.1/5

证据显示:脚本以用户权限运行,无特权提升;安装和卸载需要用户确认;数据流透明(SQLite文件,本地存储);依赖仅bash和sqlite3,npm包有SLSA provenance;外部效果限于本地文件系统和启动终端;提供uninstall.sh和--keep-data选项;来源归属明确(MIT许可证,作者fujibee)。扣分:敏感数据处理未明确说明(如消息内容加密),但本地存储且无网络传输,故给2分。

可靠稳定9 / 14 · 3.2/5

证据显示:README和代码一致,无矛盾;依赖bash和sqlite3,常见且文档说明;错误消息清晰(如sqlite3缺失提示)。扣分:无自动化测试证据,但静态审查无法验证,故给2分。

适用触发12 / 18 · 3.3/5

证据显示:明确目标用户(CLI AI代理用户),场景多样(多代理协作);能力边界清晰(非MCP,非消息队列);触发命令明确(/agmsg等);环境适配(macOS/Linux/Windows Git Bash)。扣分:无重大缺陷,给2分。

规范维护12 / 18 · 3.3/5

证据显示:信息架构清晰(README、docs、site);安装说明详细;命名稳定(agmsg);示例和FAQ丰富;已知限制明确(如Codex monitor限制);MIT许可证;版本和变更日志存在;维护责任明确(作者和贡献者)。扣分:无重大缺陷,给2分。

有效结果9 / 13 · 3.5/5

证据显示:输出可用(消息传递);边际价值高(解决代理间通信);成本效益好(仅依赖bash和sqlite3)。扣分:无执行验证,但静态评估合理,给2分。

证据核验4 / 8 · 2.5/5

证据显示:README声明与代码一致;社区项目提及但未验证;事实与推断分离(README区分事实和设计说明)。扣分:跨来源验证不足(仅README和代码),给1分。

风险与缓解建议
  • 静态审查无法验证实际运行行为,建议进行动态测试。
  • 敏感数据处理未明确说明,建议审查消息内容是否包含敏感信息。
  • 跨来源验证不足,建议检查社区项目真实性。
证据充分度:低 评估于 2026年8月9日 审查版本 4d3202d6c20e 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v1.7.1
    发布说明摘录
    This release keeps agmsgd running through changes it used to stop for. A file added, edited or removed under the installed scripts/ no longer stops agmsgd or the remote sync engine; they leave only when an update replaces the install record, and agmsg daemon status shows what differs while they keep running. On Linux, agmsgd identifies the boot by the kernel's boot id, so a clock step (WSL2 after the host sleeps) no longer makes a running agmsgd read as stopped. Update to get both; nothing else is needed. Fixed …
    在 GitHub 查看 ↗
  2. app-v0.6.0 agmsg v0.6.0
    发布说明摘录
    agmsg desktop app 0.6.0 New - Add-on panes. The tab bar + opens Shell, File view, Diff view, installed add-on panes and Install add-ons. An add-on pane runs in a sandboxed frame and gets only what it declares and you allow: the messages of a team you choose, and the files and git state of a folder you pick. Add-ons cannot run programs, send messages or control agmsg. (#1833) - Built-in add-ons: File view and Diff view. …
    在 GitHub 查看 ↗
  3. v1.7.0
    发布说明摘录
    This release adds plugins from GitHub: agmsg plugin install <owner>/<repo> adds a third-party ext-tool, terminal or agent type after showing you every file it can run (and, in chat, offering to have the agent read them first), and keeps it pinned to the commit you approved. It also hardens remote sync against compressed responses from a sync server (CVE-2026-111497); if you use remote sync, update. Security …
    在 GitHub 查看 ↗

常见问题

消息会发送到外部服务吗?
不会。运行时使用本地文件系统和 SQLite;项目明确说明没有网络、服务器或守护进程。
多名代理同时发消息会冲突吗?
消息库使用 WAL 模式 SQLite。文档说明它允许多个读者和单个写者共存,写入在文件级短暂串行化。
它会自动防止两个代理重复处理同一任务吗?
不会。消息日志有单调递增 id 和时间戳,但任务轮次与领取属于提示词或协议层;actas 只防止两个会话同时占用同一角色。
Codex 在沙箱中能用吗?
可以,但执行写操作时,Codex 的可写根目录需要包含技能的 db 与 teams 路径;否则可能无法打开 SQLite 数据库。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents