关于 Agent Interop Runtime
Agent Interop Runtime 是用于协调多种编码 Agent 会话的本地 MCP 服务,同时保留各提供方独立的账号、历史记录、权限和工作区。它支持分派任务、跟踪进度,并在会话间交接结果。
主要功能
- 01发现本地提供方会话
- 02创建或恢复受支持的会话
- 03发送任务并跟踪进度
- 04共享工作笔记、交接和评审
- 05运行配置的工作区检查
- 06读取获准的项目文本文件
适用场景
- 01为任务选择本地 Agent 会话
- 02跟踪跨会话的任务交付与完成
- 03在不合并提供方历史记录时协调交接
MCP 相关
本地 MCP 客户端连接该运行时;运行时提供查找和管理提供方会话、协调共享工作等工具。支持本地 stdio 和回环 HTTP 模式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
52收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
Agent Interop Runtime
你的编码 Agent 已经知道如何工作,而本项目可以帮助它们共享任务,同时各自保留自己的身份、账户和工作环境。
将本地 MCP 客户端连接到 Agent Interop Runtime,它就会找到计算机上可用的编码 Agent,供你选择会话、向其分配工作、跟进进度,并将结果传递给另一个会话。每个提供方仍使用自己的账户、权限、历史记录和工作区访问权限,因此运行时可以协调工作,而不会合并彼此独立的环境。
你可以把它想成编码 Agent 的交通调度台:它会显示哪个会话接收了任务,记录提供方发回的更新,并将每项检查的结果集中存放,而不会在幕后创建共享聊天。


这些图片仅用于说明工作流和可用的测量数据,并不展示实时提供方会话。
发送工作时会发生什么
运行时会将你的消息发送到所选的提供方会话,回执可能会确认提供方已接收消息;不过,接收确认只表示消息已送达提供方,并不代表 Agent 已完成任务。只有在观察到该会话的结果后,运行时才会报告任务完成。
投递状态不确定时也遵循同样的规则,因为网络故障可能发生在提供方已接收消息、但运行时尚未收到确认之后。在这种情况下,运行时会将投递状态标记为未知,不会悄悄重新发送提示词,从而避免重复执行可能已经开始的工作。
它能做什么
查找计算机上支持的提供方会话,让你在选择工作发送位置之前查看有哪些本地工具可用。
在所选提供方支持时创建或恢复会话,并使用提供方报告查看你的配置中有哪些控制选项可用。
在所选提供方支持时分配工作、请求取消、读取进度并收集提供方差异。
保留共享工作备注、交接信息、证据、审查记录和协作式资源声明,让参与的会话可以围绕同一任务进行协调。
在明确启用验证后,于指定工作区内运行本地检查,并在将配置的程序用于项目之前检查它们。
读取已批准项目文件夹内的小型文本文件;常见凭据文件会被拦截,类似凭据的文本会被脱敏,二进制文件则会被拒绝。
不同提供方的功能各不相同,因此 doctor 报告会显示每个已安装提供方的能力;仅仅找到某个提供方,并不能确认其登录状态或是否已准备好接收工作。
它不能做什么
它不会合并提供方账户或历史记录,每个会话仍受其提供方自身设置的约束。
它不会绕过登录、同意提示或权限请求,因此你必须通过提供方本身完成这些步骤。
它不会让 Agent 访问计算机上未安装的提供方,也不会取代提供方自己的应用程序。
它不会沙箱化命令,因为验证会以你的账户现有权限运行所配置的程序,因此只应对你信任的工作和命令使用验证。
资源声明可以协调使用此运行时的 Agent,但无法阻止运行时以外的其他程序编辑同一文件。
提供方
Freebuff Desktop 使用本地应用连接,并且在发送工作前,写入操作需要先进行当前启动检查;Freebuff CLI 则使用托管终端会话。
OpenCode 使用本地服务器,运行时可在需要时于 loopback 上启动该服务器;网络结果不确定时,可能更改工作内容的请求绝不会重放。每个会话都会与提供该会话的服务器保持绑定,因此切换服务器不会悄悄重定向现有工作。
Codex 使用 Codex 应用服务器,而 Claude Code 和 Cursor 使用其支持的 Agent Client Protocol 命令。
可用功能取决于提供方版本、本地配置和账户状态,大多数协议检查使用模拟提供方,而非实时会话。依赖实时工作前,请先在目标计算机上检查提供方。
当前证据
仓库测试套件通过了 125 项检查,离线基准测试运行了 3 个模拟交接任务,期间观察到提供方发送没有重复。这些结果仅说明记录在案的测试运行情况,因为基准测试不会连接实时 Agent、测量速度或估算提供方费用。
GitHub CI 使用 4 个受支持的 Node 版本检查 3 种操作系统,共有 12 种组合。
此前的本地检查观察到 Freebuff GLM 5.3 Flash 的响应,OpenCode Big Pickle 也接受了提示词,不过该会话中未观察到任务完成。这些结果仅适用于这些特定会话,因此无法证明提供方具备普遍支持。
安装
使用 Node 20 至 Node 26,并在运行提供方检查前使用 pnpm 安装已发布的软件包。
pnpm add --global agent-interop-runtime
agent-interop-runtime doctor
最新发布到 npm 的版本是 0.3.2,而此处介绍的源代码修复已在仓库中提供;如果想在发布更新版本的软件包之前尝试这些更改,请从仓库构建。
git clone https://github.com/Praket7/agent-interop-runtime.git
cd agent-interop-runtime
pnpm install
pnpm build
node dist/src/cli.js doctor
连接本地 MCP 客户端
运行安装程序以检查本地 Codex 条目;如果希望运行时为你更新该条目,请使用其写入选项。
node dist/src/cli.js install
node dist/src/cli.js install --write
写入选项会备份当前文件并保留无关设置,但更改配置后应重启 Codex,因为仅安装 npm 软件包不会修改你的设置。
其他 MCP 客户端可以通过其本地服务器配置启动相同的 serve 命令;除非你已刻意设置经过身份验证的远程访问,否则应将此连接保留在自己的计算机上。
选择较精简的工具集
完整配置会公开所有可用工具,但只需要一组特定控制功能时,Agent 可能会发现较精简的配置更易于使用。
INTEROP_TOOLS_PROFILE=minimal
INTEROP_TOOLS_PROFILE=core
INTEROP_TOOLS_PROFILE=freebuff
INTEROP_TOOLS_PROFILE=legacy
INTEROP_TOOLS_PROFILE=full
最小配置侧重于提供方会话,而 Core 会添加共享工作记录,Freebuff 则公开 Freebuff 专用控制功能;Legacy 将 Core 与较旧的 Freebuff 工具组合在一起,Full 是默认配置;也可通过 INTEROP_READ_ONLY=1 启用只读模式。
运行检查
pnpm typecheck
pnpm test
pnpm lint
pnpm mcp:validate
pnpm bench:check
pnpm pack:check
有关设置和支持行为的详情,请阅读提供方指南、通俗易懂的架构指南、兼容性说明和故障排除。
安全与隐私
本地 stdio 服务是最简单的配置,而 HTTP 模式默认绑定到 loopback,并要求使用 bearer token。远程访问需要显式设置并采取网络保护措施,因为会话标识符不能替代身份验证。
项目文件读取仅限于所选项目文件夹,并会拒绝访问常见的凭据文件,同时检查文本中是否包含常见的凭据模式。这些检查无法检测出所有秘密,因此请勿将敏感值放在 Agent 可以读取的文件中。
验证默认处于关闭状态;启用后,它会在不使用 shell 的情况下运行已配置的程序,并检查工作文件夹是否位于指定的工作区内。子程序不会受到沙箱隔离,因此仍拥有你的账户所授予的访问权限。
帮助改进项目
提交工作前,请使用 doctor;报告问题时,请注明提供方名称、版本、操作系统、你尝试的操作,以及提供方是接受了任务还是返回了已完成的结果。请勿在报告中包含私密提示词和凭据。
项目欢迎可复现的兼容性报告和代码贡献,尤其是那些说明特定提供方版本和计算机上发生了什么的报告。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。