多智能体编排协议

提供与供应商无关的多智能体编排解决方案,利用tmux进行进程管理和会话持久化,支持通过文件系统工作区进行协调。

  • by dev-boz
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 dev-boz/agent-interface-protocol

使用说明

代理接口协议(AIP)

状态:正在进行中 --核心工作正常,目前有213项测试通过,另外还有9项默认跳过的选择加入实时检查。非常欢迎贡献、反馈和新的后端适配器。

与提供商无关的多代理编排,基础设施几乎为零。tmux处理进程管理、进程间通信和会话持久性。共享的MCP服务器和文件系统工作区处理协调。LLM已经可以解析彼此的自然语言输出,因此代理之间的协议规范化可能是不必要的。

想法

而不是。.. AIP使用。..
消息代理 tmux服务器(共享内存)
代理框架 bash+tmux命令
自定义协议 代理以本机方式相互读取(LLM作为解析器)
服务发现 tmux list-windows
状态数据库 带原子的文件系统 mv
SSE流媒体 tmux窗格缓冲区
HTTP传输(远程) SSH
可观察性 workspace/events.jsonl (仅附加日志)

建筑

tmux server "aip"
├── window 0: orchestrator (any CLI agent)
├── window 1: coder (claude/gemini/aider/etc)
├── window 2: reviewer (any CLI agent)
└── ...spawned and killed as needed

workspace/
├── summaries/          ← agent output summaries (markdown)
├── status/             ← agent status files (JSON, merge semantics)
├── tasks/              ← task queue (atomic claiming via mv)
│   ├── pending/        ← unclaimed tasks
│   ├── claimed/        ← in-progress (agent-name prefixed)
│   ├── done/           ← completed
│   ├── failed/         ← move back to pending/ to retry
│   └── packets/        ← persisted IMX task packets
├── transcripts/        ← normalized session transcripts
├── gates/              ← file-backed review / advisor exchange
├── locks/              ← resource lock files
├── route-requests/     ← AIP → IMX routing requests
├── route-decisions/    ← IMX → AIP routing outcomes
├── dream-candidates/   ← gitmem Dream ingestion candidates
├── events.jsonl        ← append-only event log
└── agent_tree.json     ← teammate hierarchy and parent/child links

心跳文件(HEARTBEAT-{agent}.md)和存在哨兵({agent}.present)live位于工作区根目录,因此即使不读取窗格缓冲区,liveness也保持可检查状态。

文件支持的路由接缝

AIP现在可以直接从其MCP/运行时表面发出IMX就绪的路由工件:

  • request_task 可以坚持一个完整的 task_packet 在 workspace/tasks/packets/{task_id}.json 并将数据包引用存储在排队的任务上。
  • request_route 写 workspace/route-requests/{task_id}.json,始终生成最小兼容的任务包,并可以合并更丰富的包字段,如预算、工作树元数据、内存引用和 chain_depth.
  • IMX可以使用 imx route-aip 并将结果写回 workspace/route-decisions/{task_id}.json.

三层存储器

层 存储 访问 重启后仍然存在
热 tmux窗格缓冲区 tmux capture-pane 否(滚动窗)
事件日志 workspace/events.jsonl tail -n 50 是的
冷 工作空间文件(摘要、状态、任务、路由工件) cat 是的

读取层次结构(令牌效率)

始终按此顺序检查——当存在结构化数据时,切勿跳到窗格读取:

级别 命令 成本 何时
1 tail -n 20 workspace/events.jsonl 约50个代币 发生了什么事?
2 cat workspace/status/coder.json 约20个代币 谁在做什么?
3 cat workspace/summaries/coder-0317.md ~100个代币 他们生产了什么?
4 read_pane(incremental=true) 约20个代币 自上次检查以来发生了什么变化?
5 tmux capture-pane -pt aip:coder -S -5 约30个代币 快速浏览(最后5行)
6 tmux capture-pane -pt aip:coder -S -20 ~100个令牌 更多上下文
7 完整窗格已读 ~1000+个令牌 几乎从不需要

快速开始

pip install -e .

# Initialize workspace and tmux session
aip init --ensure-session

# Spawn an agent
aip agent spawn coder "gemini"

# Read what the agent is doing
aip agent capture coder

# Send it a task
aip agent send coder "implement the auth module"

# List all agents
aip agent list

看 examples/two-agent-review.sh 对于完整的两代理场景,您可以在不到一分钟的时间内运行(不需要API密钥)。

支持的后端

AIP目前有跨两个集成层的11个CLI代理的适配器:

后端 层 钩子配置 注释
克劳德代码 一级(本地) .claude/settings.json 挂钩+MCP
副驾驶 一级(本地) .github/copilot/hooks.json 挂钩+MCP
双子座 一级(本地) .gemini/settings.json 挂钩+MCP
基洛 一级(本地) .kiro/agents/{name}.json 挂钩+MCP
食品法典 一级(本土) .codex/hooks.json 挂钩+MCP
OpenCode 第1层(本机) 插件事件 MCP,手动挂钩连接
光标 第1层(本机) .cursor/settings.json 挂钩+MCP
Qwen 一级(本地) .qwen/settings.json 挂钩+MCP
Kilo 第1层(原生) 插件事件 OpenCode分叉
Vibe(Mistral) 第2层(垫片) aip-shim 拦截 MCP+匀场监视器
Amp Tier 2(垫片) aip-shim 拦截 MCP+匀场监视器

添加新后端是最简单的贡献方式之一——请参阅 贡献.md.

接下来是什么

AIP目前可用于本地多代理工作流,但还有很大的发展空间:

  • [ ] PyPI发布 --可通过以下方式安装 pip install agent-interface-protocol
  • [ ] 更多端到端示例 --演示脚本之外的真实场景
  • [ ] aip dashboard --实时工作的所有代理的实时多路视图
  • [ ] 额外的2级垫片 --Windsurf、Cline、Aider和其他没有本地挂钩的CLIs
  • [ ] ACP/A2A兼容层 --可选标志,用于在文件写入时发出ACP格式的事件
  • [ ] 远程多机编排 --基于SSH的跨主机工作区同步
  • [ ] IDE扩展(VSIX) --将AIP透明地集成到VS Code、Cursor、Windsurf中

如果你对这些感兴趣, 展开讨论 或抓一个 新手友好问题.

安装

一个运行时依赖关系: mcp SDK。其他都是Python stdlib。

git clone https://github.com/dev-boz/agent-interface-protocol.git
cd agent-interface-protocol
pip install -e .          # installs `aip` and `aip-mcp` commands
pip install -e '.[dev]'   # also installs pytest for development

需求:Python 3.10+,tmux。

发展

python -m pytest tests/ -q

可选套房:

AIP_RUN_LIVE_TMUX=1 python -m pytest -q tests/integration/test_live_core.py
AIP_RUN_LIVE_TMUX=1 AIP_RUN_LIVE_CLI=1 python -m pytest -q tests/integration/test_live_backends.py

该套件目前涵盖213个通过测试的测试,以及9个默认跳过的选择加入实时检查,涵盖了工作区原语、队列和锁行为、路由工件、钩子规范化、MCP工具、CLI命令、多后端协作和实时tmux/CLI覆盖范围。看 贡献.md 了解详情。

文档

许可证

麻省理工学院