Skip to main content
Glama
Lukie-81
by Lukie-81

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

Related MCP server: chatgpt-codex-local-mcp

セーフティモデルの仕組み

MCP (Model Context Protocol) は、ChatGPT がツールを呼び出せるようにする標準です。ChatGPT は MCP クライアントです。RepoRelay はローカルの MCP サーバー兼セキュリティ境界であり、ChatGPT がアクセスできるものを決定し、一度に1つの承認されたリポジトリのみを公開します。tunnel-client は、ChatGPT のトラフィックをコンピュータに運ぶセキュアなネットワークパイプにすぎません。

コンポーネント

役割

ChatGPT

MCP クライアント — RepoRelay ツールを選択します。

セキュア MCP トンネル

ChatGPT からコンピュータへトラフィックを運びます。

tunnel-client

ローカルネットワークフォワーダー。トンネルを RepoRelay に向けます。

RepoRelay

MCP サーバー兼セキュリティ境界。認証と許可されたアクセスを強制します。

リポジトリ

ChatGPT が検査を許可されている1つのディレクトリ。

ChatGPT が RepoRelay を通じてできること(通常の7ツール構成):

✓ inspect files          open_workspace, list_files, read_file
✓ 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 の最も強力な差別化要因の1つです。ChatGPT はコードを読み、計画を立てることができますが、実行能力はなく、あなたが制御するいくつかの固定ハンドオフファイルにのみ書き込むことができます。

インストール前に

必要なもの:

  • Node.js >=22.19 かつ <27(npm 含む)。node --version で確認してください。

  • 既存のローカルプロジェクトまたはリポジトリ ChatGPT にレビューさせたいもの。コンピュータ上の実際のフォルダである必要があります — ドライブのルートやユーザーフォルダ全体は不可。

  • OpenAI Secure MCP Tunnel へのアクセス。 RepoRelay は OpenAI の Secure MCP Tunnel を通じて ChatGPT に到達します。現在の OpenAI Secure MCP Tunnel ガイド で、可用性、権限、プランの詳細を確認してください。

  • カスタム MCP アプリを作成/使用する権限 対象の ChatGPT ワークスペース内(ChatGPT 開発者モード)。

他にダウンロードする必要はありません。RepoRelay は reporelay tunnel setup 中に公式の OpenAI tunnel-client を自動的にインストールします。

ハンドオフプロトコルについてはまだ心配する必要はありません。クイックスタートで動作するハンドオフファイルを設定し、手順に沿って説明します。

クイックセットアップ

Windows のパス。 パス全体を引用符で囲み、バックスラッシュを維持してください:

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

インストールを確認:

reporelay --version

reporelay が認識されない場合は、トラブルシューティング を参照してください。

2. 1つのリポジトリで RepoRelay を起動する

reporelay quickstart "C:\Projects\my-app"

パスを公開したいリポジトリに置き換えてください。この PowerShell ウィンドウは開いたままにしておきます。

次のように表示されるはずです:

Ready.
Local MCP: http://127.0.0.1:7676/mcp

通常のクイックスタートでは、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

なぜ RepoRelay はこれらを作成するのですか? ChatGPT は依然としてコマンドを実行したり、Git を使用したり、リポジトリを任意に編集したりすることはできません。これらのファイルは、ChatGPT がタスクを残し、別のローカルコーディングエージェント(自分のマシン上で、自分の許可で実行される)がその結果を残すための単なる場所です。詳細は ChatGPT ↔ コーディングエージェントハンドオフ を参照してください。

後で RepoRelay を停止するには、このウィンドウで Ctrl+C を押してください。reporelay quickstart --stop はありません。

3. 監査する

クイックスタートの直後に、RepoRelay の実際のセキュリティ境界を確認します:

reporelay audit "C:\Projects\my-app"

次のように表示されるはずです:

RESULT: PASS

監査は独自の一時的なループバックリスナーを起動し、実際の認証された MCP サーフェス、封じ込めチェック、およびハンドオフ制限を実行します。リポジトリは変更しません。これにより、ChatGPT が接続される 前に RepoRelay が検証されます。

4. RepoRelay トンネルセットアップを実行する

2つ目の PowerShell ウィンドウで、次を実行します:

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 内にあります:

  1. Secure MCP Tunnel ID — ウィザードがブラウザで https://platform.openai.com/settings/organization/tunnels を開きます。トンネルを作成または選択し、ChatGPT ワークスペースに関連付けて、その tunnel_id をターミナルに貼り付けます。

  2. ランタイム 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

これらのチェックは本物です。セットアップは、ランタイム API キーを OpenAI コントロールプレーン(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 "C:\custom\tunnel-client.exe" — 特殊な環境向けの高度な上書き。RepoRelay はカスタムバイナリを検証または管理しません。

reporelay tunnel setup を再実行すると、既存の検証済みクライアント、トンネル ID、保存されたキーが再利用され、何も再度要求せずに接続を再テストします。

5. トンネルを実行する

reporelay tunnel run

このウィンドウは RepoRelay クイックスタートウィンドウと一緒に開いたままにしておきます。終了したら Ctrl+C で停止します。

接続が機能しなくなった場合、reporelay tunnel doctor はスタンドアロンのトラブルシューティングコマンドとして引き続き利用可能です(すべて正常な場合は Ready. が表示されます。詳細な診断には --verbose を追加してください)。

6. ChatGPT アプリを作成する

ChatGPT で、現在の OpenAI フローを使用します(ChatGPT 開発者モードと MCP アプリガイド を参照):

ChatGPT
→ Apps / developer features
→ create custom MCP app
→ connection: Tunnel
→ choose RepoRelay's tunnel
→ authentication: No authentication
→ Scan Tools
→ verify 7 tools
→ create/use the app
→ start a new chat

次の順序に従ってください:

  1. カスタム MCP アプリを作成します。

  2. トンネル接続を選択します。

  3. RepoRelay/OpenAI Secure MCP Tunnel を選択します。

  4. ChatGPT が認証を求めてきたら、認証なしを選択します。

  5. アプリを保存または作成します。

  6. ツールをスキャンを実行します。

  7. 期待される RepoRelay ツールが表示されることを確認します。

  8. 新しいチャットを開始し、RepoRelay アプリを選択します。

認証:認証なし。 RepoRelay は、トンネルで使用される保護された X-RepoRelay-Bridge-Secret を通じてローカルブリッジを既に認証しています。OAuth やその他の ChatGPT 側の認証方法を構成しないでください。

127.0.0.1、localhost、RepoRelay ブリッジシークレット、または OpenAI ランタイム API キーを ChatGPT に貼り付けないでください。トンネル接続がすべてのネットワーキングを行います。

7. 7つの RepoRelay ツールをスキャンして確認する

ChatGPT アプリフローで、ツールをスキャンを実行し、RepoRelay が正確にこれら7つのツールを公開していることを確認します:

open_workspace
list_files
read_file
search_files
write_next_task
write_review
update_handoff_state

それが期待される通常のサーフェスです。ツールのスキャンでシェル、Git、プロセス実行、汎用ファイル編集、削除、パッチ適用、またはその他の予期しない機能が表示された場合は、停止して調査してからアプリを使用してください — reporelay audit "C:\Projects\my-app" --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".
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アプリを再作成しないでください。毎日以下の手順を行います:

  1. RepoRelayを起動します:

    reporelay quickstart "C:\Projects\my-app"
  2. トンネルを起動します(別のウィンドウで):

    reporelay tunnel run
  3. ChatGPTを開き、新しいチャットを開始し、既存のRepoRelayアプリを選択します。

アプリを使用している間は両方のウィンドウを開いたままにしてください。接続が機能しなくなった場合は、再度 reporelay tunnel doctor を実行してください。

リポジトリの切り替え

RepoRelayは一度に1つのリポジトリのみを公開します。

  1. RepoRelayターミナルで Ctrl+C を押します。

  2. 新しいリポジトリ用にRepoRelayを起動します:

    reporelay quickstart "C:\Projects\another-repo"
  3. tunnel-client は実行したままにしておきます。再起動されたRepoRelayに自動的に再接続されます(同じポートと保護されたブリッジシークレットファイルを使用します)。異なるポートを使用した場合、管理トンネルは自動的にそれに追従します。

  4. 新しいChatGPTの会話を開始し、RepoRelayアプリを選択します。

  5. ChatGPTに新しいリポジトリを開くように依頼します。

承認されたリポジトリが変更されたからといって、ツールの再スキャンを行わないでください。再スキャンは、ツール定義が変更された場合、またはChatGPTから依頼があった場合のみ行ってください。

トラブルシューティング

表示される内容

対処方法

'node' is not recognized

Node.js がインストールされていないか、インストール完了前に PowerShell を開いています。https://nodejs.org から Node.js をインストールし、PowerShell を閉じて再度開き、node --version を確認してください。

RepoRelay requires Node.js >=22.19 and <27

Node のバージョンがサポート外です。サポートされている Node.js LTS リリースをインストールし、PowerShell を再度開き、node --version を確認してください。

'reporelay' is not recognized

npm インストールが完了していないか、完了前に PowerShell を開いています。npm install -g reporelay-mcp@latest を再実行し、PowerShell を閉じて再度開き、reporelay --version を試してください。

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

Select-Object LocalAddress, LocalPort, OwningProcess でリスナーを確認し、Get-Process -Id ` で調査します。RepoRelay がプロセスを強制終了することはありません。

Quickstart stops about an existing AGENTS.md

リポジトリにすでに AGENTS.md が存在し、RepoRelay のマーカーがありません。RepoRelay は上書きしません。最初にファイルを確認してください。RepoRelay にそれを保持させ、マークされたハンドオフ手順を追加したい場合は、reporelay quickstart "..." --append-agent-instructions を再実行してください。

tunnel-client missing

reporelay tunnel setup を再実行してください。管理クライアントを再ダウンロードして検証します。

Invalid tunnel ID

ID は tunnel_ の後に 32 文字の 16 進数が続く形式である必要があります。プラットフォームのトンネル設定から再度コピーしてください。

Runtime credential rejected

プラットフォームでランタイム API キーとトンネル ID を確認し、アカウントに Tunnels Read + Use 権限があることを確認してください。reporelay tunnel setup を再実行してください。

Control plane unreachable

RepoRelay が OpenAI に接続して認証情報を検証できませんでした。インターネット接続を確認し、reporelay tunnel doctor を再実行してください。

Tunnel doctor cannot reach MCP

RepoRelay の quickstart ウィンドウを設定されたポートで実行したままにして、reporelay tunnel doctor を再実行してください。

Bridge authentication failure

シークレットを貼り付けないでください。quickstart が正規のブリッジシークレットファイルを使用していることを確認し、reporelay tunnel setup を再実行してください。

ChatGPT cannot see the tunnel

トンネルが対象の ChatGPT ワークスペース(プラットフォーム組織だけでなく)に関連付けられていること、およびトンネル使用権限があることを確認してください。

Scan Tools returns zero tools

RepoRelay とトンネルの両方のウィンドウを開いたままにし、reporelay tunnel doctor が Ready. と報告することを確認してから、新しい アプリ/チャットで再スキャンしてください。

Scan Tools shows unexpected tools

アプリを使用する前に停止して調査してください:reporelay audit "C:\Projects\my-app" --json を実行し、期待される 7 つのツールリストを確認してください。

RepoRelay window was closed

RepoRelay が停止しました。reporelay quickstart "C:\Projects\my-app" で再起動し、新しいチャットで再試行してください。

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 を実行してください。シークレット値を出力することなく、設定とセキュリティの状態を表示します。

オプションの読み取り専用モード

通常のRepoRelayのエクスペリエンスは、上記の7ツールのハンドオフサーフェスであり、初心者におすすめのセットアップです。ChatGPTに検査のみをさせたい場合 — ハンドオフファイルなし、書き込みも一切なし — は、次から始めてください:

reporelay quickstart "C:\Projects\my-app" --no-handoff-writes

このオプションモードでは、RepoRelayは正確に4つのツールを公開します:

open_workspace
list_files
read_file
search_files

読み取り専用モードは.ai-handoffを作成せず、AGENTS.mdを作成または変更せず、承認済みリポジトリを変更しないままにします。すべての封じ込め、認証、およびセキュリティチェックは引き続き適用されます。対応する監査フラグを使用してください:

reporelay audit "C:\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で動作します。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

Related MCP Connectors

Related MCP Servers