关于 RepoRelay
RepoRelay 是一个本地 MCP 桥接服务,让 ChatGPT 只能访问用户指定的一个本地代码仓库,用于读取、搜索代码,并通过固定的 .ai-handoff 文件向本地编码 Agent 交接任务。它不提供 Shell、Git 或任意写入能力。
主要功能
- 01只允许访问一个已批准的仓库
- 02读取文件、列出文件与搜索代码
- 03只读模式可禁用交接写入工具
- 04三个固定的 .ai-handoff 交接文件写入工具
- 05通过 Secure MCP Tunnel 连接 ChatGPT
- 06内置安装、审计与隧道设置向导
适用场景
- 01让 ChatGPT 在不接触整台电脑的前提下审阅本地代码
- 02由 ChatGPT 规划任务并交给 Codex 或 Claude 等本地编码 Agent 执行
- 03在连接 ChatGPT 之前用审计命令验证访问边界
MCP 相关
RepoRelay 是 MCP 服务,向 ChatGPT(作为 MCP 客户端)暴露仓库的读取、搜索工具,以及在启用时的三个交接写入工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
让 AI 访问你的代码仓库,而不是你的电脑。
RepoRelay 让 ChatGPT 安全地检查一个本地代码仓库,
无需让它控制你电脑的其他部分。
ChatGPT → 安全 MCP 隧道 → tunnel-client → RepoRelay → 一个获批的代码仓库
安全读取文件 · 搜索代码 · 一个获批的代码仓库 · 无 shell · 无 Git · 无任意写入
快速设置 · 开始使用 · 任务交接 · 故障排除 · 安全
RepoRelay 的功能
RepoRelay 是一个本地的一方 MCP 桥接器,让 ChatGPT 能够有边界地访问你电脑上恰好一个获批的代码仓库 — 仅此而已。
ChatGPT 通过 RepoRelay 审查你的代码,并可通过固定的任务交接文件,为单独的本地编码 Agent(如 Codex 或 Claude)留下结构化任务。RepoRelay 是 ChatGPT 与你的电脑之间的安全边界。
ChatGPT reviews/plans
↓
RepoRelay
↓
Repository reads/searches
+
fixed .ai-handoff writers
↓
Codex / another local coding agent implements
安全模型的工作原理
MCP(模型上下文协议)是让 ChatGPT 调用工具的标准。
ChatGPT 是 MCP 客户端。RepoRelay 是本地 MCP 服务和安全边界:它决定 ChatGPT 可以访问哪些内容,并且每次只开放一个获准的代码仓库。tunnel-client 只是安全网络管道,用于将 ChatGPT 的流量传输到你的计算机。
| 组件 | 职责 |
|---|---|
| ChatGPT | MCP 客户端 — 选择 RepoRelay 工具。 |
| Secure MCP Tunnel | 将 ChatGPT 的流量传输到你的计算机。 |
tunnel-client | 本地网络转发器;将隧道指向 RepoRelay。 |
| RepoRelay | MCP 服务 + 安全边界;强制执行身份验证和访问权限。 |
| 代码仓库 | ChatGPT 获准检查的唯一目录。 |
ChatGPT 可以通过 RepoRelay 执行的操作(常规的 7 工具设置):
✓ inspect files open_workspace, list_files, read_file
✓ find instructions list_files with instructionsOnly
✓ search the repository search_files
✓ write to three predetermined handoff targets
write_next_task, write_review, update_handoff_state
在只读模式下,只会开放四种读取/搜索工具。
ChatGPT 无法执行的操作:
✗ run shell commands
✗ run PowerShell
✗ run Git
✗ launch processes
✗ arbitrarily edit source files
✗ delete files
✗ choose arbitrary write targets
✗ access outside the approved repository
这是 RepoRelay 最突出的优势之一:ChatGPT 可以读取你的代码并据此制定计划,但它不具备任何执行能力,并且只能写入你控制的少数几个固定交接文件。
安装前须知
我应该使用哪种模式?
RepoRelay 有两种运行模式。选择哪种模式取决于你的 ChatGPT 套餐和工作区:
| 模式 | 启动命令 | Scan Tools 中的工具数 |
|---|---|---|
| 只读 | reporelay quickstart "<repo>" --no-handoff-writes | 4 |
| 交接(默认) | reporelay quickstart "<repo>" | 7 |
- 个人 ChatGPT 工作区:如果你的账户可以使用开发者模式和 Tunnel 连接,请从只读模式开始。ChatGPT 可以打开、读取和搜索代码仓库,但无法写入交接文件。预计会有 4 个工具。
- **Business / Enterprise / Edu 工作区:**可用功能取决于你的套餐以及工作区/管理员设置。如果已启用开发者功能和交接功能,常规设置会开放 7 个工具(4 个读取/搜索工具 + 3 个固定交接写入工具)。
两种模式共用同一安全边界;只读模式只是禁用了三个交接写入工具。RepoRelay 无法启用 ChatGPT 开发者模式或隧道访问权限。OpenAI 套餐和工作区的功能会随时间变化,请查看最新的 OpenAI Secure MCP Tunnel 指南,了解你的账户可使用哪些功能。
你需要:
- Node.js
>=22.19且<27(已包含 npm)。使用node --version检查。 - 一个现有的本地项目或代码仓库,供 ChatGPT 审查。它必须是计算机上的真实文件夹 — 不能是驱动器根目录,也不能是整个用户文件夹。
- **OpenAI Secure MCP Tunnel 访问权限。**RepoRelay 通过 OpenAI 的 Secure MCP Tunnel 连接 ChatGPT。请查看最新的 OpenAI Secure MCP Tunnel 指南,了解可用性、权限和套餐详情。
- 在目标 ChatGPT 工作区创建/使用自定义 MCP 应用的权限(ChatGPT 开发者模式)。
你无需下载其他任何内容。RepoRelay 会在运行 reporelay tunnel setup 时自动安装 OpenAI 官方的 tunnel-client。
暂时不用担心交接协议。快速入门会为你设置可用的交接文件,并在过程中说明它们的用途。
快速设置
在哪里完成设置
设置涉及三个不同的界面,隧道和 ChatGPT 集成也在不同的位置配置:
YOUR MACHINE reporelay quickstart "<repo>"
starts RepoRelay against ONE repository
↓
OPENAI PLATFORM create the Secure MCP Tunnel + runtime API key
(reporelay tunnel setup walks you through it)
↓
CHATGPT enable developer mode, then add RepoRelay
through the Plugins / custom MCP app flow,
choosing the tunnel you created
Secure MCP Tunnel 在 OpenAI Platform 中创建和配置。使用该隧道的 ChatGPT 集成则需要在 ChatGPT 内部添加,而不是在你创建隧道的 Platform 页面中添加。如果你已经有一个隧道,正想知道“我到底要在哪里把 RepoRelay 添加到 ChatGPT?”,请看下方第 6 步,该步骤就在 ChatGPT 内部完成。
路径示例。 始终为仓库路径加上引号:
# macOS / Linux reporelay quickstart "$HOME/Projects/my-app"# Windows PowerShell — 保留反斜杠 reporelay quickstart "C:\Users\you\Projects\my-app"
C:\Users\you\Projects\my-app是正确的。C:Users\you\Projects\my-app则不正确 — 反斜杠很重要。
1. 安装 RepoRelay
npm install -g reporelay-mcp@latest
npm 是受支持且经过测试的安装方式。检查是否安装成功:
reporelay --version
如果找不到 reporelay(macOS/Linux 上显示 command not found,Windows 上显示 is not recognized),请参阅故障排除。
2. 在一个仓库上启动 RepoRelay
reporelay quickstart "$HOME/Projects/my-app"
将路径替换为你要公开的仓库路径(Windows 示例:reporelay quickstart "C:\Projects\my-app")。保持此终端窗口打开。
没有路径?当前目录只是默认值。 如果省略仓库路径,quickstart 会使用当前所在目录,并在摘要中说明这一点。只有这个默认值取决于当前目录——reporelay tunnel setup、tunnel doctor 和 tunnel run 会读取已存储的用户配置,可在任何目录中运行。无需从仓库目录启动隧道。
你应该会看到:
Ready.
Local MCP: http://127.0.0.1:7676/mcp
常规 quickstart 会启用包含 7 个工具的交接界面(4 个检查工具 + 3 个固定交接写入工具)。RepoRelay 现在会创建一个小型 .ai-handoff 工作区和一份 AGENTS.md 说明文件,以便 ChatGPT 为单独运行的本地编码 Agent 留下结构化任务和审查意见:
.ai-handoff/NEXT_TASK.md
.ai-handoff/REVIEW.md
.ai-handoff/RESULT.md
.ai-handoff/STATE.json
AGENTS.md
改用只读模式(--no-handoff-writes,这是为启用了开发者模式和 Tunnel 的个人 ChatGPT 工作区推荐的起始模式)?RepoRelay 会公开 4 个读取/搜索工具,并且不会创建这些文件。请参阅只读模式。
RepoRelay 为什么要创建这些文件? ChatGPT 仍然无法运行命令、使用 Git 或任意编辑你的仓库。这些文件只是让 ChatGPT 留下任务的地方,单独运行的本地编码 Agent(在你自己的机器上,并经你授权)可以在其中留下结果。下文的ChatGPT ↔ 编码 Agent 交接会进一步说明。
之后要停止 RepoRelay,请在此窗口中按 Ctrl+C。没有 reporelay quickstart --stop 命令。
3. 审计
quickstart 完成后,请立即验证 RepoRelay 实际的安全边界:
reporelay audit "$HOME/Projects/my-app"
你应该会看到:
RESULT: PASS
审计会启动自己的临时环回监听器,并测试实际经过身份验证的 MCP 界面、路径包含检查和交接限制。它不会修改你的仓库。这样可以在连接 ChatGPT 之前验证 RepoRelay。如果你启动 quickstart 时使用了 --no-handoff-writes,请在审计命令中添加相同的标志。
4. 运行 RepoRelay 隧道设置
在第二个终端窗口中运行:
reporelay tunnel setup
这将启动 RepoRelay 设置向导。它会为你完成所有操作:
✓ installs a RepoRelay-supported OpenAI tunnel-client
✓ verifies it (pinned version + official SHA-256)
✓ opens OpenAI tunnel setup
✓ asks for your tunnel ID
✓ opens OpenAI runtime-key setup
✓ securely stores the pasted key
✓ creates the tunnel profile
✓ tests the complete connection
你只需在 OpenAI Platform 中提供两项信息:
- 你的 Secure MCP Tunnel ID — 向导会在浏览器中打开
https://platform.openai.com/settings/organization/tunnels。创建或选择一个隧道,将其关联到你的 ChatGPT
工作区,然后将
tunnel_id粘贴回终端。 - 一个运行时 API 密钥 — 向导会打开
https://platform.openai.com/settings/organization/api-keys。为你与隧道搭配使用的项目创建一个
secret key,并将其粘贴到终端中。输入内容会隐藏:粘贴时不会显示任何内容。此密钥用于验证
tunnel-client与 OpenAI 之间的身份;它不是 RepoRelay 桥接密钥。
创建或编辑隧道需要 Tunnels Read + Manage 权限;
运行 tunnel-client 或选择隧道需要 Tunnels Read + Use 权限。
这些组织级权限由组织所有者或 RBAC 管理员授予。请参阅最新的
OpenAI Secure MCP Tunnel 指南
了解准确的界面和权限详情。
向导完成后,你应会看到:
Testing connection...
✓ OpenAI runtime credential
✓ RepoRelay reachable
✓ Bridge authentication
Setup complete.
Next:
reporelay tunnel run
这些检查会实际验证:设置会通过 OpenAI 控制平面验证运行时 API 密钥(与 tunnel-client 启动时执行的只读隧道查询相同),并针对正在运行的 RepoRelay 验证桥接密钥。如果密钥错误、已过期或粘贴有误,系统会在此处给出明确提示 — 而不是等到 tunnel run 启动后才发现。
如果你的 RepoRelay 运行在自定义端口(例如 --port 7677),
quickstart 已记录正在使用的端点,设置过程会自动沿用它 — 无需额外标志。
实用选项:
reporelay tunnel setup --no-open— 不启动浏览器(适用于无头环境、 SSH 或 CI);仍会显示 URL。reporelay tunnel setup --replace-tunnel— 提示输入新的隧道 ID。reporelay tunnel setup --replace-runtime-key— 提示输入新的运行时 API 密钥。reporelay tunnel setup --tunnel-client-path "/path/to/tunnel-client"(Windows:tunnel-client.exe)— 在特殊环境中使用的高级覆盖选项;RepoRelay 不会验证或管理自定义二进制文件。
重新运行 reporelay tunnel setup 会复用现有的已验证客户端、隧道 ID 和已存储的密钥,并重新测试连接,无需再次询问任何信息。
5. 运行隧道
reporelay tunnel run
请让此窗口与 RepoRelay quickstart 窗口同时保持打开。完成后按 Ctrl+C 停止。
如果连接无法正常工作,仍可单独运行 reporelay tunnel doctor 进行故障排查(所有状态正常时应显示 Ready.;添加 --verbose 可查看已脱敏的诊断信息)。
6. 将 RepoRelay 添加到 ChatGPT
此步骤在 ChatGPT 中完成,而不是在你创建隧道的 OpenAI Platform 页面中完成。
命名说明:当前 ChatGPT 界面可能会让你通过 Plugins 进入,而 OpenAI 文档可能仍将底层集成称为 App 或 自定义 MCP 应用。本指南统一称其为“RepoRelay 集成”。如果界面标签有变,请参阅最新的 ChatGPT 开发者模式和 MCP 应用指南。
ChatGPT
→ enable Developer Mode in settings
(exact location varies by plan/workspace as OpenAI updates the UI)
→ Plugins / developer features
→ create custom MCP app
→ connection: Tunnel
→ choose RepoRelay's tunnel
→ authentication: No authentication
→ Scan Tools
→ verify the tool count: 4 in read-only mode, 7 with handoffs
→ create/use the integration
→ start a new chat
按以下顺序操作:
- 在 ChatGPT 设置中启用 Developer Mode,或向工作区管理员申请访问权限。OpenAI 更新界面时,设置的具体位置可能因套餐或工作区而异。
- 创建自定义 MCP 应用。
- 选择 Tunnel 连接方式。
- 选择 RepoRelay/OpenAI Secure MCP Tunnel。
- ChatGPT 要求进行身份验证时,选择 No authentication。
- 保存或创建集成。
- 运行 Scan Tools。
- 确认显示了预期的 RepoRelay 工具。
- 开始新聊天并选择 RepoRelay 集成。
身份验证:No authentication。 RepoRelay 已通过隧道使用的受保护
X-RepoRelay-Bridge-Secret对本地桥接进行身份验证。不要配置 OAuth 或其他 ChatGPT 侧的身份验证方式。
切勿将 127.0.0.1、localhost、RepoRelay 桥接密钥或 OpenAI 运行时 API 密钥粘贴到 ChatGPT 中。隧道连接会处理所有网络通信。
7. 扫描并验证 RepoRelay 工具
在 ChatGPT 集成流程中运行 Scan Tools,并确认工具数量与所用模式相符。
只读模式(--no-handoff-writes)——恰好 4 个工具:
open_workspace
list_files
read_file
search_files
常规交接模式——恰好 7 个工具(包括上述四个工具,以及):
write_next_task
write_review
update_handoff_state
工具数量不同通常意味着正在运行另一种模式。如果 Scan Tools 显示了 shell、Git、进程执行、通用文件编辑、删除、修补或任何其他意外功能,请停止并进行调查,然后再使用该集成 — 运行 reporelay audit "<repo>" --json 并确认工具列表。
8. 测试
开始新聊天,选择 RepoRelay 集成,然后试试:
Open the approved repository and list its top-level files.
然后测试边界:
Try to read .env.
第二个请求应该会被阻止。
已连接——接下来做什么?
现在,ChatGPT 可以通过经过验证的安全边界审查你的代码库。以下提示词很实用:
Read README.md and explain how this project starts.
Search the repository for "authentication".
Find every AGENTS.md and CLAUDE.md instruction file before reviewing code.
RepoRelay 通过现有的 list_files 工具处理该请求,并使用 instructionsOnly: true。它会递归查找已识别的指令文件,不会添加更宽泛的文件名 glob 工具,也不会改变只读模式下的四工具范围。
Review src/server.ts for error-handling issues and write your findings.
ChatGPT ↔ 编码 Agent 交接
常规 RepoRelay 设置允许 ChatGPT 制定计划并审查,而由独立的本地编码 Agent(Codex、Claude 或其他工具)负责实现。RepoRelay 通过一个小型 .ai-handoff 工作区协调二者:
.ai-handoff/
├── NEXT_TASK.md ChatGPT writes the task here
├── RESULT.md the local coding agent writes its result here
├── REVIEW.md ChatGPT writes its review here
└── STATE.json coordinates the cycle
概念上:
ChatGPT
↓ writes NEXT_TASK.md
Codex / local coding agent
↓ implements
↓ writes RESULT.md
ChatGPT
↓ reviews result
↓ writes REVIEW.md
STATE.json 用于协调整个流程。RepoRelay 本身 不会运行 Codex 或 Claude — 它们是你自行启动的独立本地应用。交接文件只是用于往返传递工作的结构化位置。
ChatGPT 只能写入 NEXT_TASK.md、REVIEW.md 和 STATE.json。由实现者负责的 RESULT.md 永远不能由 ChatGPT 写入。
有关详细协议,请参阅 docs/handoff-cycle.md;审查者和实现者提示词示例请参阅 examples/。
日常使用
完成一次性设置后,无需重新创建隧道或 ChatGPT 集成。每天:
-
启动 RepoRelay:
reporelay quickstart "$HOME/Projects/my-app" -
启动隧道(在第二个窗口中):
reporelay tunnel run -
打开 ChatGPT,新建聊天,然后选择现有的 RepoRelay 集成。
这两个命令都可以在任意目录中运行:quickstart 会显式指定仓库路径,而隧道会读取按用户保存的配置。
使用集成期间,请保持两个窗口打开。如果连接停止工作,请再次运行 reporelay tunnel doctor。
切换仓库
RepoRelay 一次只公开一个仓库。
-
在 RepoRelay 终端中按 Ctrl+C。
-
为新仓库启动 RepoRelay:
reporelay quickstart "$HOME/Projects/another-repo" -
保持
tunnel-client运行。它会自动重新连接到重启后的 RepoRelay(端口相同,且使用受保护的 bridge-secret 文件)。如果使用了不同的端口,托管隧道会自动跟随该端口。 -
新建 ChatGPT 对话,并选择 RepoRelay 集成。
-
请 ChatGPT 打开新仓库。
已批准的仓库发生变化时,无需仅因此重新扫描工具。只有工具定义发生变化或 ChatGPT 要求重新扫描时,才进行扫描。
故障排除
| 你看到的情况 | 该怎么做 |
|---|---|
'node' is not recognized / node: command not found | 尚未安装 Node.js,或者安装完成前就打开了终端。请从 https://nodejs.org 安装 Node.js,关闭并重新打开终端,然后检查 node --version。 |
RepoRelay requires Node.js >=22.19 and <27 | 你的 Node 版本不受支持。请安装受支持的 Node.js LTS 版本,重新打开终端,然后检查 node --version。 |
'reporelay' is not recognized(Windows) | npm 安装尚未完成,或者安装完成前就打开了终端。请重新运行 npm install -g reporelay-mcp@latest,关闭并重新打开终端,然后试试 reporelay --version。 |
reporelay: command not found(macOS/Linux) | reporelay 二进制文件不在你的 PATH 中。npm 是受支持的安装方式,请重新运行 npm install -g reporelay-mcp@latest,然后重新打开终端。如果你使用其他包管理器(Bun、pnpm、yarn)进行全局安装,其全局 bin 目录可能不在你的 PATH 中;请修正该包管理器的 PATH 设置,或改用 npm 重新安装。通过嵌套的包管理器路径调用 node .../node_modules/reporelay-mcp/dist/cli.js 是一种变通方法,并非受支持的安装方式。 |
Cannot find module ... dist\cli.js | 你在错误的文件夹中从源代码检出目录运行。请 cd 到 RepoRelay 文件夹,然后先运行 npm run build。 |
C:Users\you\...(路径看起来不正确) | 你漏掉了反斜杠。请将完整的 Windows 路径括在引号中:reporelay quickstart "C:\Users\you\Projects\my-app"。 |
| 存储库不存在 / 不是目录 | RepoRelay 需要一个已存在的目录。请再次检查带引号的路径,并确认该文件夹存在。 |
| 存储库根目录范围过大 | 获准的根目录必须是真实的项目文件夹,不能是驱动器根目录或整个用户文件夹。 |
Port 7676 is already in use | 另一个 RepoRelay 实例或程序正在监听该端口。请在其窗口中按 Ctrl+C 将其停止,或使用自定义端口(--port 7677)重新运行 quickstart——托管隧道会自动跟随新端口。没有 quickstart --stop;请使用 Ctrl+C 停止 RepoRelay。在 Windows 上,使用 `Get-NetTCPConnection -LocalPort 7676 -State Listen |
Quickstart 因已有 AGENTS.md 而停止 | 存储库中已存在没有 RepoRelay 标记的 AGENTS.md。RepoRelay 不会覆盖它。请先检查该文件;如果你希望 RepoRelay 保留该文件并追加带标记的交接说明,请重新运行 reporelay quickstart "..." --append-agent-instructions。 |
缺少 tunnel-client | 重新运行 reporelay tunnel setup;它会重新下载并验证托管客户端。 |
| 隧道 ID 无效 | ID 必须是 tunnel_ 后接 32 个十六进制字符的格式。请从 Platform 隧道设置中重新复制。 |
| 运行时凭据被拒绝 | 运行时 API 密钥或隧道上下文未通过验证。请确认隧道关联的是目标 ChatGPT 工作区(而不只是 Platform 组织),密钥属于与隧道相同的 OpenAI 组织/项目,并且你的帐户拥有 Tunnels Read + Use 权限。请重新运行 reporelay tunnel setup --replace-runtime-key。 |
| 无法访问控制平面 | RepoRelay 无法联系 OpenAI 来验证凭据。请检查互联网连接,然后重新运行 reporelay tunnel doctor。 |
| 隧道 doctor 无法访问 MCP | 请保持 RepoRelay quickstart 窗口运行,并监听配置的端口,然后重新运行 reporelay tunnel doctor。 |
| 桥接身份验证失败 | 请勿粘贴密钥。请确认 quickstart 使用的是规范的 bridge-secret 文件,然后重新运行 reporelay tunnel setup。 |
| ChatGPT 看不到隧道 | 请确认隧道关联的是目标 ChatGPT 工作区(而不只是 Platform 组织),并且你拥有隧道使用权限。 |
| Scan Tools 返回零个工具 | 请保持 RepoRelay 和隧道窗口都处于打开状态,确认 reporelay tunnel doctor 报告 Ready.,然后在选择了 RepoRelay 集成的新聊天中重新扫描。 |
| Scan Tools 显示意外的工具 | 使用该集成前,请先停止并调查:运行 reporelay audit "<repo>" --json 并确认预期列表——只读模式下为 4 个工具,带交接写入时为 7 个。 |
| RepoRelay 窗口已关闭 | RepoRelay 已停止。请使用 reporelay quickstart "<repo>" 重启,然后在新聊天中重试。 |
| 隧道窗口已关闭 | tunnel-client 已停止。请使用 reporelay tunnel run 重启,然后在新聊天中重试。 |
| 自定义端口不匹配 | 请确认 RepoRelay quickstart 端口与 reporelay tunnel doctor 报告的本地 MCP 端点一致。Quickstart 会自动记录实时端点,也可以使用 reporelay tunnel setup --port <port> 明确设置。 |
For 其他情况,请运行 reporelay doctor。它会显示配置和安全状态,但不会打印机密值。 |
只读模式(--no-handoff-writes)
对于可使用开发者模式和 Tunnel 的个人 ChatGPT 工作区(参见我应该使用哪种模式?),以及任何只希望 ChatGPT 检查内容、不创建交接文件且完全不写入的人来说,只读模式是推荐的起始工作流:
reporelay quickstart "$HOME/Projects/my-app" --no-handoff-writes
在此模式下,RepoRelay 只会公开四个工具:
open_workspace
list_files
read_file
search_files
只读模式不会创建 .ai-handoff,不会创建或修改 AGENTS.md,并且会保持已批准的仓库不变。所有隔离、身份验证和安全检查仍会生效。请使用对应的审计标志:
reporelay audit "$HOME/Projects/my-app" --no-handoff-writes
使用此模式时,Scan Tools 中应显示 4 个工具,而非 7 个。
安全性
RepoRelay 强制执行的边界包括:
- 仅绑定到环回地址,并且必须进行身份验证;
- 只能使用一个已存在的规范已批准根目录;
- 屏蔽敏感路径,包括
.env、版本控制元数据、凭据存储和私钥格式; - 阻止路径遍历、根目录之外的绝对路径、符号链接/联接点/重解析点逃逸,以及硬链接绕过;
- 限制读取、搜索、结果和交接内容的大小;
- 不提供 shell、PowerShell、Git、进程、通用写入、补丁、删除、制品、工作树、技能、子 Agent 或本地 Agent 工具;
- 交接写入仅限于三个固定且预先存在的目标。
RepoRelay 是一个最小权限应用边界,并非用于防御同一台计算机上以相同本地用户身份运行的恶意软件的操作系统沙箱。外部 Secure MCP Tunnel 是独立的安全边界,必须单独加以保护。请谨慎选择已批准的仓库。
完整的安全模型和 reporelay audit 文档请参阅 SECURITY.md。
高级配置
大多数用户都不需要这些配置。如有需要:
- 配置 —
REPORELAY_*环境变量、桥接身份验证、端口、日志记录和交接模式。 - ChatGPT Web 设置详情 — Tunnel 和应用的完整参考。
- Windows 操作 — 生命周期脚本、计划任务和托管式 Windows 设置。
.env.example— 仅包含占位配置。切勿在其中放入真实的桥接密钥或 Tunnel 凭据。- 本地 MCP 客户端 — 如果 MCP 客户端与 RepoRelay 在同一台计算机上运行,则无需使用 Tunnel:将其指向 quickstart 输出的本地 MCP URL,并发送从受保护文件中读取的
X-RepoRelay-Bridge-Secret标头。
如需查看配置和安全状态,但不打印机密值:
reporelay doctor
要求和平台支持
- Node.js
>=22.19 <27(包含 npm); - 基于克隆的安装需要 Git;如果改为下载 ZIP,则为可选项。
本 README 中的 quickstart 适用于 Windows、macOS 和 Linux;npm 是受支持的安装方式。Windows 10/11 是经过完整验证的生命周期和运维平台,包括 PowerShell 脚本以及由 Tunnel 管理的操作手册。
限制
- 一次只能公开一个已批准的仓库。
- RepoRelay 不是操作系统沙箱。
- ChatGPT Web 需要外部 OpenAI Secure MCP Tunnel 基础设施,才能访问私有的本地桥接服务。
- Windows 是经过完整验证的生命周期平台;其他平台的 PowerShell/Tunnel 操作并不完全相同。
- Codex、Claude 和其他编码 Agent 是独立的本地应用,并非 RepoRelay 的组成部分。
文档
许可证与项目渊源
RepoRelay 根据 MIT License 发布。项目保留了必要的上游署名,且不捆绑 Codex、Claude 或其他实现方的 SDK 或运行时。
开发
npm ci
npm run typecheck
npm test
npm run verify:release
npm audit --audit-level=low
npm pack --dry-run --json
git diff --check
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。