dsh_agentlink
Codex-DSH-Orchestrator
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 |
|
Claude Code | ✅ Compatible |
|
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
.gitapunta a los metadatos del worktree del clon de origen. En la misma máquina, crea los worktrees desde el clon de origen congit worktree add.Prefiere
npm cipara obtener un checkout limpio y reproducible. Usanpm installsolo cuando quieras actualizar intencionalmente el lockfile.npm run setupescribe 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--replacesolo con aprobación explícita.La configuración de MCP de Codex y la instalación de skills de Codex son independientes.
npm run setupregistra la entrada MCP, pero no instalaskill/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_HOMEen 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-autoen 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
Comprueba el entorno. La DSH CLI
0.1.0-rc.6es el destino probado actual.node --version dsh --versionInicia el DSH Web Host oficial en su propio terminal.
dsh webClona el repositorio e instala sus dependencias.
git clone https://github.com/Fly2Kiana/Codex-DSH-Orchestrator.git cd Codex-DSH-Orchestrator npm ciConfigura el llamador.
Para Codex:
npm run setup npm run doctorEn Windows con DSH Desktop y su puerto de loopback cambiante, selecciona explícitamente el descubrimiento automático:
npm run setup -- --desktop-autoEl 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 instalaskill/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 requiriendodsh --version;--desktop-autopuede, en cambio, validar el Desktop Host ya en ejecución incluso cuando el CLI no está en elPATH, 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/mcpo Codex Settings para confirmar quedsh_agentlinkestá 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_agentlinkEl setup de Claude edita solo el
.mcp.jsonde 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 marcadsh_resolve_approvalcomo operación que requiere interacción humana.Añade
--yespara 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 heredadadsh_collaby la migran adsh_agentlinksolo 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óndsh_find_sessions— descubrimiento acotado y solo de metadatos de las sesiones raíz existentes; sin historial ni proyecciones sin procesardsh_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 modelodsh_delegate— crea una sesión raíz y pone en cola el prompt inicial; opcionalmente, seleccionainherit|flash|pro|modlens-flash|modlens-promás unreasoningEffortcompatible con el catálogo; desacoplada por defecto (waitSeconds=0);workspaceModees una afirmación local del puente, no un selector de sandbox de DSHdsh_followup— continúa la misma sesión raíz conmode="queue"|"steer"explícito (por defectoqueue); selecciona opcionalmente los mismos perfiles semánticos de modelo y el esfuerzo de razonamiento validado antes del promptdsh_continue— alias de compatibilidad dedsh_followupdsh_status— disponibilidad, ejecución, linaje, cola, interacciones pendientes, mensaje final, cursores y semántica de la asignación del espacio de trabajodsh_tail— resúmenes de eventos acotados mediante el cursor de la tarea del puentedsh_wait— espera hasta 30 segundos un evento duradero, un cambio de estado, una interacción pendiente o un estado terminaldsh_observe— alias de compatibilidad en torno adsh_wait; los cursores del puente sustituyen a los cursores sin procesar de la sesióndsh_cancel—scope="turn"|"queue"dsh_list— mapeos de tareas enriquecidos con el estado derivado actualdsh_answer_question— respuesta tipada para unrpcIdde pregunta pendientedsh_resolve_approval— respuesta tipadaallow_once|rejectpara unrpcIdde aprobación pendientedsh_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.
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.
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.
Sesiones de DSH conscientes de plugins — mantener la ruta actual
agentPresetpara 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.Más integraciones — ampliar cuando el contrato de compatibilidad del Runtime compartido y del llamador se estabilice.
Más documentación
Descripción general del proyecto — identidad pública, propiedad de componentes y la arquitectura Codex-primera
Arquitectura y modelo de seguridad — identidad, estado, recuperación, aprobaciones, cancelación y coordinación de espacios de trabajo
Arquitectura de extensión multi-llamador — límites compartidos de Runtime e Integration Pack para Codex, Claude Code y futuros llamadores
Mapa de ruta diferida — trabajo deliberadamente pospuesto, disparadores de activación y límites de seguridad conservados
Devorce de validación — comprobaciones de validación de compatibilidad y aceptación de operadores
Problemas conocidos — avisos actuales de actualización y concurrencia
Licencia
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.
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 Servers
- AlicenseNot gradedqualityBmaintenanceEnables Codex to delegate tasks to Claude Code, allowing Claude to investigate, edit, and verify changes in the repository with background job management.2MIT
- AlicenseNot gradedqualityCmaintenanceEnables Codex to start the local DeepSeek Harness Web UI, delegate coding tasks into visible sessions, and review workspace changes.3366MIT
- AlicenseNot gradedqualityBmaintenanceEnables dispatching work to DeepSeek Harness agents from Claude Code/Codex, with native progress UI, tier policy, and vision/image generation through MCP tools.0101MIT
- AlicenseAqualityBmaintenanceEnables AI coding agents like Claude Code or Codex to delegate tasks to a DeepSeek Harness subagent with its own context window, providing tools for task delegation, result waiting, continuation, and supervision with sandboxed execution.6MIT
Related MCP Connectors
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
One searchable memory across Claude Code, Gemini, Codex, OpenCode, Antigravity and Cursor sessions.
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
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/Fly2Kiana/Codex-DSH-Orchestrator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server