Skip to main content
Glama

Codex-DSH-Orchestrator

License: MIT Node.js 22+ DSH bridge

Inglés | 简体中文

Codex-DSH-Orchestrator es una capa de orquestación centrada en Codex y un puente MCP del lado del llamador para la colaboración acotada con DeepSeek Harness (DSH). Permite que Codex delegue a DSH trabajo de implementación, investigación, depuración y registro largo, y después observar, continuar o cancelar esas sesiones sin salir del flujo de trabajo habitual. Claude Code sigue siendo compatible a través de la capa de integración compartida del llamador; otros llamadores se difieren deliberadamente hasta que se pueda verificar el comportamiento de su host.

El runtime del puente compartido de este repositorio es un derivado mantenido de forma independiente del proyecto upstream dsh-Agentlink. El proyecto conserva la licencia MIT y la atribución de copyright de upstream, y no está afiliado a DeepSeek, OpenAI ni a los mantenedores de upstream, ni cuenta con su respaldo.

Alcance del proyecto

Codex-DSH-Orchestrator es un proyecto de orquestación y puente MCP del lado del llamador. Conecta los llamadores compatibles con un DSH Web Host que se ejecuta de forma independiente; no inicia, posee ni autentica dicho Host, y nunca aprueba automáticamente solicitudes de DSH. No es un comando de plataforma de DSH Cordis.

Related MCP server: deepseek-harness-mcp

Componentes del proyecto

  • skill/codex-dsh-orchestrator/ — el skill de orquestación de Codex específico del proyecto y sus metadatos de agente.

  • skill/codex-dsh/ — el skill compartido de compatibilidad del llamador Codex.

  • skill/claude-code-dsh/ — el skill de compatibilidad del llamador Claude Code que se conserva.

  • src/ — el runtime del puente MCP compartido e independiente del llamador y las herramientas de configuración.

  • test/ — pruebas locales con host simulado, de seguridad, de compatibilidad y de integración.

  • docs/project-overview.md — el mapa detallado de propiedad y arquitectura.

El nombre dsh-Agentlink se mantiene en los identificadores del runtime y en la atribución de upstream por motivos de compatibilidad y claridad legal; no es el título público del proyecto.

Compatibilidad de llamadores

Llamador

Estado

Instalación o disponibilidad

Codex

✅ Compatible

npm run setup

Claude Code

✅ Compatible

npm run setup:claude -- --project /absolute/path/to/project

ZCode

⏸ Diferido

Primer candidato cuando se retransmita el trabajo verificado de ampliación de llamadores

OpenCode

⏳ Planificado

Aún no disponible

Workbuddy

⏳ Planificado

Aún no disponible

Solo los llamadores marcados como Compatible tienen una vía de instalación en este repositorio hoy. Las entradas planificadas son direcciones, no compromisos de lanzamiento.

Instalación

Prepara primero el entorno: necesitas Node.js 22.0, un llamador compatible (Codex o Claude Code) y una DSH CLI funcional. La base multiplataforma probada es Node.js 22 y 24 en x64; otras versiones principales de Node.js y los entornos ARM64 no están cubiertos por la matriz de pruebas actual. Configura tu modelo preferido en DSH una vez; el puente compartido hereda esa ruta activa a menos que una delegación solicite explícitamente un perfil semántico compatible.

Portabilidad y límites de instalación

  • En otra máquina, usa un clon nuevo (fresh clone). No copies un único directorio de trabajo: su archivo .git apunta a los metadatos del worktree del clon de origen. En la misma máquina, crea los worktrees desde el clon de origen con git worktree add.

  • Prefiere npm ci para obtener un checkout limpio y reproducible. Usa npm install solo cuando quieras actualizar intencionalmente el lockfile.

  • npm run setup escribe la ruta absoluta al ejecutable de Node.js y al punto de entrada del puente en la configuración del llamador. Mantén el checkout en un directorio de herramientas estable; tras moverlo, cambiar la instalación de Node.js o cambiarte a otro worktree, vuelve a compilar y ejecutar el setup, revisa la entrada existente y usa --replace solo con aprobación explícita.

  • La configuración de MCP de Codex y la instalación de skills de Codex son independientes. npm run setup registra la entrada MCP, pero no instala skill/codex-dsh-orchestrator/. Instala y activa ese skill mediante tu flujo de trabajo de skills de Codex habitual y verifica que sea detectable antes de confiar en el comando $codex-dsh-orchestrator. El setup de Claude Code gestiona el skill de su proyecto por separado, como se describe más abajo.

  • Mantén DSH_BRIDGE_HOME en un sistema de archivos local fiable. No copies un bridge home antiguo a otra máquina; usa uno nuevo en ese destino. El historial de conversación de DSH pertenece al DSH Web Host; los mapeos de tareas, cursores y reservas del puente no migran automáticamente.

  • La opción desktop-auto en Windows es opcional. Requiere un DSH Desktop Host ya en ejecución y los requisitos previos de descubrimiento de proceso/loopback de Windows compatibles; CI simula estos comportamientos y no demuestra una instalación ni un inicio de sesión reales de Desktop. El asistente de instalación nunca inicia, detiene ni inicia sesión en DSH Desktop.

Instalación con tu agente de IA

Envía la siguiente URL del repositorio y la instrucción a Codex u otro agente de codificación:

Install Codex-DSH-Orchestrator from https://github.com/Fly2Kiana/Codex-DSH-Orchestrator.
Check Node.js 22+, the DSH CLI, and my DSH Web Host first. Clone it into a location I approve,
run npm ci and npm run check. For Codex, run npm run setup -- --yes, then install and verify
the shipped Codex skill separately through my normal Codex skill workflow. For Claude Code, run
npm run setup:claude -- --yes --project /absolute/path/to/my/project.
For Claude Code, let setup install the project MCP entry and shipped project skill; use --replace and --replace-skill only after reviewing existing files.
If dsh_agentlink or the legacy dsh_collab entry already exists, show me the conflict before using --replace.
Do not start or stop dsh web for me. Tell me when I need to reload the selected caller and approve project MCP trust.

Instalación manual

  1. Comprueba el entorno. La DSH CLI 0.1.0-rc.6 es el destino probado actual.

    node --version
    dsh --version
  2. Inicia el DSH Web Host oficial en su propio terminal.

    dsh web
  3. Clona el repositorio e instala sus dependencias.

    git clone https://github.com/Fly2Kiana/Codex-DSH-Orchestrator.git
    cd Codex-DSH-Orchestrator
    npm ci
  4. Configura el llamador.

    Para Codex:

    npm run setup
    npm run doctor

    En Windows con DSH Desktop y su puerto de loopback cambiante, selecciona explícitamente el descubrimiento automático:

    npm run setup -- --desktop-auto

    El asistente de Codex hace una copia de seguridad de la configuración TOML de Codex e instala la entrada MCP con approval_mode = "prompt"; no instala skill/codex-dsh-orchestrator/. Instala y activa ese skill mediante tu flujo de trabajo de skills de Codex habitual y, a continuación, verifica que sea detectable. La configuración estática sigue requiriendo dsh --version; --desktop-auto puede, en cambio, validar el Desktop Host ya en ejecución incluso cuando el CLI no está en el PATH, e informa de la versión del paquete que falta como advertencia de compatibilidad. Nunca inicia ni detiene DSH Desktop. Cambiar una entrada de puente existente a cualquiera de los modos sigue requiriendo revisarla y añadir --replace. Reinicia Codex y usa /mcp o Codex Settings para confirmar que dsh_agentlink está conectado. Para una configuración TOML totalmente manual, consulta la Configuración MCP manual de Codex.

    Para Claude Code 2.1.199 o posterior, apunta el comando de configuración al proyecto que debe localizar .mcp.json:

    npm run setup:claude -- --project /absolute/path/to/your/project
    cd /absolute/path/to/your/project
    claude mcp get dsh_agentlink

    El setup de Claude edita solo el .mcp.json de ese proyecto y el .claude/skills/claude-code-dsh/SKILL.md, y mantiene en su lugar los servidores no relacionados. Notifica cada uno de estos aspectos por separado:

    • registro MCP

    • confianza del proyecto

    • estado del skill de Claude

    • soporte de aprobaciones de Claude

    • permisos/propiedad del sandbox de DSH

    • capacidad de alcance del DSH Host

    Abre Claude Code en el proyecto y aprueba el servidor pendiente desde /mcp; el puente marca dsh_resolve_approval como operación que requiere interacción humana.

    Añade --yes para aceptar los valores predeterminados sin interacción. Para actualizar una entrada MCP existente, revísala primero y añade --replace; para actualizar un skill de proyecto de Claude existente, revísalo primero y añade --replace-skill; para gestionar tú mismo el skill, añade --no-skill. Ambos instaladores reconocen la entrada heredada dsh_collab y la migran a dsh_agentlink solo tras una aprobación explícita del reemplazo. Ninguno de los instaladores inicia DSH, cambia los ajustes de permisos/sandbox de DSH ni tipos de habilidad para el llamador no los reinicia.

El doctor notifica las ubicaciones de bloqueos fail-closed del puente bajo DSH_BRIDGE_HOME en modo de solo lectura y nunca las limpia, por lo que es seguro ejecutarlo incluso cuando hay un bloqueo presente.

Este parche de código evita que las nuevas inundaciones de proyecciones/fragmentos expandan el ledger de coordinación, pero no compacta un ledger existente de 5 MB o más. Conserva el bridge home antiguo para su inspección; las nuevas delegaciones pueden utilizar un DSH_BRIDGE_HOME distinto. El session.history de DSH, no el ledger del puente, sigue siendo la fuente de verdad de la conversación. Ver Problemas conocidos para conocer el límite de recuperación conservador.

Este puente (nombre de runtime dsh_agentlink ) es un plugin del lado del llamador, no un bundle de DSH Cordis. No uses el instalador dsh plugin --profile ... add ... para instalarlo.

¿Por qué Codex-DSH-Orchestrator?

Usa las capacidades de Harness de DSH

DSH combina sesiones persistentes, ejecución de herramientas, subagentes y supervisión humana para trabajos complejos. Codex-DSH-Orchestrator te permite dialogar y coordinarte desde tu llamador principal —actualmente Codex o Claude Code— con ese segundo harness, sin salir del mismo flujo de trabajo.

Más que otro subagente nativo

Un subagente nativo vive dentro del árbol de agente del propio llamador. El puente compartido añade un harness separado y propio configurado por el usuario, sesiones (que siguen siendo visibles en DSH Web) Pueden usar sus propios trabajadores y su propia canal il de DSH y el llamador principal puede observarlas, continuarlas o cancelarlas.

Ahorra tiempo y dinero

  • Ahorra tiempo. Deriva el trabajo de implementación e investigación, la extracción y el trabajo largo de logs a un modelo rápido configurado en DSH, como una vía DeepSeek V4, mientras tu agente principal sigue planeando y validando.

  • Ahorra dinero. Moviendo las cargas de trabajo con un alto coste de ejecución hacia una vía DeepSeek de menor coste puede reducir el consumo de los modelos primarios más caros.

La velocidad y el coste reales dependen del modelo, el proveedor, el despliegue, la red y la tarea elegidos. Una vez instalado, pudes seguir trabajando con Codex o Claude wissen Code como de costumbre, y solo pedir que use DSH cuando el camino de ejecución sea mejor.

Úsalo

Cuando dsh web esté en marcha y el llamador haya cargado y confiado en la configuración de MCP, pide directamente o a Claude Code en lenguaje natural, por ejemplo:

Usa Codex-DSH-Orchestrator para delegar esta implementación a DSH en el repositorio actual. Permítete mantenerlo visible en DSH Web, notificar el progreso y preguntarme antes de cualquier aprobación.

El llamador puede entonces delegar la tarea, observar su flujo de eventos, continuar la misma sesión, resolver dudas junto a ti o cancelar el trabajo. Abre el origen de DSH Web configurado para inspeccionar una misma sesión y trabajar con ella. En Windows, un runtime opcional DSH_HOST_MODE=desktop-auto puede descubrir el listener de loopback verificado, propiedad del DSH Desktop, en lugar de depender de su puerto efímero cambiante; un DSH_HOST_URL explícito tiene siempre prioridad.

Antes de una nueva delegación, el llamador construye una entrega compacta en el prompt a partir del progreso ya conocido y de pruebas de solo lectura del workspace: objetivo, trabajo completado, HEAD/estado y rutas modificadas de Git cuando se dispone de ellas, rutas de código y Markdown críticas, tests relevantes, restricciones y problemas pendientes. Le indica que lea primero las rutas críticas y evite un rastreo de todo el repositorio salvo que esté bloqueado. Esta minuta excluye secretos, diffs grandes en bruto, cuerpos de archivos, el chat del llamador y el razonamiento interno. Es una guía para llamador, no una nueva autorización de filesystem; dsh-Agentlink no recibe automáticamente el estado de conversación de llamador previo. Para el mismo BridgeTask conocido, el llamador usa dsh_followup; si no su id, inicia una delegación nueva en lugar de adivinar un id antiguo.

Cuando el usuario identifica explícitamente una sesión existente de DSH Desktop, el llamador puede usar primero dsh_find_sessions para leer los metadatos acotados de la sesión raíz que devuelve dsh_attach_session, y luego usar el mismo con el ID de sesión exacto y las precondiciones de metadatos actualizadas. Los títulos son solo una ayuda de descubrimiento, nunca identidades de conexión. La conexión acepta solo una sesión raíz inactiva, crea o reutiliza el estado de mapeo y claims del puente local y del workspace, y puede conciliar el historial para supervisión, sin devolver ni persistir cuerpo de conversación. No crea ni cambia de nombre de una sesión de DSH, no envía un prompt ni cambia la ruta de modelo. Un dsh_followup posterior lleva la entrega compacta cuando el trabajo debe continuar.

Reutilizar una sesión entre tareas de Codex es una elección conservadora de tres vías: same-known-task, attached-existing-task o new-session. Reutilice únicamente la misma BridgeTask conocida para el mismo flujo de trabajo; para una tarea nueva con evidencia explícita de continuación, descubra exactamente una raíz inactiva con un solo cwd canónico y mapeado mediante dsh_find_sessions basado solo en metadatos, y adjunte con condiciones previas recientes antes de continuar con dsh_followup. Nunca reutilice por título o similitud y nunca lea el historial para el descubrimiento; falle en modo cerrado ante candidatos ambiguos, en ejecución, obsoletos, sin cwd o con conflictos de mapeo. La reutilización puede ahorrar trabajo de traspaso y de relectura del repositorio, pero puede aumentar los tokens de entrada, por lo que es solo una optimización de costes mientras la continuidad siga siendo relevante. La reutilización y los rescates evitados no son prueba de aciertos en la caché de prompts del proveedor ni de descuentos de tokens; la evidencia de la caché del proveedor no se expone salvo que DSH publique telemetría documentada de uso agregado.

Herramientas MCP

  • dsh_host_status — estado y capacidades del Host solo de conexión

  • dsh_find_sessions — descubrimiento acotado y solo de metadatos de las sesiones raíz existentes; sin historial ni proyecciones sin procesar

  • dsh_attach_session — adjunta de forma segura una sesión raíz inactiva exacta con condiciones previas recientes de id/título/cwd/actualización; sin cambios de prompt ni de modelo

  • dsh_delegate — crea una sesión raíz y pone en cola el prompt inicial; opcionalmente, selecciona inherit|flash|pro|modlens-flash|modlens-pro más un reasoningEffort compatible con el catálogo; desacoplada por defecto (waitSeconds=0); workspaceMode es una afirmación local del puente, no un selector de sandbox de DSH

  • dsh_followup — continúa la misma sesión raíz con mode="queue"|"steer" explícito (por defecto queue); selecciona opcionalmente los mismos perfiles semánticos de modelo y el esfuerzo de razonamiento validado antes del prompt

  • dsh_continue — alias de compatibilidad de dsh_followup

  • dsh_status — disponibilidad, ejecución, linaje, cola, interacciones pendientes, mensaje final, cursores y semántica de la asignación del espacio de trabajo

  • dsh_tail — resúmenes de eventos acotados mediante el cursor de la tarea del puente

  • dsh_wait — espera hasta 30 segundos un evento duradero, un cambio de estado, una interacción pendiente o un estado terminal

  • dsh_observe — alias de compatibilidad en torno a dsh_wait; los cursores del puente sustituyen a los cursores sin procesar de la sesión

  • dsh_cancelscope="turn"|"queue"

  • dsh_list — mapeos de tareas enriquecidos con el estado derivado actual

  • dsh_answer_question — respuesta tipada para un rpcId de pregunta pendiente

  • dsh_resolve_approval — respuesta tipada allow_once|reject para un rpcId de aprobación pendiente

  • dsh_release_workspace — libera explícitamente una asignación persistente del espacio de trabajo del puente sin cerrar la sesión de DSH

El enrutamiento de modelos es opt-in y compatible con versiones anteriores, tanto para la delegación como para el seguimiento. Cuando se omiten modelProfile y reasoningEffort, la operación lee session.models.current, verifica routable y no llama a session.selectModel. Las correspondencias semánticas son flash/pro -> deepseek-offical/deepseek-v4-{flash,pro} y modlens-flash/modlens-pro -> deepseek-modlens/deepseek-v4-{flash,pro}. El proveedor, el modelo y el esfuerzo solicitados deben existir en el catálogo vivo de session.models. La selección se realiza y se vuelve a leer antes del prompt inicial o de seguimiento; cualquier desajuste falla en modo cerrado sin enviar ese prompt.

Una elección explícita del usuario siempre gana. Si no hay, el llamador principal puede mantener inherit, usar Flash para búsqueda/implementación/reparación de pruebas habituales, usar Pro para la arquitectura o la depuración difícil de varios pasos, y usar el perfil ModLens correspondiente cuando la evidencia visual sea esencial. dsh-Agentlink transporta solo prompts de texto; incluya las rutas locales absolutas de imagen a las que el Host de DSH y las herramientas ModLens puedan tener acceso; no sube bytes de imagen. selectionReason ofrece una explicación de auditoría opcional y no se envía a DSH.

En la ruta verificada localmente de Code Mode colapsado de DSH rc.6, los traspasos visuales usan el transporte run_code externo y llaman a modlens_read_image registrado a través del SDK de tools inyectado dentro de ese programa. Un llamador debe tratar ese evento externo como algo esperado, prohibir alternativas de shell/navegador/OCR/librerías de imágenes y esperar el resultado anidado o un error anidado/terminal explícito. El tiempo de espera interno documentado de un plugin no es el plazo global de delegación. Esta es una guía de compatibilidad de alcance de versión; los Hosts posteriores deben seguir su capacidad comprobada en vivo si difiere.

Efecto secundario importante de DSH rc.6: session.selectModel también guarda la selección como predeterminado global de DSH para sesiones posteriores. Las resultados de las delegaciones y seguimientos informan modelRouting.persistsAsDshDefault=true y una advertencia cada vez que tiene lugar una selección explícita. Con los campos de enrutamiento si esa persistencia no es aceptable. Si la verificación de la selección falla después del intento de escritura, no se envía el prompt, pero la selección solicitada ya puede ser el predeterminado global.

dsh_wait observa el estado durable del puente. Los marcos de delta/chunk del asistente y las instantáneas de nivel de session/projection se omiten, por lo que no incrementan la revisión de la tarea ni despiertan a los que esperan; los mensajes finales completos siguen siendo observables a través de status/tail después de que termina el turno.

Mapa de ruta

Estas son direcciones planificadas, no capacidades implementadas ni compromisos de lanzamiento.

  1. Más puntos de entrada de llamadores — evaluar ZCode cuando se reanude la expansión de llamadores, después considerar OpenCode, Workbuddy, Claude Desktop MCP y otros llamadores a través de la arquitectura compartida de Integration Pack.

  2. Invocación de agentes y transporte de información — mejorar la organización de prompts, empaquetado de contexto, resúmenes de salida y compresión manteniendo fiables los questions, las aprobaciones, los errores y las respuestas finales.

  3. Sesiones de DSH conscientes de plugins — mantener la ruta actual agentPreset para plugins basados en presets, añadir validación de solo lectura de preset/capacidad e informes de preset resuelto, e introducir un perfil declarativo de lanzamiento de sesión solo cuando un plugin demuestre que necesita una inicialización tipada posterior a la creación.

  4. Más integraciones — ampliar cuando el contrato de compatibilidad del Runtime compartido y del llamador se estabilice.

Más documentación

Licencia

MIT

Nota alfa: DSH está aún en preview para desarrolladores y este proyecto de la comunidad es independiente de DeepSeek y OpenAI. 0.1.0-alpha.1 contiene un error de concurrencia de libro compartido; se corrige en 0.1.0-alpha.2. Consulte Problemas conocidos antes de actualizar o de ejecutar procesos de puenteados concurrentes.

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
2Releases (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

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/Fly2Kiana/Codex-DSH-Orchestrator'

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