ChatGPT Codex Bridge
ChatGPT Codex Bridge
简体中文 | Sicherheit | Mitwirken
Eine lokale MCP-Brücke, die es ChatGPT ermöglicht, registrierte Codex-Projekte zu inspizieren, den Codex-Sitzungsverlauf zu lesen und bestätigte Aufgaben an die lokale Codex-CLI zu übermitteln.
[!IMPORTANT] Dies ist ein unabhängiges Community-Projekt. Es ist kein offizielles OpenAI-Produkt und weder mit OpenAI verbunden noch von OpenAI unterstützt. ChatGPT, Codex und OpenAI sind Marken ihrer jeweiligen Inhaber.
Was es tut
Erkennt Projekte, die bereits in Codex Desktop registriert sind, ohne Zugriff auf das gesamte Home-Verzeichnis zu gewähren.
Führt Analyse und Planung in der schreibgeschützten Codex-Sandbox durch.
Erfordert ein kurzlebiges, einmalig verwendbares Bestätigungstoken vor Schreibvorgängen im Arbeitsbereich.
Listet und liest sichtbare Codex-Sitzungen mit Cursor-Paginierung und Schwärzung.
Unterstützt zeitlich begrenzten, vom Benutzer bestätigten Zugriff auf einzelne projekttlose Sitzungen im Bereich „Recent“ von Codex Desktop.
Erstellt begrenzten Projektverlaufskontext, ohne mehrere Gigabyte große Verläufe in den Speicher zu laden.
Erstellt und setzt persistente Codex-Desktop-Sitzungen über das lokale Codex-App-Server-Protokoll fort.
Übergibt von ChatGPT bereitgestellten Kontext als nicht vertrauenswürdigen Referenztext an Codex, mit Erkennung von Geheimnissen.
Verwendet Hintergrundjobs, damit lange Codex-Aufgaben keine MCP-Tunnelanfrage offen halten.
Die Brücke stellt kein beliebiges Shell-Tool bereit und lauscht nicht auf einem öffentlichen Port. Der Fernzugriff erfolgt über den offiziellen OpenAI Secure MCP Tunnel Client.
Related MCP server: ChatGPT MCP Bridge
Architektur
flowchart LR
A[ChatGPT] -->|MCP connector| B[OpenAI Secure MCP Tunnel]
B -->|outbound tunnel| C[tunnel-client on your machine]
C -->|stdio MCP| D[ChatGPT Codex Bridge]
D -->|sandboxed commands| E[Codex CLI]
D -->|read-only indexes| F[Codex projects and sessions]
D -. optional local IPC .-> G[Codex Desktop sidebar refresh]Der optionale Seitenleisten-Aktualisierungspfad hängt von einer privaten, nicht unterstützten Codex-Desktop-Erweiterung ab und ist nicht in diesem Repository enthalten. Die Kernbrücke funktioniert ohne sie; neu erstellte persistente Sitzungen erfordern möglicherweise einen Neustart von Codex Desktop, bevor sie in der Seitenleiste erscheinen.
Anforderungen
macOS oder Linux mit Python 3.11+
Eine funktionierende
codex-CLI-Installation und AnmeldungCodex Desktop für automatische Projekterkennung und Sitzungsverlaufsfunktionen
Homebrew für den dokumentierten Tunnel-Installationspfad
OpenAI-Organisationszugriff auf Secure MCP Tunnels
Dieses Projekt wird derzeit auf macOS getestet. Windows wird nicht unterstützt, da der optionale Desktop-Benachrichtigungspfad Unix-Sockets verwendet.
Schnellstart
git clone https://github.com/AaAndrew233/chatgpt-codex-bridge.git
cd chatgpt-codex-bridge
./scripts/bootstrap.shbootstrap.sh erstellt eine lokale virtuelle Umgebung, installiert die überprüfte Abhängigkeitssperre und generiert nicht verfolgte config.json- und .mcp.json-Dateien. Es überschreibt niemals vorhandene Konfigurationen.
Öffnen Sie config.json und wählen Sie eine Autorisierungsquelle:
{
"codex_command": "codex",
"model": null,
"codex_project_catalog": "~/.codex/.codex-global-state.json",
"allowed_roots": [],
"session_access_ttl_seconds": 3600
}Behalten Sie
modelalsnullbei, um Ihre aktuelle Codex-Konfiguration zu übernehmen.Lassen Sie
allowed_rootsleer, um nur in Codex Desktop registrierte Projekte zu verwenden.Fügen Sie
allowed_rootsnur dann enge Projektverzeichnisse hinzu, wenn die automatische Erkennung nicht verfügbar ist.session_access_ttl_secondssteuert die Lebensdauer einer genehmigten projekttlosen Sitzungsberechtigung im Speicher und darf 24 Stunden nicht überschreiten.Autorisieren Sie niemals
/oder Ihr Home-Verzeichnis. Die Brücke lehnt beides ab.
Führen Sie die lokalen Prüfungen aus:
./scripts/check_public_release.py
.venv/bin/python -m unittest discover -s tests -vVerbindung über Secure MCP Tunnel
Installieren Sie den offiziellen Client:
brew install openai/tools/tunnel-client
tunnel-client --version
tunnel-client help quickstartSpeichern Sie den Laufzeitschlüssel in einer Datei außerhalb dieses Repositorys und schränken Sie dessen Berechtigungen ein:
chmod 600 /ABSOLUTE/PATH/TO/runtime-keyErstellen Sie eine verwaltete Hintergrundlaufzeit. Ersetzen Sie alle Platzhalterwerte:
tunnel-client runtimes connect \
--alias codex-bridge \
--profile codex-bridge \
--tunnel-id '<YOUR_TUNNEL_ID>' \
--runtime-api-key 'file:/ABSOLUTE/PATH/TO/runtime-key' \
--mcp-command '/ABSOLUTE/PATH/TO/chatgpt-codex-bridge/scripts/run_server.sh'Überprüfen Sie, ob die verwaltete Laufzeit läuft, fehlerfrei und bereit ist:
tunnel-client runtimes status codex-bridge --jsonErstellen oder aktualisieren Sie dann den Connector in den ChatGPT-Connector-Einstellungen. Der offizielle Tunnel-Onboarding-Leitfaden ist die maßgebliche Quelle für Organisationsrollen, Tunnel-IDs, Laufzeitschlüssel und aktuelle Befehle: openai/tunnel-client/docs/onboarding.md.
Verwenden Sie keinen Admin-Schlüssel für die langlaufende Laufzeit. Committen Sie keine Laufzeitschlüssel, Tunnel-IDs, generierten Profile, config.json oder .mcp.json.
Erster Test in ChatGPT
Starten Sie eine neue ChatGPT-Konversation mit aktiviertem Connector und fragen Sie:
Call codex_status. Show only whether the bridge is healthy, the available tool names,
and the registered project names. Do not modify files.Testen Sie dann eine schreibgeschützte Aufgabe:
Use codex_analyze on <PROJECT_PATH> to summarize the project structure and identify
the three highest-risk areas. Poll the job until it finishes and retrieve every output page.
Do not modify files.Für einen Schreibvorgang muss ChatGPT zuerst codex_prepare_apply aufrufen, Ihnen den genauen Plan zeigen, Ihre ausdrückliche Bestätigung einholen und erst dann codex_apply mit dem zurückgegebenen Token aufrufen.
Für eine projekttlose Sitzung unter Recent ruft ChatGPT zuerst codex_list_sessions(include_unassigned=true) auf. Das Ergebnis zeigt nur geschwärzte Seitenleisten-Metadaten. Anschließend muss es codex_prepare_session_access aufrufen, Ihnen den Sitzungstitel, das kanonische Arbeitsverzeichnis, den Zugriffsmodus und gegebenenfalls die genaue Schreibanfrage zeigen und auf ausdrückliche Genehmigung warten. Das zurückgegebene Zugriffstoken aktiviert eine In-Memory-Berechtigung nur für diese Sitzung. Schreibvorgänge im Arbeitsbereich erfordern zusätzlich das Bestätigungstoken für die genaue Anfrage, das von demselben Vorbereitungsaufruf zurückgegeben wird.
MCP-Werkzeuge
Tool | Zweck | Schreibbestätigung |
| Status, Fähigkeiten, Projekte, Jobs und Kompatibilitäts-Snapshot | Nein |
| Autorisierte Codex-Projekte auflisten | Nein |
| Begrenzten, paginierten Projektverlaufskontext erstellen | Nein |
| Eine schreibgeschützte Codex-Aufgabe übermitteln | Nein |
| Eine reine Planungs-Codex-Aufgabe übermitteln | Nein |
| Ein kurzlebiges Token für eine genaue Schreibanfrage ausstellen | Nein |
| Eine Codex-Aufgabe mit Schreibzugriff auf den Arbeitsbereich übermitteln | Ja |
| Einen Hintergrundjob abfragen | Nein |
| Ein abgeschlossenes Ergebnis mit Ausgabepaginierung lesen | Nein |
| Einen in der Warteschlange befindlichen oder laufenden Job abbrechen | Nein |
| Sichtbare Codex-Sitzungen mit Paginierung auflisten | Nein |
| Sichtbare Benutzer- und Assistentennachrichten mit Schwärzung lesen | Nein |
| Eine zeitlich begrenzte Berechtigung für eine projekttlose Recent-Sitzung vorbereiten | Benutzerfreigabe |
| Eine persistente Codex-Desktop-Sitzung erstellen | Nur Schreibmodus |
| Eine persistente Sitzung fortsetzen | Nur Schreibmodus |
| Eine Sitzung mit explizitem ChatGPT-Kontext erstellen | Nur Schreibmodus |
Sicherheitsmodell
Die Vertrauensgrenze ist bewusst eng gefasst:
Der Projektzugriff ist auf validierte Codex-Projektwurzeln oder explizite enge Wurzeln beschränkt.
Projekttlose Recent-Sitzungen bleiben standardmäßig verborgen und erfordern eine kurzlebige Berechtigung, die an eine Sitzung, ein kanonisches Verzeichnis und einen Modus gebunden ist.
Sensible Verzeichnisse wie
.ssh,.aws,.gnupg,.kube,.configundLibrarywerden bei der automatischen Erkennung abgelehnt.Codex-Unterprozesse erhalten eine minimale Umgebung und laufen mit expliziten Sandbox-Modi.
Schreib-Tokens laufen ab, sind einmalig verwendbar und an das genaue Projekt und die Anfrage gebunden.
Die Sitzungsausgabe wird auf für Benutzer sichtbare Nachrichten gefiltert und vor dem Verlassen des Rechners geschwärzt.
Anfrage-, Ausgabe-, Scan-, Nebenläufigkeits-, Aufbewahrungs- und Zeitüberschreitungsgrenzen sind begrenzt.
ChatGPT-Kontext wird als nicht vertrauenswürdige Eingabe behandelt und kann lokale Richtlinien nicht außer Kraft setzen.
Lesen Sie docs/security-model.md, bevor Sie die Brücke einem Team zugänglich machen. Sicherheitslückenmeldungen sollten SECURITY.md folgen.
Betriebsgrenzen
Standardgrenzen sind in config.example.json dokumentiert und werden beim Start durchgesetzt. Wichtige Standardwerte umfassen zwei gleichzeitige Jobs, eine Aufbewahrung abgeschlossener Jobs von 30 Minuten, eine Sitzungsberechtigung von einer Stunde, eine Anfrageobergrenze von 120.000 Zeichen, paginierte Jobausgabe von 100.000 Zeichen und begrenzte Streaming-Scans für den Projektverlauf.
scan_complete gibt an, ob der konfigurierte Quellscan abgeschlossen ist. context_complete gibt separat an, ob der gesamte gescannte Text in das zurückgegebene Kontextbudget passt. Ein vollständiger Scan ist nicht dasselbe wie ein unbegrenzter Export.
Entwicklung
./scripts/bootstrap.sh
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python -m compileall -q \
bridge_core.py conversation_catalog.py desktop_assignment.py \
desktop_sessions.py project_context.py server.pySiehe CONTRIBUTING.md für Beitragsregeln und docs/architecture.md für Modulgrenzen.
Lizenz
Apache-Lizenz 2.0. Siehe LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Use your Mac, Windows or Linux computer from ChatGPT, Claude or Codex: files, commands, documents.
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceLocal MCP bridge enabling ChatGPT web to access approved local files and execute tasks via local Codex.14MIT
- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT to read and edit local project files, inspect Git changes, and run approved development scripts through a secure MCP tunnel, with optional Codex Desktop integration.53 npm6Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables ChatGPT to operate authorized local projects through MCP, including reading and modifying code, viewing Git changes, running configured programs, and reading local Codex sessions to continue work.63 npm6MIT
- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT web to read local files, search code, run shell commands, and drive a local Codex CLI via an official MCP connector, with human approval for risky commands and full audit logging.MIT