基于 Maildir 风格文件系统的本地多 Agent 通信消息队列,零基础设施、崩溃安全,为 AI Agent 协作提供标准化的消息传递与协调层。
Agent Message Queue (AMQ) 是一个专为 AI Agent 协作设计的本地消息队列系统。它采用 Maildir 风格的文件系统实现,无需任何服务器、守护进程或数据库基础设施。
核心特性#
- 零基础设施:纯文件系统实现,只要有文件系统即可运行
- 崩溃安全:使用 Maildir 原子投递机制 (tmp→new→cur),消息永不丢失或部分写入
- 人类可读:JSON frontmatter + Markdown body 格式,支持
cat查看、grep调试、git版本控制 - 实时通知:
amq wake在消息到达时注入终端通知(实验性功能) - Agent 协作原语:支持优先级、消息类型、线程追踪、确认机制
消息类型与优先级#
支持 8 种消息类型:review_request、review_response、question、answer、decision、brainstorm、status、todo
三级优先级:urgent(立即响应)、normal(添加到待办列表)、low(批量处理)
协作模式#
- Leader + Worker:Leader 决策,Worker 执行(默认模式)
- Co-workers:同等协作,无共识时请示发起人
- Duplicate:独立解决方案/审查,由发起人合并结果
- Driver + Navigator:Driver 编码,Navigator 审查/测试并可中断
- Spec + Implementer:一方编写规格/测试,另一方实现
- Reviewer + Implementer:一方编码,另一方专注审查和风险检测
安装方式#
# macOS (Homebrew)
brew install avivsinai/tap/amq
# macOS/Linux (脚本)
curl -fsSL https://raw.githubusercontent.com/avivsinai/agent-message-queue/main/scripts/install.sh | bash
快速开始#
# 初始化项目
amq coop init
# 发送消息
amq send --to codex --subject "Review needed" --kind review_request --body "Please review internal/cli/send.go"
# 查看收件箱
amq list --new
# 读取消息
amq drain --include-body
核心 CLI 命令#
| 命令 | 说明 |
|---|---|
amq init | 初始化队列 |
amq send | 发送消息 |
amq list | 列出消息 |
amq read | 读取指定消息 |
amq drain | 一次性读取并移动到 cur |
amq reply | 回复消息 |
amq watch | 阻塞等待消息到达 |
amq wake | 后台注入终端通知 |
amq coop exec | 启动协作会话 |
amq swarm join/claim/complete/bridge | Swarm 模式命令 |
架构设计#
项目采用 Go 语言开发,核心模块包括:
internal/fsq/:文件系统队列(Maildir 投递、原子操作)internal/format/:消息序列化internal/swarm/:Claude Code Agent Teams 互操作internal/thread/:跨邮箱线程收集
邮箱布局遵循 Maildir 标准:<root>/agents/<agent>/inbox/{tmp,new,cur}/
能力边界#
- 适用:单机环境 2-3 个 Agent 的协作场景
- 不适用:分布式/跨机器 Agent 通信
- 平台支持:macOS, Linux, Windows (WSL)