> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# DeepSeek Harness

> Instala TokenLab en DeepSeek Harness como proveedor de modelos con protocolos nativos y herramientas multimedia y asíncronas completas

## Descripción general

El bundle de TokenLab para DeepSeek Harness añade dos superficies de integración:

* tres rutas de modelos exclusivas para OpenAI Responses, Anthropic Messages y OpenAI Chat Completions;
* el perfil TokenLab MCP `full` para descubrir modelos y usar imágenes, vídeo, música, 3D, audio, archivos, embeddings, rerank, traducción y tareas asíncronas.

El paquete es `@tokenlabai/dsh-provider` y está dirigido a DeepSeek Harness `0.1.1-rc.2` y contratos de plugin `0.1.x` compatibles.

<Note>
  Esta página es documentación preparada para el lanzamiento. Publica y comprueba primero el paquete npm antes de desplegar la página o enviar su ficha al mercado.
</Note>

## Instalación

Guarda la key en el archivo `.env` del proyecto o del Harness home:

```dotenv theme={null}
TOKENLAB_API_KEY=sk-your-tokenlab-key
```

Instala el bundle en el profile que utilizas y reinícialo:

```bash theme={null}
dsh plugin --profile web add --workspace-root @tokenlabai/dsh-provider
```

Para tareas puntuales puedes usar el profile headless:

```bash theme={null}
dsh plugin --profile headless add --workspace-root @tokenlabai/dsh-provider
```

## Enrutamiento de endpoints nativos

Harness selecciona el wire protocol en el nivel de provider route. Por ello, el bundle registra tres proveedores y asigna cada modelo chat público a uno solo.

| Harness provider       | TokenLab endpoint           | Selección                                                                      |
| ---------------------- | --------------------------- | ------------------------------------------------------------------------------ |
| `TokenLab · Responses` | `POST /v1/responses`        | owner OpenAI y `openai_responses` declarado en el detail contract público      |
| `TokenLab · Messages`  | `POST /v1/messages`         | owner Anthropic y `anthropic_messages` declarado en el detail contract público |
| `TokenLab · Chat`      | `POST /v1/chat/completions` | otros modelos con compatibilidad OpenAI Chat Completions declarada             |

La instantánea se genera desde `GET /v1/models` y `GET /v1/models/{id}`. No se deduce el protocolo por substrings del nombre ni por rutas internas.

<Note>
  Los custom providers actuales de Harness admiten `openai-responses`, `anthropic-messages` y `openai-completions`, pero no un protocolo Gemini native configurable. En Harness, Gemini usa su Chat fallback público. Si una aplicación necesita Gemini `generateContent`, debe llamar a `/v1beta/models/{model}:generateContent` desde un cliente compatible.
</Note>

## Herramientas multimedia y de desarrollo

El bundle inicia localmente una versión fijada de `@tokenlabai/mcp-server` mediante stdio y la MCP bridge oficial. El perfil `full` registra 80 herramientas bajo `mcp__tokenlab__...` para catalog/pricing, cuatro API LLM, imágenes, vídeo, música, 3D, audio, archivos, response lifecycle, batches, embeddings, rerank, traducción, worlds y recursos multimedia.

El modelo recibe portable schemas, mientras que el MCP server valida las llamadas con el contrato OpenAPI completo.

## Medios asíncronos

La creación de vídeo, música y 3D es asíncrona. Según el modelo, una imagen puede devolver un resultado inmediato o una tarea.

1. Lee `delivery.mode`.
2. Con `sync`, consume el resultado directamente.
3. Con `async`, pasa `delivery.task_id` a `tokenlab_wait_task`.
4. Usa `status`, la `response` completa y `result_urls`.
5. Un timeout devuelve el último estado no terminal para poder reanudar el polling.

`tokenlab_wait_task` es de solo lectura. Propaga la cancelación a solicitudes y delays, limita los reintentos transitorios y usa status, no un progress opcional, para decidir el estado terminal.

## Ajustes

| Variable                      | Predeterminado               | Uso                                               |
| ----------------------------- | ---------------------------- | ------------------------------------------------- |
| `TOKENLAB_API_KEY`            | ninguno                      | Autenticación de modelos, MCP y polling asíncrono |
| `TOKENLAB_API_BASE`           | `https://api.tokenlab.sh`    | Root de las API MCP y task                        |
| `TOKENLAB_OPENAI_BASE_URL`    | `https://api.tokenlab.sh/v1` | Base URL de Responses y Chat                      |
| `TOKENLAB_ANTHROPIC_BASE_URL` | `https://api.tokenlab.sh`    | Base URL de Messages                              |
| `TOKENLAB_MCP_TOOL_PROFILE`   | `full`                       | `catalog`, `core` o `full`                        |
| `TOKENLAB_MCP_SCHEMA_MODE`    | `portable`                   | `portable`, `exact` o `strict`                    |

Usa `core` si prefieres reducir el coste recurrente de tool schemas frente a disponer de toda la superficie de desarrollo.

## Verificación y seguridad

Tras reiniciar, comprueba los tres proveedores TokenLab, la asignación única de modelos y un resultado no vacío de `mcp__tokenlab__list_models`. Con una key de prueba, ejecuta una llamada Responses, Messages y Chat, confirma el endpoint en los logs y espera la URL terminal de una tarea multimedia asíncrona de bajo coste.

Conserva la key en un entorno fiable o secret store. El MCP server se ejecuta localmente sobre stdio con el mismo Node que Harness, sin shell ni intermediario MCP alojado. Mantén las aprobaciones para herramientas facturables o destructivas y trata textos, URL, archivos y medios como contenido externo no confiable.

Una sección `llm-pi-ai` guardada tiene prioridad sobre los valores del bundle. Si ya existe, fusiona las tres rutas `tokenlab-*` de `cordis.patch.yml` en su map `providers`.

## Desinstalación

```bash theme={null}
dsh plugin --profile web remove --workspace-root @tokenlabai/dsh-provider
```

Reinicia el profile. No se eliminan la cuenta TokenLab ni la key.

## Páginas relacionadas

* [Servidor MCP de TokenLab](/es/integrations/tokenlab-mcp-server)
* [Formatos de API](/es/guides/api-formats)
* [Trabajos asíncronos y sondeo](/es/guides/async-jobs-polling)
