ChatGPT Codex Bridge
ChatGPT Codex Bridge
简体中文 | Безопасность | Участие
Локальный MCP-мост, который позволяет ChatGPT просматривать зарегистрированные проекты Codex, читать историю сессий Codex и отправлять подтверждённые задачи в локальный CLI Codex.
[!IMPORTANT] Это независимый общественный проект. Он не является официальным продуктом OpenAI и не связан с OpenAI и не одобрен им. ChatGPT, Codex и OpenAI являются товарными знаками их соответствующих владельцев.
Что он делает
Обнаруживает проекты, уже зарегистрированные в Codex Desktop, не предоставляя доступ ко всему домашнему каталогу.
Выполняет анализ и планирование в песочнице Codex только для чтения.
Требует кратковременный одноразовый токен подтверждения перед записью в рабочую область.
Перечисляет и читает видимые сессии Codex с курсорной пагинацией и редактированием.
Поддерживает ограниченный по времени доступ с подтверждением пользователя к отдельным сессиям без проекта в разделе «Недавние» Codex Desktop.
Создаёт ограниченный контекст истории проекта без загрузки многогигабайтных историй в память.
Создаёт и продолжает постоянные сессии Codex Desktop через локальный протокол app-server Codex.
Передаёт контекст от ChatGPT в Codex как ненадёжный справочный текст с обнаружением секретов.
Использует фоновые задания, чтобы длительные задачи Codex не удерживали открытым запрос MCP-туннеля.
Мост не предоставляет произвольный shell-инструмент и не прослушивает публичный порт. Удалённый доступ обеспечивается официальным клиентом OpenAI Secure MCP Tunnel.
Related MCP server: ChatGPT MCP Bridge
Архитектура
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]Необязательный путь обновления боковой панели зависит от частного неподдерживаемого расширения Codex Desktop и не включён в этот репозиторий. Основной мост работает без него; вновь созданные постоянные сессии могут потребовать перезапуска Codex Desktop, прежде чем они появятся на боковой панели.
Требования
macOS или Linux с Python 3.11+
Рабочая установка CLI
codexи вход в системуCodex Desktop для автоматического обнаружения проектов и функций истории сессий
Homebrew для документированного пути установки Tunnel
Доступ организации OpenAI к Secure MCP Tunnels
Этот проект в настоящее время тестируется на macOS. Windows не поддерживается, поскольку необязательный путь уведомлений Desktop использует Unix-сокеты.
Быстрый старт
git clone https://github.com/AaAndrew233/chatgpt-codex-bridge.git
cd chatgpt-codex-bridge
./scripts/bootstrap.shbootstrap.sh создаёт локальную виртуальную среду, устанавливает проверенную блокировку зависимостей и генерирует неотслеживаемые файлы config.json и .mcp.json. Он никогда не перезаписывает существующую конфигурацию.
Откройте config.json и выберите один источник авторизации:
{
"codex_command": "codex",
"model": null,
"codex_project_catalog": "~/.codex/.codex-global-state.json",
"allowed_roots": [],
"session_access_ttl_seconds": 3600
}Оставьте
modelравнымnull, чтобы унаследовать текущую конфигурацию Codex.Оставьте
allowed_rootsпустым, чтобы использовать только проекты, зарегистрированные в Codex Desktop.Добавляйте узкие каталоги проектов в
allowed_rootsтолько тогда, когда автоматическое обнаружение недоступно.session_access_ttl_secondsуправляет временем жизни в памяти одобренного разрешения на сессию без проекта и не может превышать 24 часа.Никогда не авторизуйте
/или ваш домашний каталог. Мост отклоняет оба.
Запустите локальные проверки:
./scripts/check_public_release.py
.venv/bin/python -m unittest discover -s tests -vПодключение через Secure MCP Tunnel
Установите официальный клиент:
brew install openai/tools/tunnel-client
tunnel-client --version
tunnel-client help quickstartСохраните ключ выполнения в файле вне этого репозитория и ограничьте его права доступа:
chmod 600 /ABSOLUTE/PATH/TO/runtime-keyСоздайте управляемый фоновый рантайм. Замените все значения-заполнители:
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'Проверьте, что управляемый рантайм работает, исправен и готов:
tunnel-client runtimes status codex-bridge --jsonЗатем создайте или обновите коннектор в настройках коннекторов ChatGPT. Официальное руководство по подключению Tunnel является источником истины для ролей организации, идентификаторов туннелей, ключей выполнения и текущих команд: openai/tunnel-client/docs/onboarding.md.
Не используйте административный ключ для долго работающего рантайма. Не коммитьте ключи выполнения, идентификаторы туннелей, сгенерированные профили, config.json или .mcp.json.
Первый тест в ChatGPT
Начните новый разговор в ChatGPT с включённым коннектором и спросите:
Call codex_status. Show only whether the bridge is healthy, the available tool names,
and the registered project names. Do not modify files.Затем протестируйте задачу только для чтения:
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.Для записи ChatGPT должен сначала вызвать codex_prepare_apply, показать вам точный план, получить ваше явное подтверждение и только затем вызвать codex_apply с возвращённым токеном.
Для сессии без проекта в разделе Недавние ChatGPT сначала вызывает codex_list_sessions(include_unassigned=true). Результат раскрывает только отредактированные метаданные боковой панели. Затем он должен вызвать codex_prepare_session_access, показать вам заголовок сессии, канонический рабочий каталог, режим доступа и точный запрос на запись, если применимо, и дождаться явного одобрения. Возвращённый токен доступа активирует разрешение в памяти только для этой сессии. Записи в рабочую область дополнительно требуют токен подтверждения точного запроса, возвращённый тем же вызовом подготовки.
Инструменты MCP
Инструмент | Назначение | Подтверждение записи |
| Состояние, возможности, проекты, задания и снимок совместимости | Нет |
| Список авторизованных проектов Codex | Нет |
| Создание ограниченного постраничного контекста истории проекта | Нет |
| Отправка задачи Codex только для чтения | Нет |
| Отправка задачи Codex только для планирования | Нет |
| Выдача кратковременного токена для одного точного запроса на запись | Нет |
| Отправка задачи Codex с записью в рабочую область | Да |
| Опрос фонового задания | Нет |
| Чтение завершённого результата с постраничным выводом | Нет |
| Отмена задания в очереди или выполняющегося | Нет |
| Список видимых сессий Codex с пагинацией | Нет |
| Чтение видимых сообщений пользователя и ассистента с редактированием | Нет |
| Подготовка ограниченного по времени разрешения для одной сессии без проекта в разделе «Недавние» | Подтверждение пользователя |
| Создание постоянной сессии Codex Desktop | Только режим записи |
| Продолжение постоянной сессии | Только режим записи |
| Создание сессии с явным контекстом ChatGPT | Только режим записи |
Модель безопасности
Граница доверия намеренно узкая:
Доступ к проектам ограничен проверенными корнями проектов Codex или явными узкими корнями.
Сессии без проекта в разделе «Недавние» по умолчанию остаются скрытыми и требуют кратковременного разрешения, привязанного к одной сессии, каноническому каталогу и режиму.
Чувствительные каталоги, такие как
.ssh,.aws,.gnupg,.kube,.configиLibrary, отклоняются при автоматическом обнаружении.Дочерние процессы Codex получают минимальное окружение и работают в явных режимах песочницы.
Токены записи истекают, являются одноразовыми и привязаны к точному проекту и запросу.
Вывод сессии фильтруется до видимых пользователю сообщений и редактируется перед отправкой с машины.
Ограничения на запросы, вывод, сканирование, параллелизм, хранение и тайм-ауты ограничены.
Контекст ChatGPT рассматривается как ненадёжный ввод и не может переопределить локальную политику.
Прочтите docs/security-model.md перед тем, как предоставить мост команде. Отчёты об уязвимостях должны следовать SECURITY.md.
Эксплуатационные ограничения
Ограничения по умолчанию задокументированы в config.example.json и применяются при запуске. Важные значения по умолчанию включают два параллельных задания, 30-минутное хранение завершённых заданий, часовое разрешение на сессию, потолок запроса в 120 000 символов, постраничный вывод задания в 100 000 символов и ограниченные потоковые сканирования для истории проекта.
scan_complete отвечает на вопрос, завершилось ли настроенное сканирование источника. context_complete отдельно отвечает на вопрос, поместился ли весь просканированный текст в возвращаемый бюджет контекста. Полное сканирование не то же самое, что неограниченный экспорт.
Разработка
./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.pyСм. CONTRIBUTING.md для правил участия и docs/architecture.md для границ модулей.
Лицензия
Apache License 2.0. См. 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