DeepSeek Harness y Claude Code son agentes que hablan por defecto el formato Anthropic Messages — dsh con el endpoint compatible con Anthropic de DeepSeek y Claude Code con Anthropic—, así que la elección depende menos del protocolo que de quién te factura, qué transporta cada solicitud y qué sale de tu máquina. El 1 de octubre de 2026 dirigimos ambos al mismo sustituto de grabación y dimos a cada uno la misma tarea de un solo archivo; ambos completaron el intercambio de herramientas y sus solicitudes difirieron de maneras importantes para el coste y la privacidad.
Para conocer solo los costes de dsh, consulta precios de DeepSeek Harness; para dirigirlo a otro endpoint, consulta la configuración de DeepSeek Harness de Kunavo.
Comparación lado a lado
| DeepSeek Harness | Claude Code | |
|---|---|---|
| Versión comprobada | 0.2.0-rc.2 en npm (29 de septiembre de 2026), "vista previa para desarrolladores" | 2.1.286 en npm (30 de septiembre de 2026) |
| Licencia | MIT | Términos de Anthropic; no es de código abierto |
| Interfaces | Interfaz web, interfaz de terminal, sin interfaz, escritorio macOS/Windows, ACP, SDK de Python | Terminal, extensiones de IDE, escritorio y web, SDK |
| Ruta de modelo predeterminada | deepseek-flash mediante la API con formato Anthropic de DeepSeek | Claude mediante Anthropic |
| Cómo pagas | DeepSeek por token, prepago; sin suscripción | Plan Claude Pro o Max, o por token con una clave de API |
| Otros proveedores | API de modelo personalizada: openai-completions, openai-responses o anthropic-messages, una por proveedor | Un endpoint con formato Anthropic mediante ANTHROPIC_BASE_URL |
| Archivos de instrucciones | AGENTS.md y CLAUDE.md (además de las capas .local) | CLAUDE.md |
La misma tarea, dos formas de solicitud
| Primera solicitud de la tarea | dsh 0.2.0-rc.2, ruta integrada | Claude Code 2.1.286 |
|---|---|---|
| Ruta | /v1/messages | /v1/messages?beta=true |
| Herramientas enviadas | 24 | 20 |
| Tamaño del cuerpo | 65.321 bytes, de los cuales 39.142 son dos campos que no pertenecen al modelo | 107.404 bytes |
| Límite de salida | max_tokens: 256000, razonamiento activado, esfuerzo "high" | max_tokens: 64000 |
| Llamadas adicionales | Una solicitud de título por cada sesión nueva, que transporta los mismos campos que no pertenecen al modelo | Ninguna en el modo -p |
| Solicitudes para finalizar | 3 (turno, título, turno después del resultado de la herramienta) | 2 |
Estos son bytes registrados por un sustituto, no recuentos de tokens, y el sustituto no es un modelo, por lo que nada de esto mide la calidad de las respuestas. Lo que sí muestra: dsh solicita un límite de salida mucho mayor con el razonamiento activado de forma predeterminada, lo que importa en la facturación por token, y Claude Code envía un prompt más grande por turno. dsh se ejecutó en tres sesiones nuevas con solicitudes idénticas byte por byte cada vez; Claude Code se ejecutó una vez.
Qué sale de tu máquina
Los dos campos que no pertenecen al modelo en las solicitudes de dsh son dsh_session_log y dsh_plugin_packages. El primero es el registro de eventos de la sesión —incluida la ruta del directorio de trabajo— enviado incrementalmente con solicitudes de agente, compactación y título, hasta 8 MiB por solicitud, desde un plugin activado de forma predeterminada; el segundo enumera los paquetes de plugins instalados y sus versiones. En la ejecución se enviaron a cualquier destino al que apuntara DEEPSEEK_BASE_URL. El interruptor de la interfaz web "Upload Session Log when using the official model API" en Settings → General desactiva el registro. dsh también exporta telemetría de OpenTelemetry al recolector de DeepSeek de forma predeterminada; DSH_TELEMETRY_MODE=DISABLED la detiene. Claude Code tiene sus propios interruptores de telemetría y de tráfico no esencial, que estaban desactivados durante su ejecución. Los proveedores personalizados de pi-ai en dsh no enviaron ninguno de los dos campos.
Ejecutar cada uno con los modelos del otro
Claude Code en DeepSeek: la propia guía de DeepSeek establece ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic con una clave de DeepSeek. DeepSeek asigna los nombres de modelo: claude-opus… a deepseek-v4-pro (facturado a su precio), claude-sonnet… y claude-haiku… a deepseek-flash, y cualquier nombre no compatible a deepseek-flash. Su tabla de compatibilidad ignora cache_control y solo reconoce effort en output_config.
dsh en Claude: añade una API de modelo personalizada. Con anthropic-messages, proporciona la raíz desnuda del gateway; la ejecución publicó en /v1/messages?beta=true; con /v1 al final publicó en /v1/v1/messages. Con openai-completions, proporciona una URL base que termine en /v1. En Kunavo, Claude Sonnet 5 aparece a $1.40 de entrada y $7.00 de salida por millón de tokens y Claude Haiku 4.5 a $0.70 y $3.50, facturados desde un saldo prepago con una recarga mínima de $10; consulta configuración de Claude Code o configuración de DeepSeek Harness. Nadie en Kunavo ha ejecutado ninguno de los dos contra su endpoint; las ejecuciones de aquí utilizaron un sustituto.
Cambiar entre ellos
- Las instrucciones se trasladan. dsh carga AGENTS.md y CLAUDE.md desde la raíz del proyecto hasta el directorio de trabajo, además de AGENTS.local.md y CLAUDE.local.md y un
$DSH_HOME/AGENTS.mdglobal del usuario, dentro de 65.536 bytes. - Las skills deben moverse. dsh analiza
.dsh/skills,.agents/skills,$DSH_HOME/skillsy~/.agents/skills—no.claude/skills— en busca de paquetesSKILL.mdcon frontmatternameydescription; añade la carpeta concustomSkillDirso cópiala. - Las herramientas MCP conservan sus nombres. dsh las expone como
mcp__<server>__<tool>, el formato que usa Claude Code, pero la lista de servidores reside en la configuración del perfil de dsh, no en los archivos de Claude Code. - Las sesiones no se trasladan. dsh conserva los registros de sesión comprimidos en
$DSH_HOME/sessions; no hay ningún importador en ningún sentido. - Espere cambios incompatibles al actualizar dsh. Su README promete cambios incompatibles durante la vista previa, y las notas de la propia versión 0.2.0-rc.2 indican que se eliminaron algunos ids de modelos antiguos y que quizá haya que volver a seleccionar las opciones guardadas.
Preguntas frecuentes
¿Cuál es la diferencia entre DeepSeek Harness y Claude Code?
DeepSeek Harness (dsh) es el harness de agentes de DeepSeek con licencia MIT — interfaz web, interfaz de terminal, modo sin interfaz, aplicaciones de escritorio y un SDK de Python, construido a partir de plugins— y es una vista previa para desarrolladores en 0.2.0-rc.2. Claude Code es el propio agente de programación de Anthropic, versión 2.1.286 en npm el 1 de octubre de 2026. Ambos hablan por defecto el formato Anthropic Messages: dsh con el endpoint compatible con Anthropic de DeepSeek y deepseek-flash, Claude Code con Anthropic. Las diferencias prácticas están en la facturación, lo que transporta cada solicitud y lo que sube cada uno.
¿Cuál es más barato, DeepSeek Harness o Claude Code?
On list price, dsh on DeepSeek. deepseek-flash is $0.30 per million input tokens and $1.20 per million output at peak, half that off-peak; Claude Code is either included in Claude Pro ($17 a month billed annually, $20 monthly) or Max (from $100), or billed per token on an API key, where Claude Sonnet 5 through Kunavo lists at $1.40 in and $7.00 out per million. The free Claude plan does not include Claude Code. Price per token is not price per finished task: run the same task on both before you decide.
¿Puede Claude Code usar modelos de DeepSeek?
Sí, mediante el endpoint con formato Anthropic de DeepSeek: establece ANTHROPIC_BASE_URL en https://api.deepseek.com/anthropic y ANTHROPIC_API_KEY en una clave de DeepSeek, como muestra la propia guía de DeepSeek. DeepSeek asigna entonces los nombres de modelo de Claude que envía Claude Code: los nombres que empiezan por claude-opus se dirigen a deepseek-v4-pro y se facturan a su precio; los nombres claude-sonnet y claude-haiku se dirigen a deepseek-flash. La tabla de compatibilidad de DeepSeek indica que cache_control se ignora y que solo se reconoce el campo effort de output_config.
¿Puede DeepSeek Harness usar modelos de Claude?
Yes, as a custom model API in Settings → Models. Choose anthropic-messages and give the bare root of an Anthropic-compatible gateway: in a 0.2.0-rc.2 run that posted to /v1/messages?beta=true, while a base URL ending in /v1 posted to /v1/v1/messages, which a real gateway answers with 404. Or choose openai-completions with a base URL ending in /v1. Either way the gateway bills the tokens; Kunavo bills per token from a prepaid balance with a $10 minimum top-up.
¿Funcionan mis archivos CLAUDE.md en DeepSeek Harness?
Sí. El plugin de instrucciones de dsh carga AGENTS.md y CLAUDE.md de todos los directorios entre la raíz del proyecto y el directorio de trabajo, además de las capas AGENTS.local.md y CLAUDE.local.md y un $DSH_HOME/AGENTS.md global del usuario, dentro de un límite de 65.536 bytes. Las skills son diferentes: dsh analiza .dsh/skills, .agents/skills, $DSH_HOME/skills y ~/.agents/skills de forma predeterminada, no .claude/skills, por lo que las skills de Claude Code deben moverse o añadirse mediante una entrada customSkillDirs.
Ejecutado el 1 de octubre de 2026: @deepseek-ai/dsh 0.2.0-rc.2 (dsh --profile headless, telemetría desactivada) y @anthropic-ai/claude-code 2.1.286 (claude -p, directorio de configuración temporal, telemetría y tráfico no esencial desactivados), ambos instalados desde npm en una carpeta temporal y apuntados al mismo sustituto local de grabación con claves falsas. El comportamiento más allá de la ejecución se basa en los README incluidos en los paquetes de dsh; la asignación de modelos y la tabla de compatibilidad de DeepSeek proceden de api-docs.deepseek.com; los planes de Claude, de claude.com/pricing; y las tarifas de Kunavo, del catálogo activo.