RepoRelay について
RepoRelay は、ユーザーが承認した 1 つのローカルリポジトリだけを ChatGPT が読み取り・検索し、構造化された引き継ぎを行えるようにするローカルの MCP ブリッジです。シェル、Git、任意の書き込みは提供しません。PC 全体ではなく特定のコードだけを ChatGPT に見せたい開発者向けです。
主な機能
- 01承認した 1 つのリポジトリのみへのアクセス
- 02ファイルの読み取り、一覧表示、コード検索
- 03引き継ぎ用の書き込みツールを無効にする読み取り専用モード
- 04固定の .ai-handoff ファイルへの書き込みツール 3 種
- 05Secure MCP Tunnel 経由の ChatGPT 接続
- 06インストール、監査、トンネル設定のコマンド
活用シーン
- 01PC 全体を公開せず、ChatGPT にローカルコードをレビューさせる
- 02ChatGPT で計画したタスクを Codex や Claude などのローカルコーディングエージェントに渡す
- 03ChatGPT を接続する前に監査コマンドでアクセス境界を検証する
MCP 対応
RepoRelay は MCP サーバーであり、MCP クライアントとしての ChatGPT に対して、リポジトリの読み取り・検索ツールを提供します。引き継ぎモードを有効にすると、引き継ぎ用の書き込みツール 3 種も公開されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AI に渡すのはリポジトリへのアクセス権だけ — あなたのマシンではありません。
RepoRelay を使えば、ChatGPT はコンピューターの他の部分を制御することなく、1 つのローカルリポジトリを安全に検査できます。
ChatGPT → Secure MCP Tunnel → tunnel-client → RepoRelay → 承認済みの 1 つのリポジトリ
安全なファイルの読み取り · コード検索 · 承認済みの 1 つのリポジトリ · シェルなし · Git なし · 任意の書き込みなし
クイックセットアップ · 使い方 · ハンドオフ · トラブルシューティング · セキュリティ
RepoRelay でできること
RepoRelay はローカルのファーストパーティ製 MCP ブリッジであり、ChatGPT に コンピューター上の承認済みリポジトリをちょうど 1 つだけ、範囲を限定してアクセスさせます — それ以上は何もできません。
ChatGPT は RepoRelay を通じてコードをレビューし、固定されたハンドオフファイルを介して、 別のローカルコーディングエージェント(Codex や Claude など)に構造化されたタスクを残すことができます。 RepoRelay は ChatGPT とあなたのマシンの間のセキュリティ境界です。
ChatGPT reviews/plans
↓
RepoRelay
↓
Repository reads/searches
+
fixed .ai-handoff writers
↓
Codex / another local coding agent implements
セーフティモデルの仕組み
MCP(Model Context Protocol)は、ChatGPT がツールを呼び出せるようにする標準規格です。
ChatGPT は MCP クライアントです。RepoRelay はローカルの MCP サーバーでありセキュリティ
境界です。ChatGPT が何にアクセスできるかを決定し、承認された 1 つの
リポジトリだけを一度に公開します。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
読み取り専用モードでは、4 つの読み取り/検索ツールのみが公開されます。
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 の最も強力な差別化要素の 1 つです。ChatGPT はコードを読み、 計画を立てることはできますが、実行能力は一切持たず、あなたが管理する いくつかの固定されたハンドオフファイルにのみ書き込むことができます。
インストールの前に
どのモードを使うべきですか?
RepoRelay は 2 つのモードで動作します。適切なモードは、お使いの ChatGPT プランと ワークスペースによって異なります:
| モード | 開始コマンド | Scan Tools のツール数 |
|---|---|---|
| 読み取り専用 | reporelay quickstart "<repo>" --no-handoff-writes | 4 |
| ハンドオフ(デフォルト) | reporelay quickstart "<repo>" | 7 |
- 個人向け ChatGPT ワークスペース: お使いのアカウントで開発者モードと Tunnel 接続が利用可能であれば、読み取り専用モードから始めてください。 ChatGPT はリポジトリを開き、読み取り、検索できますが、ハンドオフ ファイルには書き込めません。4 ツールになる見込みです。
- Business / Enterprise / Edu ワークスペース: 利用可能な機能は プランとワークスペース/管理者の設定によって異なります。開発者機能とハンドオフが 有効な場合、通常の構成では 7 ツール(4 つの読み取り/検索 + 3 つの固定ハンドオフライター)が公開されます。
どちらのモードも同じセキュリティ境界を共有します。読み取り専用モードは単に 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 を自動的にインストールします。
ハンドオフプロトコルについてはまだ心配しないでください。クイックスタートが 動作するハンドオフファイルをセットアップし、進行に合わせて説明します。
クイックセットアップ
セットアップを行う場所
セットアップは 3 つの異なる領域にまたがっており、トンネルと 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 連携は、トンネルを作成した Platform のページではなく、 ChatGPT の内部で追加します。すでにトンネルがあり、「ChatGPT に RepoRelay を実際どこで追加するのか?」とお考えの場合は、それが以下の手順 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. 1 つのリポジトリで 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 が別の
ローカルコーディングエージェント向けに構造化されたタスクとレビューを残せる
ようにします:
.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 がタスクを残し、別のローカルコーディング エージェント (自身のマシン上で、自身の権限で実行される) がその結果を残す ための単なる場所です。詳細は後述の ChatGPT ↔ コーディングエージェントのハンドオフに あります。
後で 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 トンネルのセットアップを実行する
2 つ目のターミナルウィンドウで、次を実行します:
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
入力が必要なのは次の 2 つだけで、どちらも 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 を開きます。
トンネルで使用するプロジェクトのシークレットキーを作成し、ターミナルに
貼り付けます。入力は非表示です: 貼り付け中は何も表示されません。このキーは
tunnel-clientを OpenAI に対して認証します。RepoRelay のブリッジシークレットでは ありません。
トンネルの作成または編集には Tunnels Read + Manage 権限が必要です。
tunnel-client の実行またはトンネルの選択には Tunnels Read + Use が必要です。
これらは組織レベルの権限で、組織のオーナーまたは RBAC 管理者によって付与されます。
正確な UI と権限の詳細については、最新の
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) で実行されている場合、
クイックスタートがすでに実際のエンドポイントを記録しており、セットアップはそれを
自動的に追従します — 追加のフラグは不要です。
便利なオプション:
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 クイックスタートのウィンドウと並べて開いたままにします。 完了したら Ctrl+C で停止します。
接続が動作しなくなった場合、reporelay tunnel doctor はスタンドアロンの
トラブルシューティングコマンドとして引き続き利用できます (すべて正常な場合は
Ready. が表示されます。--verbose を追加すると、秘匿化された診断情報が得られます)。
6. RepoRelay を ChatGPT に追加する
この手順は ChatGPT 内で 行います — トンネルを作成した OpenAI Platform のページではありません。
名称に関する注意: 現在の ChatGPT UI では Plugins から入るようになっている場合がありますが、OpenAI のドキュメントでは基盤となる統合を依然として App または custom MCP app と呼んでいる場合があります。このガイドでは単に「RepoRelay 統合」と呼びます。名称が変わったときは、最新の ChatGPT developer-mode and MCP apps guide を参照してください。
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 統合を選択します。
認証: 認証なし。 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 ツール (上記の 4 つに加えて):
write_next_task
write_review
update_handoff_state
数が異なる場合は、通常、もう一方のモードが実行されています。Scan Tools にシェル、Git、プロセス実行、汎用ファイル編集、削除、パッチ適用、またはその他の予期しない機能が表示される場合は、統合を使用する前に 停止して調査してください — reporelay audit "<repo>" --json を実行し、ツールリストを確認してください。
8. テストする
新しいチャットを開始し、RepoRelay 統合を選択して、次を試してください:
Open the approved repository and list its top-level files.
次に境界をテストします:
Try to read .env.
2 番目のリクエストはブロックされるはずです。
接続できました — 次はどうする?
これで 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 ツールを追加したり、4 ツールの読み取り専用サーフェスを変更したりすることなく、認識されたインストラクションファイルを再帰的に検出します。
Review src/server.ts for error-handling issues and write your findings.
ChatGPT ↔ コーディングエージェントのハンドオフ
通常の RepoRelay セットアップでは、ChatGPT が計画とレビューを行い、別のローカルコーディングエージェント (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" -
トンネルを起動します(2 つ目のウィンドウで)。
reporelay tunnel run -
ChatGPT を開き、新しいチャットを開始し、既存の RepoRelay 統合を選択します。
どちらのコマンドも任意のディレクトリから実行できます。quickstart はリポジトリのパスを明示的に受け取り、トンネルは保存されたユーザーごとの設定を読み込みます。
統合を使用している間は、両方のウィンドウを開いたままにしてください。接続が機能しなくなった場合は、もう一度 reporelay tunnel doctor を実行してください。
リポジトリを切り替える
RepoRelay は一度に 1 つのリポジトリのみを公開します。
-
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)でグローバルインストールした場合、その global-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"。 |
| Repository does not exist / not a directory | RepoRelay には既存のディレクトリが必要です。引用符で囲んだパスと、フォルダーが存在することを再確認してください。 |
| Repository root is too broad | 承認するルートは実際のプロジェクトフォルダーである必要があり、ドライブのルートやユーザーフォルダー全体であってはなりません。 |
Port 7676 is already in use | 別の RepoRelay またはプログラムがそのポートで待ち受けています。そのウィンドウで Ctrl+C を押して停止するか、カスタムポート(--port 7677)を指定して quickstart を再実行してください — 管理対象トンネルは新しいポートに自動的に追従します。quickstart --stop はありません。RepoRelay は Ctrl+C で停止してください。Windows では、`Get-NetTCPConnection -LocalPort 7676 -State Listen |
Quickstart が既存の AGENTS.md について停止する | リポジトリにすでに RepoRelay マーカーのない AGENTS.md があります。RepoRelay はそれを上書きしません。まずファイルを確認してください。RepoRelay にそれを保持させ、マーカー付きのハンドオフ手順を追記させたい場合は、reporelay quickstart "..." --append-agent-instructions を再実行してください。 |
tunnel-client missing | reporelay tunnel setup を再実行してください。管理対象クライアントを再ダウンロードして検証します。 |
| Invalid tunnel ID | ID は tunnel_ に続けて 32 文字の 16 進数である必要があります。Platform のトンネル設定からもう一度コピーしてください。 |
| Runtime credential rejected | ランタイム API キーまたはトンネルコンテキストが受け入れられませんでした。トンネルが対象の ChatGPT ワークスペースに関連付けられていること(Platform 組織だけではないこと)、キーがトンネルと同じ OpenAI 組織/プロジェクトに属していること、アカウントに Tunnels Read + Use があることを確認してください。reporelay tunnel setup --replace-runtime-key を再実行してください。 |
| Control plane unreachable | RepoRelay が認証情報を検証するために OpenAI に接続できませんでした。インターネット接続を確認し、reporelay tunnel doctor を再実行してください。 |
| Tunnel doctor cannot reach MCP | 設定されたポートで RepoRelay quickstart ウィンドウを実行したままにし、reporelay tunnel doctor を再実行してください。 |
| Bridge authentication failure | シークレットを貼り付けないでください。quickstart が正規の bridge-secret ファイルを使用していることを確認し、reporelay tunnel setup を再実行してください。 |
| ChatGPT cannot see the tunnel | トンネルが対象の ChatGPT ワークスペースに関連付けられていること(Platform 組織だけではないこと)と、トンネル使用権限があることを確認してください。 |
| Scan Tools returns zero tools | RepoRelay とトンネルの両方のウィンドウを開いたままにし、reporelay tunnel doctor が Ready. を報告することを確認してから、RepoRelay 統合を選択した新しいチャットで再スキャンしてください。 |
| Scan Tools shows unexpected tools | 統合を使用する前に停止して調査してください: reporelay audit "<repo>" --json を実行し、期待されるリスト — 読み取り専用モードで 4 ツール、ハンドオフ書き込みありで 7 ツール — を確認してください。 |
| RepoRelay window was closed | RepoRelay が停止しました。reporelay quickstart "<repo>" で再起動し、新しいチャットで再試行してください。 |
| Tunnel window was closed | tunnel-client が停止しました。reporelay tunnel run で再起動し、新しいチャットで再試行してください。 |
| Custom port mismatch | RepoRelay quickstart のポートが、reporelay tunnel doctor がローカル MCP エンドポイントとして報告するものと一致することを確認してください。Quickstart は稼働中のエンドポイントを自動的に記録します。明示的に設定する場合は reporelay tunnel setup --port <port> を使用してください。 |
それ以外の場合は、reporelay doctor を実行してください。シークレットの値は表示せずに、構成とセキュリティの状態を出力します。 |
読み取り専用モード (--no-handoff-writes)
読み取り専用モードは、開発者モードとトンネルが利用可能な個人向け ChatGPT ワークスペース(詳細はどのモードを使うべきですか?を参照)や、ChatGPT に検査のみを行わせたい(ハンドオフファイルも書き込みも一切なし)場合に推奨される開始ワークフローです:
reporelay quickstart "$HOME/Projects/my-app" --no-handoff-writes
このモードでは、RepoRelay はちょうど 4 つのツールを公開します:
open_workspace
list_files
read_file
search_files
読み取り専用モードでは .ai-handoff を作成せず、AGENTS.md の作成や変更も行わず、承認済みリポジトリを変更しないままにします。封じ込め、認証、セキュリティチェックはすべて引き続き適用されます。対応する監査フラグを使用してください:
reporelay audit "$HOME/Projects/my-app" --no-handoff-writes
このモードを使用する場合、Scan Tools には 7 個ではなく 4 つのツールが表示されます。
セキュリティ
RepoRelay が強制する境界には以下が含まれます:
- ループバック限定のバインドと認証が必須。
- 既存の正規の承認済みルートがちょうど 1 つ。
.env、VCS メタデータ、認証情報ストア、秘密鍵形式など、機密パスがブロックされる。- トラバーサル、ルート外の絶対パス、シンボリックリンク/ジャンクション/リパースポイントによる脱出、ハードリンクによるバイパスがブロックされる。
- 読み取り、検索、結果、ハンドオフコンテンツのサイズが制限される。
- シェル、PowerShell、Git、プロセス、汎用書き込み、パッチ、削除、アーティファクト、ワークツリー、スキル、サブエージェント、ローカルエージェントのツールは提供されない。
- ハンドオフの書き込みは、既存の 3 つの固定ターゲットに限定される。
RepoRelay は最小権限のアプリケーション境界であり、同じローカルユーザーとしてすでに実行されている悪意のあるソフトウェアに対するオペレーティングシステムのサンドボックスではありません。外部の Secure MCP Tunnel は別個のセキュリティ境界であり、独立して保護する必要があります。承認済みリポジトリは慎重に選択してください。
完全なセキュリティモデルと reporelay audit のドキュメントについては、SECURITY.md を参照してください。
高度な構成
ほとんどのユーザーはこれらを必要としません。必要になった場合は、以下を参照してください:
- 構成 —
REPORELAY_*環境変数、ブリッジ認証、ポート、ログ、ハンドオフモード。 - ChatGPT Web セットアップの詳細 — トンネルとアプリの完全なリファレンス。
- Windows での運用 — ライフサイクルスクリプト、スケジュールタスク、管理された Windows セットアップ。
.env.example— プレースホルダーの構成のみ。実際のブリッジシークレットやトンネルの認証情報を絶対に入れないでください。- ローカル MCP クライアント — MCP クライアントが RepoRelay と同じコンピューターで実行されている場合、トンネルは不要です。クイックスタートで表示されるローカル MCP URL を指定し、保護されたファイルから読み込んだ
X-RepoRelay-Bridge-Secretヘッダーを送信してください。
シークレットの値を表示せずに構成とセキュリティの状態を確認するには:
reporelay doctor
要件とプラットフォームのサポート
- Node.js
>=22.19 <27(npm が含まれています)。 - クローンによるインストールには Git — 代わりに ZIP をダウンロードする場合は任意です。
この README のクイックスタートは Windows、macOS、Linux で動作します。npm がサポート対象のインストーラーです。Windows 10/11 は、PowerShell スクリプトとトンネル管理のランブックを含め、完全に検証されたライフサイクルおよび運用プラットフォームです。
制限事項
- 一度に公開される承認済みリポジトリは 1 つです。
- RepoRelay はオペレーティングシステムのサンドボックスではありません。
- ChatGPT Web がプライベートなローカルブリッジに到達するには、外部の OpenAI Secure MCP Tunnel インフラストラクチャが必要です。
- Windows が完全に検証されたライフサイクルプラットフォームです。他のプラットフォームには同一の PowerShell/トンネル運用はありません。
- Codex、Claude、その他のコーディングエージェントは別個のローカルアプリケーションであり、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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。