Codex DSH MCP
Codex DSH MCP
Экономичный MCP-мост, который позволяет Codex делегировать рутинную работу с большим контекстом в DeepSeek Harness, сохраняя за Codex архитектуру, ревью и финальную проверку.
Codex DSH MCP запускает каждого рабочего DeepSeek в изолированном Git-worktree, созданном из закоммиченного HEAD. Он никогда не применяет изменения к основному рабочему пространству автоматически: Codex и человек-ревьюер получают компактный результат, Markdown-отчёт и патч для проверки в первую очередь.
Зачем это нужно?
Выгрузите исследование репозитория, рутинную реализацию, рефакторинг, тесты и обычные исправления в DeepSeek.
Оставьте за Codex высокорискованную архитектуру, безопасность, финальное ревью и приёмку.
Повторите неудачную делегацию максимум один раз, затем верните
ESCALATED_TO_CODEX, не тратя вызовы впустую.Отслеживайте вызовы, длительность, процент успеха и чётко помеченные оценочные/фактические затраты токенов по проектам.
Держите основной checkout защищённым: рабочие процессы действуют только в изолированных worktree.
Быстрый старт
Склонируйте этот репозиторий и откройте его папку в Проводнике Windows.
Дважды щёлкните
install-windows.bat(или запуститеinstall-windows.ps1в PowerShell).Внесите
config.toml.exampleв%USERPROFILE%\.codex\config.tomlи обновите путь к мосту.Внесите
AGENTS.mdв ваши глобальные или проектные инструкции Codex.Перезапустите Codex и убедитесь, что MCP-сервер
deepseekпредоставляет пять инструментов.
Что он предоставляет
deepseek_explore— read-only исследование/поиск по репозиторию.deepseek_task— обычная реализация/рефакторинг/тестирование в изолированном worktree.deepseek_fix— цикл диагностика-исправление-тест для багов/падающих тестов в изолированном worktree.deepseek_review— read-only целенаправленное ревью.deepseek_stats— read-only статистика моста (итоги, количество вызовов инструментов, процент успеха, средняя длительность, метаданные последних 10 задач).
Как работает маршрутизация
AGENTS.md предписывает Codex выбирать DIRECT_CODEX для небольших, критических, архитектурных, чувствительных к безопасности, деструктивных или уже переданных на эскалацию задач. Он выбирает DELEGATE_DEEPSEEK для широкого исследования и рутинной работы — особенно когда нужно прочитать более трёх файлов, изменить более двух файлов или вероятен цикл правка/тест/исправление. Codex не сканирует репозиторий заранее только ради этого выбора.
User
↓
Codex Router
├── Small / Critical ──→ Codex
│
└── Delegatable
↓
DeepSeek
↓
┌─────┴─────┐
Success Failure
↓ ↓
Review Retry once
↓
Failure again
↓
CodexПовторная попытка — это целенаправленное исправление бага с тем же ID задачи. При второй неудаче возвращается ESCALATED_TO_CODEX; Codex берёт задачу на себя и не должен делегировать ту же проблему в третий раз.
Требования
Windows 10/11 (у моста также есть вариант для POSIX).
Node.js 20+.
Codex с поддержкой MCP.
DeepSeek Harness, доступный как
dshи уже настроенный/авторизованный для модели/сервиса DeepSeek, который вы собираетесь использовать.
Установка на Windows
Откройте PowerShell в этой папке:
Set-ExecutionPolicy -Scope Process Bypass
.\install-windows.ps1Или дважды щёлкните install-windows.bat; это тонкая обёртка Windows вокруг того же установщика.
Затем проверьте DeepSeek Harness отдельно, прежде чем подключать Codex:
dsh --profile headless "Reply with exactly READY"Если это не работает, сначала исправьте dsh. MCP-мост намеренно не управляет учётными данными DeepSeek самостоятельно.
Настройка Codex
Внесите config.toml.example в %USERPROFILE%\.codex\config.toml и замените пример пути:
[mcp_servers.deepseek]
command = "node"
args = ["C:/tools/codex-deepseek-bridge/src/index.mjs"]
startup_timeout_sec = 20
tool_timeout_sec = 7200
[mcp_servers.deepseek.env]
DSH_BATCH_CONTROLLER = "C:/Users/Administrator/.codex/skills/dsh-batch-subagents/scripts/dsh-batch-agents.mjs"
DSH_COMMAND = "dsh"
DSH_TIMEOUT_MS = "1800000"
DSH_MAX_OUTPUT_CHARS = "6000"
DSH_AUTO_RETRY = "true"
DSH_MAX_RETRIES = "1"
DSH_STATS_ENABLED = "true"
DSH_TOKEN_STATS = "true"
DEEPSEEK_ALLOWED_ROOT = "D:/Projects"Перезапустите Codex. В TUI Codex команда /mcp должна показать MCP-сервер deepseek и пять инструментов.
Установка промпта делегирования
Для одного репозитория поместите AGENTS.md в корень репозитория (или встройте раздел о делегировании DeepSeek в существующий AGENTS.md).
Для глобальной личной политики внесите содержимое в %USERPROFILE%\.codex\AGENTS.md. Проектные инструкции по-прежнему могут его переопределять.
Рекомендуемый первый тест
В одноразовом Git-репозитории спросите Codex:
Найди, где разбираются аргументы CLI. Используй DeepSeek для исследования репозитория и сообщи о соответствующих файлах. Ничего не изменяй.
Затем попробуйте безвредную задачу на запись:
Добавь небольшой модульный тест для существующей чистой функции-помощника. Поручи реализацию DeepSeek, затем сам проверь diff и запусти целевой тест, прежде чем сообщать об успехе.
Затем проверьте статистику:
Запусти deepseek_stats, чтобы проверить использование моста и экономию токенов.
Переменные окружения
Основные
Переменная | Описание | Значение по умолчанию |
| Абсолютный путь к контроллеру изолированного worktree | (обязательно) |
|
|
|
| Таймаут по умолчанию для делегированных задач; ограничен 10 с – 2 ч |
|
| Максимум символов, возвращаемых в контекст Codex |
|
| Необязательный корень; ограничивает, к каким каталогам DeepSeek имеет доступ | (нет) |
Автоповтор
Переменная | Описание | Значение по умолчанию |
| Повторять ли автоматически при временных сбоях |
|
| Максимум повторов (сверх первой попытки, т.е. 1 = всего 2 попытки) |
|
Статистика
Переменная | Описание | Значение по умолчанию |
| Включить ли сохранение статистики |
|
| Путь к файлу статистики; абсолютный или относительно рабочего пространства |
|
| Включить ли учёт расхода токенов |
|
Формат результата
Каждый инструмент делегирования возвращает компактный структурированный JSON-объект:
Поле | Описание |
|
|
| Имя инструмента (например, |
| Уникальный ID: |
| Номер текущей попытки |
| Фактическое число выполненных попыток |
| Настроенный максимум (первая попытка + повторы) |
| Длительность этой попытки в миллисекундах |
| Код возврата от контроллера пакетного запуска |
| Массив путей изменённых файлов |
|
|
| Расход токенов с полем |
| Краткое описание выполненной работы |
|
|
|
|
| Рекомендован ли повтор для данного типа сбоя |
| Будет ли фактически выполнен повтор в рамках настроенного лимита |
| Логическое значение; |
|
|
Процесс эскалации
Tool call → attempt 1 (fails) → retry → attempt 2 (fails) → return escalated_to_codexКогда делегирование возвращает status: "escalated_to_codex", Codex должен разобраться в первопричине и решить, что делать дальше. Мост никогда не вызывает API Codex.
Статистика токенов
Расход токенов извлекается из вывода DeepSeek/Harness, когда доступен JSON-блок использования (source: "reported", estimated: false). В противном случае он приблизительно оценивается по количеству символов в промпте/результате из расчёта примерно один токен на четыре символа (source: "estimated", estimated: true). Сообщённый расход — это данные провайдера; оценочный расход — лишь запасное приближение.
Файл .codex-deepseek/stats.json на уровне проекта хранит ограниченные метаданные не более чем для 100 попыток и записывается через временный файл с последующим переименованием. Он никогда не сохраняет полный промпт задачи, сводку результата, diff, пути изменённых файлов или пути артефактов. deepseek_stats возвращает итоги, процент успеха, среднюю длительность, количество вызовов по инструментам и 10 последних записей метаданных.
estimated_codex_tokens_avoided использует объём контекста, обработанного DeepSeek, как грубую оценку контекста, который Codex не пришлось обрабатывать. Он всегда помечен estimate_only: true. Это не измерение квоты OpenAI или Codex, и его следует использовать только для оценки того, оправдана ли делегация в принципе.
Модель безопасности
deepseek_task и deepseek_fix позволяют DeepSeek Harness редактировать только изолированный Git-worktree. Отчёты и патчи хранятся вне репозитория для ревью Codex и человеком. Ничего не сливается и не применяется автоматически.
deepseek_explore и deepseek_review также работают в изолированных worktree. Их read-only поведение остаётся политикой уровня промпта, но случайные записи не могут затронуть основное рабочее пространство.
deepseek_stats доступен только для чтения и обращается лишь к файлу статистики.
Почему это экономит использование Codex
Дорогой цикл обычно таков: поиск по репозиторию → чтение множества файлов → реализация → тесты → анализ сбоев → повтор. Мост переносит этот цикл в отдельную сессию DeepSeek Harness. В Codex возвращается только компактный структурированный результат DeepSeek; затем Codex может изучить полученный diff и выполнить точечную проверку.
Автор
Создано и поддерживается @sakurameishi.
Лицензия
MIT © 2026 sakurameishi.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Agentic code review, no signup to try: reality gates + frontier-model review, with veto.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sakurameishi/codex-dsh-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server