关于 Code Relay
Code Relay 是面向编码 Agent 的 MCP 集成,让开发与验证可在不同机器上进行。它将运行手册绑定到分支和源提交,并返回结构化回执以指导后续修复。
主要功能
- 01按分支绑定项目
- 02在隔离工作树中验证指定提交
- 03通过自托管 Runner 执行检查点
- 04执行带限制的允许列表命令
- 05提供结构化验证回执
适用场景
- 01在 Linux 或类生产环境验证代码
- 02在 CUDA/GPU 机器上运行模型代码
- 03测试本地无法访问的集成或设备
MCP 相关
Code Relay 是通过 stdio 通信的本地 MCP 服务,提供项目绑定、检查点管理、运行手册发布、状态查询、回执获取和分析等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Code Relay
构建。验证。中继。
Code Relay 让你的编码 Agent 能在一台机器上开发,并在另一台机器上验证结果。
Relay 是一种基于 MCP 的编码 Agent 集成方案,支持跨机器开发与验证。开发主机上的 AI 负责实现请求;目标主机负责运行实际验证;随后返回结构化回执,为下一轮修复提供指引。它适用于 Codex、Claude Code、Cursor、VS Code 及其他兼容 MCP 的编码 Agent。
Relay 适用场景
- 不同环境 — 在 Windows 或 macOS 上开发,在 Linux、私有网络或类似生产环境的主机上验证。
- 特殊硬件 — 将模型代码发送到 CUDA/GPU 机器,或在摄像头、串行设备、传感器所连接的主机上进行验证。
- 真实集成 — 测试无法在本地复现的支付回调、队列、数据库、浏览器或内部服务。
- AI 驱动的迭代 — 返回明确的预期与实际结果,让编码 Agent 能够修复、重新发布并重试。
Relay 提供的功能
- 按分支绑定项目,并提供短时有效的加入链接。
- 在隔离的工作树中验证确切的源代码提交。
- 通过
code-relay-checkpointGitHub Actions 自托管运行器执行检查点。 - 使用安全、经过允许列表限制的验证命令,并限制输出和超时时间。
- 为通过、失败和受阻的运行生成结构化的
receipt.json和易读回执。
快速开始
安装 AI 客户端
让你的编码 Agent 阅读并遵循以下说明:
https://raw.githubusercontent.com/zarcherlot/code-relay/main/install.md
npm 备用安装方式
npx -y code-relay-mcp@latest install --client codex
根据需要,将 codex 替换为 claude-code、cursor、vscode 或 generic。
MCP 服务详情
Code Relay 是一个通过 stdio 通信的本地 MCP 服务。npm 包会通过以下方式启动服务:
npx -y [email protected]
该服务直接用 Go 实现 MCP JSON-RPC 接口(不使用第三方 MCP SDK)。它支持 initialize、ping、tools/list 和 tools/call,并提供以下工具:
| 工具 | 用途 |
|---|---|
bind_project | 将代码库和分支绑定到中继角色。 |
create_checkpoint_invite | 创建短时有效的检查点加入链接。 |
join_checkpoint | 加入按分支范围限定的检查点订阅。 |
watcher_status | 查看本地监视器状态。 |
stop_watcher | 停止本地监视器。 |
doctor | 运行不会修改状态的本地健康检查。 |
publish_runbook | 验证并发布运行手册。 |
status | 查看运行手册和回执状态。 |
fetch_receipt | 加载并验证运行手册回执。 |
analyze | 分析回执并确定下一状态。 |
实现和传输循环位于 internal/relay/mcp.go。
工作原理
开发主机通过 Relay 发送与代码库和分支绑定的运行手册;目标主机在实际环境中检查确切的源代码提交,并返回记录检查点结果的回执。
每份运行手册都与代码库、分支和源代码提交绑定。目标主机充当检查点,生成的回执会记录验证通过、失败或受阻的状态,供下一轮迭代使用。
文档
许可证
Code Relay 依据 MIT 许可证发布。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。