Skip to main content
Glama

Codex DSH MCP

Экономичный MCP-мост, который позволяет Codex делегировать рутинную работу с большим контекстом в DeepSeek Harness, сохраняя за Codex архитектуру, ревью и финальную проверку.

Codex DSH MCP запускает каждого рабочего DeepSeek в изолированном Git-worktree, созданном из закоммиченного HEAD. Он никогда не применяет изменения к основному рабочему пространству автоматически: Codex и человек-ревьюер получают компактный результат, Markdown-отчёт и патч для проверки в первую очередь.

Зачем это нужно?

  • Выгрузите исследование репозитория, рутинную реализацию, рефакторинг, тесты и обычные исправления в DeepSeek.

  • Оставьте за Codex высокорискованную архитектуру, безопасность, финальное ревью и приёмку.

  • Повторите неудачную делегацию максимум один раз, затем верните ESCALATED_TO_CODEX, не тратя вызовы впустую.

  • Отслеживайте вызовы, длительность, процент успеха и чётко помеченные оценочные/фактические затраты токенов по проектам.

  • Держите основной checkout защищённым: рабочие процессы действуют только в изолированных worktree.

Быстрый старт

  1. Склонируйте этот репозиторий и откройте его папку в Проводнике Windows.

  2. Дважды щёлкните install-windows.bat (или запустите install-windows.ps1 в PowerShell).

  3. Внесите config.toml.example в %USERPROFILE%\.codex\config.toml и обновите путь к мосту.

  4. Внесите AGENTS.md в ваши глобальные или проектные инструкции Codex.

  5. Перезапустите 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, чтобы проверить использование моста и экономию токенов.

Переменные окружения

Основные

Переменная

Описание

Значение по умолчанию

DSH_BATCH_CONTROLLER

Абсолютный путь к контроллеру изолированного worktree

(обязательно)

DSH_COMMAND

dsh или абсолютный путь к JS-модулю запуска DSH, передаваемый контроллеру безопасно

dsh

DSH_TIMEOUT_MS

Таймаут по умолчанию для делегированных задач; ограничен 10 с – 2 ч

1800000 (30 мин)

DSH_MAX_OUTPUT_CHARS

Максимум символов, возвращаемых в контекст Codex

6000

DEEPSEEK_ALLOWED_ROOT

Необязательный корень; ограничивает, к каким каталогам DeepSeek имеет доступ

(нет)

Автоповтор

Переменная

Описание

Значение по умолчанию

DSH_AUTO_RETRY

Повторять ли автоматически при временных сбоях

true

DSH_MAX_RETRIES

Максимум повторов (сверх первой попытки, т.е. 1 = всего 2 попытки)

1

Статистика

Переменная

Описание

Значение по умолчанию

DSH_STATS_ENABLED

Включить ли сохранение статистики

true

DSH_STATS_FILE

Путь к файлу статистики; абсолютный или относительно рабочего пространства

.codex-deepseek/stats.json

DSH_TOKEN_STATS

Включить ли учёт расхода токенов

true

Формат результата

Каждый инструмент делегирования возвращает компактный структурированный JSON-объект:

Поле

Описание

status

success, failed или escalated_to_codex

tool

Имя инструмента (например, deepseek_task)

task_id

Уникальный ID: ds_YYYYMMDD_shortid

attempt

Номер текущей попытки

attempts

Фактическое число выполненных попыток

max_attempts

Настроенный максимум (первая попытка + повторы)

duration_ms

Длительность этой попытки в миллисекундах

exit_code

Код возврата от контроллера пакетного запуска

changed_files

Массив путей изменённых файлов

tests

{ ran, passed, summary }

usage

Расход токенов с полем source (reported/estimated) и флагом estimated

summary

Краткое описание выполненной работы

artifact_paths

{ run_dir, report, patch }

failure_type

timeout, controller_error, malformed_output, unable_to_complete, test_failure, no_changes или null

retry_recommended

Рекомендован ли повтор для данного типа сбоя

will_retry

Будет ли фактически выполнен повтор в рамках настроенного лимита

escalated

Логическое значение; true, когда все попытки исчерпаны

escalation_marker

"ESCALATED_TO_CODEX" при исчерпании попыток

Процесс эскалации

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.

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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