DeepSeek Harness: guía del coding agent
DeepSeek Harness es un agente de programación plugin-first; instalaremos su Web UI y conectaremos una configuración verificada de OmniAKey como proveedor personalizado.
DeepSeek Harness es un agente de programación y runtime de agentes open source de DeepSeek AI. Aporta el bucle, las herramientas, el acceso al workspace, las sesiones, los permisos y la interfaz que rodean al modelo. El modelo sigue procediendo de un proveedor API. Primero explicaremos qué hace este DeepSeek code harness y después lo conectaremos a OmniAKey mediante su flujo oficial de proveedor personalizado.
Verificado el 14 de agosto de 2026. El comando de instalación, el puerto por defecto, los campos de proveedor, el descubrimiento de modelos, el almacenamiento de credenciales y el aviso de developer preview se contrastaron con la página de DeepSeek, la documentación oficial, el README de GitHub y el código fuente actual. El Base URL y los Model ID de OmniAKey se comprobaron en la documentación API y el catálogo actuales. dsh se inició localmente y se inspeccionó su pantalla de configuración; no se ejecutó ningún benchmark de pago.
¿Qué es DeepSeek Harness?
DeepSeek Harness, abreviado dsh, no es un nuevo modelo de lenguaje. Es la capa de software que convierte un modelo en agente: le permite entender un workspace, llamar herramientas, editar archivos, ejecutar comandos, conservar sesiones y pedir autorización.
Su idea central es everything is a plugin. El proyecto construyó el harness sobre Cordis, por lo que modelos, herramientas, skills, sesiones, sandboxes, almacenamiento, bucles, planificación y hasta la UI pueden sustituirse o recomponerse mediante configuración.
| Capacidad | Qué significa en la práctica |
|---|---|
| Runtime plugin-first | Sustituir o ampliar modelos, herramientas, almacenamiento, sesiones y otras capacidades |
| Sesiones trazables | Ver prompts, razonamiento, tool calls, resultados, inyección de contexto y planificación de subagents en un log append-only |
| Varios modos | Standard, Code, Minimal y Creator exponen distintas herramientas y superficies de orchestration |
| Web UI local | El comando npm sirve http://127.0.0.1:3080 por defecto |
| Proveedores personalizados | Conectar un gateway empresarial o endpoint OpenAI-compatible sin modificar el código de Harness |
Ese flujo trazable es más que un historial de chat. Resume, fork, search y replay operan sobre el mismo log de sesión, algo útil cuando el agente realiza varias tool calls antes de contestar.
Lo que este agente no es
- No es DeepSeek V4 Pro ni otro modelo. El harness y el modelo son capas distintas.
- Todavía no es una versión estable de producción. El proyecto la identifica como developer preview y avisa de cambios incompatibles.
- Al ejecutarlo con npm no es un servicio de programación alojado: la Web UI se vincula al loopback local por defecto.
- Open source no implica inferencia gratis. El repositorio usa licencia MIT; el proveedor configurado factura las llamadas API.
Configuración de OmniAKey en DeepSeek Harness
Esta es la configuración completa antes de entrar en cada paso:
| Campo | Valor |
|---|---|
| Provider ID | omniakey |
| Display name | OmniAKey |
| Base URL | https://api.omniakey.com/v1 |
| API protocol | openai-completions |
| API key | Una clave dedicada del dashboard de OmniAKey |
| Modelo inicial | deepseek-v4-pro o deepseek-v4-flash |
El sufijo /v1 forma parte del Base URL. No uses el origen sin sufijo, no lo dupliques como /v1/v1 y no pegues la ruta completa /chat/completions. El cliente añade la ruta de la operación.
Paso 1. Instala e inicia DeepSeek Harness
Instala Node.js, abre un terminal en el proyecto que quieres que vea el agente y ejecuta el quick start oficial:
npx @deepseek-ai/dsh web
El comando actual inicia la Web UI en:
http://127.0.0.1:3080
Si 3080 está ocupado, el perfil Web acepta otro puerto:
npx @deepseek-ai/dsh web --port 3081
El directorio desde el que lanzas dsh se convierte en su ubicación de filesystem por defecto, pero el composer queda bloqueado hasta que añades y seleccionas un workspace. Elige el repositorio deliberadamente: según la política de permisos activa, el agente puede recibir herramientas de archivos y shell.
Paso 2. Crea una API key dedicada de OmniAKey
Abre el dashboard de API keys de OmniAKey y crea una clave específica para Harness. Una credencial separada es más fácil de limitar, rotar, revocar y auditar que una compartida entre varias herramientas.
No pongas la clave literal en código, repositorios, historial de shell, capturas, issues o chats. La Web UI trata las claves guardadas como write-only: la documentación oficial indica que el secreto se almacena en $DSH_HOME/.credentials.yaml, mientras settings conserva solo una referencia y la página recibe un descriptor oculto.
Paso 3. Añade OmniAKey como proveedor personalizado
En una instalación nueva, acepta Internal Testing Notice con Continue. El siguiente diálogo de onboarding solo pide una API key oficial de DeepSeek; elige Configure later, porque OmniAKey debe ir en un proveedor personalizado, no en esa ruta oficial incorporada.
En Harness abre Settings → Models, elige Add a custom provider y completa:
- Provider ID:
omniakey. Debe comenzar por una letra minúscula. - Display name:
OmniAKey. - Base URL:
https://api.omniakey.com/v1. - API protocol:
openai-completions. - API key: la clave dedicada de OmniAKey.
El Provider ID es permanente en el diseño actual porque lo usan las sesiones guardadas, defaults, requests y referencias de credencial. Display name, Base URL, protocolo, key y modelos siguen siendo editables.
Paso 4. Descubre y selecciona modelos
En Model catalog, pulsa Fetch available models. Para un proveedor OpenAI-compatible personalizado, Harness envía un GET /models con autenticación Bearer al Base URL visible en el formulario. Con esta configuración llega al endpoint GET /v1/models de OmniAKey.
Selecciona solo los modelos que vayas a usar. Para este flujo puedes empezar con:
| Model ID | Cuándo elegirlo |
|---|---|
deepseek-v4-pro | Programación de contexto largo y tareas de agente donde priorizas la ruta flagship de DeepSeek |
deepseek-v4-flash | Turnos rápidos y frecuentes donde importan más precios inferiores de input y output |
El mismo proveedor también expone modelos Claude, GPT, Gemini, Grok y GLM compatibles. Copia sus ID del catálogo actual de modelos; son identificadores exactos, no alias aproximados.
Si discovery no está disponible, añade un Model ID exacto a mano. El cliente necesita al menos un modelo para crear el proveedor.
Paso 5. Guarda y ejecuta una prueba segura
Guarda el proveedor, selecciona tu proyecto con Choose workspace, abre una sesión nueva y elige OmniAKey / deepseek-v4-pro o OmniAKey / deepseek-v4-flash.
Empieza con un prompt read-only y acotado:
Inspecciona package.json y resume los scripts disponibles. No edites archivos ni ejecutes comandos.
La prueba confirma workspace, provider, key, Model ID y respuesta básica antes de autorizar cambios o shell. Una respuesta de texto no demuestra todos los patrones de tool calling; prueba una operación reversible antes de encargar un gran refactor.
Los cambios de modelo se aplican en la siguiente petición sin reiniciar. Sin embargo, una sesión que ya envió una petición conserva el modelo grabado en su log. Inicia una sesión nueva tras cambiar de proveedor o modelo para obtener una prueba inequívoca.
Opcional: configurar settings.yaml
La Web UI es el camino más claro al empezar. En una instalación local controlada también puedes crear un profile en $DSH_HOME/settings.yaml que referencie una variable de entorno:
export OMNIAKEY_API_KEY="your-omniakey-api-key"
llm-pi-ai:
providers:
omniakey:
displayName: OmniAKey
apiKeyEnv: OMNIAKEY_API_KEY
api: openai-completions
baseURL: https://api.omniakey.com/v1
models:
- id: deepseek-v4-pro
- id: deepseek-v4-flash
La clave debe existir en el entorno que lanza dsh. No sustituyas apiKeyEnv por el secreto literal en YAML. La referencia oficial dsh-llm-pi-ai recomienda referencias de credencial para que el secreto no entre en settings.
¿Por qué usar OmniAKey con DeepSeek Harness?
Harness ya acepta gateways personalizados; OmniAKey convierte ese punto de extensión en un proveedor reutilizable.
- Una configuración para varias familias. Cambia el Model ID exacto en el picker sin crear un profile de gateway por proveedor.
- Descubrimiento de modelos. Harness puede leer la lista OpenAI-compatible de OmniAKey en lugar de escribir cada ID de memoria.
- Controles operativos separados. Da a Harness su propia clave, cuota, ciclo de rotación y rastro de uso.
- Identidad explícita. La política de OmniAKey no permite sustitución silenciosa: se ejecutan proveedor y modelo solicitados; un upstream caído devuelve un error visible.
- Pago por API sin otra suscripción de agente. OmniAKey usa saldo prepago y facturación por token. La disponibilidad y las tarifas actuales siguen en el catálogo.
Esto no hace a OmniAKey universalmente mejor que una clave oficial. Usa el endpoint directo si solo necesitas la cuenta nativa del proveedor. OmniAKey aporta más valor cuando una instalación de Harness necesita una selección de DeepSeek y otras familias tras una clave y un Base URL.
Solución de problemas
Fetch available models devuelve 401
Comprueba que la key procede de OmniAKey, no contiene espacios, sigue activa y está emparejada con https://api.omniakey.com/v1. Discovery utiliza autenticación Bearer.
El proveedor devuelve 404
Corrige primero el Base URL. Errores comunes: omitir /v1, duplicarlo o introducir https://api.omniakey.com/v1/chat/completions como Base URL.
UNKNOWN_MODEL
El modelo no está en la lista guardada del proveedor. Repite discovery o añade el ID exacto del catálogo y selecciónalo en una sesión nueva.
MISSING_CREDENTIAL
Guarda la key en Settings → Models o confirma que OMNIAKEY_API_KEY existe en el shell que inicia Harness. Definirla en otro terminal no modifica un proceso activo.
El cambio de modelo no parece aplicarse
Crea una sesión nueva. Las sesiones existentes conservan proveedor y modelo en el log append-only tras la primera petición.
El texto funciona pero falla una herramienta
La generación básica y el uso estructurado de herramientas son comprobaciones distintas. Empieza con una tarea read-only, revisa Trajectory y localiza el fallo antes de ampliar permisos o límites. Rotar una API key válida no arregla una tool call mal formada.
Preguntas frecuentes
¿Este agente es gratis?
El código usa licencia MIT. La inferencia del modelo es independiente y puede generar cargos en la API oficial, OmniAKey u otro proveedor.
¿Puede usar DeepSeek V4 Pro mediante OmniAKey?
Sí. Añade OmniAKey como proveedor openai-completions y selecciona el ID exacto deepseek-v4-pro. deepseek-v4-flash es la ruta V4 de menor precio.
¿Debo pegar la key de OmniAKey en la tarjeta DeepSeek incorporada?
Usa Add a custom provider. La tarjeta incorporada configura la ruta oficial de DeepSeek; el proveedor personalizado es el camino documentado para un gateway y expone Base URL, protocolo y modelos que necesita OmniAKey.
¿El mismo proveedor puede usar Claude, GPT o Gemini?
Sí, cuando OmniAKey admita el modelo en su interfaz OpenAI-compatible. Obtén la lista en vivo y añade los ID exactos. Las funciones de protocolo pueden variar, así que verifica las herramientas con cada modelo.
¿Dónde guarda Harness la API key?
Las claves guardadas en Models son write-only y van a $DSH_HOME/.credentials.yaml; settings conserva la referencia. En YAML usa apiKeyEnv y pasa el secreto mediante el entorno del proceso.
¿Está listo para producción estable?
Trátalo hoy como una tecnología para evaluar. La documentación oficial lo llama developer preview y avisa de cambios incompatibles. Fija versiones, respalda la configuración sin secretos y vuelve a comprobar la guía tras actualizar.