Skip to main content
Glama
2025ashore

DSH ⇄ ChatGPT Fusion Gateway

by 2025ashore

DSH ⇄ ChatGPT Fusion Gateway

Минимальный MCP-мост, в котором DeepSeek Harness (DSH) остаётся единственным агентом и средой выполнения, а ChatGPT Web используется только как провайдер рассуждений без состояния и с одним обращением.

DSH владеет агентами, инструментами, разрешениями, сессиями, сжатием контекста, субагентами, рабочими процессами, целями и реальным выполнением файлов и команд. Шлюз просто передаёт один неизменяемый снимок контекста DSH в беседу ChatGPT «Brain» и возвращает ровно одно решение — итоговый ответ, одно предложение действия или ограниченный пакет операций только для чтения. Сам шлюз предложенное действие не выполняет.

User
 ↓
DSH UI
 ↓
DSH Native Agent Loop  →  Context / Compaction
 ↓
ChatGPT Fusion LLM Adapter
 ↓
Fusion Reasoning Gateway          ← this repository
 ↓
ChatGPT Brain Worker              (a dedicated ChatGPT Web conversation + optional wake extension)
 ↓
final | action_proposal | readonly_batch
 ↓
Gateway validation
 ↓
DSH Permissions / ToolRuntime  →  DSH Native Tool  →  Next DSH Tick

Возможности

  • Строгий контракт рассуждений с одним результатом — каждый запрос несёт один полный неизменяемый снимок, а Brain возвращает ровно один терминальный результат (final, action_proposal или ограниченный readonly_batch из read/glob/grep).

  • Восстанавливаемая доставка — запросы журналируются на диск; при сбое шлюз восстанавливает незавершённые заявки, а не теряет их. Повторные попытки идемпотентны за счёт снимка и nonce.

  • Отказоустойчивость с несколькими воркерами — несколько бесед Brain могут обслуживать один и тот же маршрут модели; застрявшая заявка освобождается и повторно доставляется рабочему резерву с обновлённым nonce.

  • OAuth 2.0 (loopback) — необязательная авторизация для публичного коннектора ChatGPT (/brain-mcp) с ротацией access/refresh-токенов.

  • Кроссплатформенность — шлюз и демон Node.js работают на Linux, macOS и Windows.

  • Необязательное пробуждение браузера — расширение Chrome (browser-autowake/) опрашивает метаданные очереди через loopback и будит привязанную к маршруту вкладку Brain, когда появляется работа.

Related MCP server: chatgpt-mcp

Требования

  • Node.js 18+ (использует глобальный fetch).

  • git (и на Linux — ваш настроенный пользователь команд) для инструментов рабочей области.

Сама DSH должна быть доступна для собственного агентского цикла и среды выполнения инструментов; шлюз автоматически находит поставляемые вместе с DSH node_modules, либо вы можете указать их через переменную окружения DSH_NODE_MODULES.

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

git clone <your-repo-url>
cd dsh-chatgpt-mcp
npm install

Впишите реальные учётные данные в config.json и model-bindings.json (все значения поставляются в виде заглушек REDACTED_*), затем запустите:

npm run daemon:start     # background, supervised with auto-restart
npm run daemon:status

…или запустите на переднем плане:

npm start                # node server.strict.cjs

Шлюз привязывается к http://127.0.0.1:7688. Подробная архитектура и инварианты описаны в ARCHITECTURE.md.

Конфигурация

config.json

Ключ

Описание

host / port

Адрес привязки loopback (по умолчанию 127.0.0.1:7688).

workspaceRoot

Рабочая область проекта, доступная инструментам. . — корень проекта.

ownerPassword

Пароль владельца для авторизации OAuth (≥ 16 символов).

staticToken

Статический Bearer-токен для loopback Brain MCP (≥ 32 символов).

allowedPrograms

Исполняемые файлы, которые инструмент run_command рабочей области может запускать.

commandUser

Только Linux: пользователь, под которым выполняются sandbox-команды через setpriv.

ownerPassword, staticToken и ключи привязки обязательны и должны быть заполнены перед использованием. На macOS/Windows нет переносимого setuid-хелпера, поэтому sandbox-команды выполняются от текущего пользователя, а commandUser игнорируется.

model-bindings.json

Сопоставляет каждый маршрут modelId + reasoningEffort с ключом bindingKey. bindingKey — это секрет, общий с соответствующим brain-worker-*.txt; держите их в синхронизированном состоянии.

Управление службой

Работает одинаково на Linux, macOS и Windows:

node scripts/daemon.mjs start      # start detached supervisor + server
node scripts/daemon.mjs stop
node scripts/daemon.mjs restart
node scripts/daemon.mjs status

Они также доступны как npm run daemon:start|stop|restart|status. Сценарии на основе screen (только Linux) остаются в scripts/ (control.sh, public_quick.sh, …) для quick-tunnel Cloudflare и пулов headless-воркеров Chrome.

Протокол рассуждений (v4)

Шлюз работает со строгим протоколом с ChatGPT «Brain»:

fusion_wait_for_reasoning_request  →  one immutable snapshot + data-only action catalog
fusion_submit_reasoning_result     →  exactly one {final} | {action_proposal} | {readonly_batch}
fusion_fail_reasoning_request      →  terminal failure for the assigned snapshot

actionCatalog — это только данные: описание встроенных инструментов DSH, которые никогда не устанавливаются как инструменты ChatGPT/MCP. action_proposal — это рекомендация, которую DSH позже выполняет под собственной политикой разрешений и песочниц; шлюз её не выполняет.

Публичная конечная точка — GET|POST /brain-mcp. Прежние маршруты /mcp и /fusion/tasks… возвращают HTTP 410 (отключены).

Разрешения

Используется встроенная трёхуровневая модель DSH — read-only, workspace-write, danger-full-access — по умолчанию workspace-write.

Структура репозитория

server.strict.cjs        active gateway (strict v4; no legacy /mcp)
server.cjs               full gateway incl. workspace file/shell tools
config.json              runtime configuration (secrets are placeholders)
model-bindings.json      modelId → bindingKey map
scripts/daemon.mjs       cross-platform daemon (start/stop/restart/status)
scripts/*.sh             Linux deployment helpers (screen, cloudflared, Chrome workers)
brain-worker-*.txt       per-route prompts for dedicated Brain conversations
browser-autowake/        optional Chrome extension that wakes Brain tabs
tests/                   selftests and headless integration workers
state/  logs/            runtime artifacts (gitignored)

Тестирование

npm install
node tests/reasoning-contract-v4-selftest.mjs   # primary protocol test
# …plus oauth, worker-recovery, failover, context-overflow, payload-limit selftests

Полную матрицу см. в разделе ## Verification заметок по реализации.

Замечания по безопасности

  • По умолчанию привязка к 127.0.0.1; публичный URL открывает только скрипт quick-tunnel.

  • Не коммитьте config.json и model-bindings.json с реальными секретами — именно поэтому репозиторий содержит заглушки.

  • /bin/setpriv используется на Linux для понижения прав sandbox-команд до commandUser; на других платформах команды выполняются от текущего пользователя.


DSH ≈ ChatGPT Fusion — это общественный мост, не аффилированный с OpenAI или DeepSeek и не одобренный ими. Использование ChatGPT регулируется условиями обслуживания OpenAI.

A
license - permissive license
Not graded
quality - not tested
C
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 Servers

View all related MCP servers

Related MCP Connectors

  • Agent-to-agent reasoning-as-a-service: chain-of-thought, analysis, and decision support.

  • Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.

  • Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…

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/2025ashore/DSH-Brain-Bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server