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

# Usar DeepSeek Harness con CometAPI

> Configure DeepSeek Harness 0.1.0-rc.8 para usar CometAPI mediante Chat Completions, Responses, Anthropic Messages o Google generateContent.

Utilice esta guía para ejecutar [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) con CometAPI. DeepSeek Harness carga proveedores de modelos personalizados desde `$DSH_HOME/settings.yaml`, cuyo valor predeterminado es `~/.dsh/settings.yaml`.

Las configuraciones de esta página se verificaron con `@deepseek-ai/dsh@0.1.0-rc.8`. Cada ruta completó un turno de texto de Streaming y un bucle de herramientas de lectura de archivos con un modelo representativo. Este alcance no significa que todos los modelos de CometAPI acepten todos los formatos de API.

<Warning>
  DeepSeek Harness se encuentra en Developer Preview y puede introducir cambios incompatibles. Fije la versión del paquete probada al seguir esta guía y revise las notas de la versión upstream antes de actualizar.
</Warning>

Referencias oficiales:

* [Repositorio de DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
* [Código fuente de DeepSeek Harness 0.1.0-rc.8](https://github.com/deepseek-ai/deepseek-harness/tree/dsh-v0.1.0-rc.8)
* [CLI de DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.0-rc.8/apps/cli/README.md)
* [Guía de proveedores de DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.0-rc.8/docs/user/guide/providers.md)

## Requisitos previos

* Node.js y npm
* Una cuenta de CometAPI con una clave de API activa del [panel de control](https://www.cometapi.com/console/token)
* Un ID de modelo de la [página de modelos de CometAPI](/es/overview/models) para cada formato de API que planee utilizar

## Comprender las rutas de los proveedores

El valor de `api` selecciona el formato de protocolo. `baseURL` termina antes de la ruta de operación que Harness agrega.

| ID del proveedor     | `api` valor          | `baseURL`                     | Ruta de solicitud      |
| -------------------- | -------------------- | ----------------------------- | ---------------------- |
| `cometapi-chat`      | `openai-completions` | `https://api.cometapi.com/v1` | `/v1/chat/completions` |
| `cometapi-responses` | `openai-responses`   | `https://api.cometapi.com/v1` | `/v1/responses`        |
| `cometapi-messages`  | `anthropic-messages` | `https://api.cometapi.com`    | `/v1/messages`         |

<Note>
  Reemplace cada valor de `your-model-id` de forma independiente. Elija un modelo que acepte el formato de API de la entrada de su proveedor.
</Note>

## Configure los proveedores

<Steps>
  <Step title="Confirme la versión de Harness probada">
    Confirme la versión fijada del paquete antes de configurar Harness:

    ```bash theme={null}
    npx @deepseek-ai/dsh@0.1.0-rc.8 --version
    ```

    El comando debería mostrar `0.1.0-rc.8`.
  </Step>

  <Step title="Configure su clave de API de CometAPI">
    Guarde su clave en `COMETAPI_KEY` antes de iniciar Harness:

    ```bash theme={null}
    read -rsp "CometAPI API key: " COMETAPI_KEY
    printf '\n'
    export COMETAPI_KEY
    ```

    Configure la variable en cada sesión de shell que inicie Harness. No confirme claves de API en el control de versiones.
  </Step>

  <Step title="Agregue los proveedores de CometAPI">
    Cree `$DSH_HOME/settings.yaml`. Si el archivo ya tiene una sección `llm-pi-ai`, fusione estas entradas de proveedores en su mapa `providers` existente:

    ```yaml theme={null}
    llm-pi-ai:
      providers:
        cometapi-chat:
          displayName: CometAPI Chat Completions
          apiKeyEnv: COMETAPI_KEY
          api: openai-completions
          baseURL: https://api.cometapi.com/v1
          models:
            - id: your-model-id
        cometapi-responses:
          displayName: CometAPI Responses
          apiKeyEnv: COMETAPI_KEY
          api: openai-responses
          baseURL: https://api.cometapi.com/v1
          models:
            - id: your-model-id
        cometapi-messages:
          displayName: CometAPI Anthropic Messages
          apiKeyEnv: COMETAPI_KEY
          api: anthropic-messages
          baseURL: https://api.cometapi.com
          models:
            - id: your-model-id

    agent-default-model:
      provider: cometapi-responses
      model: your-model-id
    ```

    El ejemplo selecciona el proveedor Responses de forma predeterminada. Cambie `agent-default-model.provider` y `agent-default-model.model` para seleccionar otra entrada configurada.

    Si prefiere la interfaz web, iníciela después de exportar `COMETAPI_KEY` y, a continuación, use la configuración de modelos para agregar o editar entradas de proveedores y seleccionar el modelo predeterminado:

    ```bash theme={null}
    npx @deepseek-ai/dsh@0.1.0-rc.8 web
    ```

    La dirección local predeterminada es `http://127.0.0.1:3080`. YAML sigue siendo la vía directa para hacer coincidir los nombres de ruta y las URL base de esta guía.
  </Step>

  <Step title="Verifique una interacción de texto">
    Ejecute una tarea sin interfaz de una sola ejecución desde el directorio del proyecto que desea que use Harness:

    ```bash theme={null}
    npx @deepseek-ai/dsh@0.1.0-rc.8 \
      --profile headless \
      "Reply exactly with: COMETAPI_DSH_OK"
    ```

    Una ejecución correcta muestra `COMETAPI_DSH_OK`. Para comprobar otro proveedor, actualice `agent-default-model` y ejecute el comando de nuevo.
  </Step>

  <Step title="Verifique el uso de herramientas de archivos">
    Cree un archivo centinela temporal y luego pida a Harness que lo lea con una herramienta de archivos:

    ```bash theme={null}
    printf 'COMETAPI_DSH_TOOL_OK\n' > /tmp/cometapi-dsh-sentinel.txt
    npx @deepseek-ai/dsh@0.1.0-rc.8 \
      --profile headless \
      "Read /tmp/cometapi-dsh-sentinel.txt with a file tool, then reply with only its contents."
    ```

    Confirme que la respuesta final sea `COMETAPI_DSH_TOOL_OK`. Ejecute Harness únicamente en un espacio de trabajo donde acepte su acceso a archivos, procesos y red.
  </Step>
</Steps>

## Ruta opcional

Harness tiene una ruta de proveedor integrada llamada `google`. La configuración siguiente dirige esa ruta a CometAPI, por lo que reemplaza el endpoint nativo de Google de la ruta en lugar de agregar una segunda ruta de Google.

Fusione esta entrada en `llm-pi-ai.providers` y, a continuación, selecciónela en `agent-default-model`:

```yaml theme={null}
llm-pi-ai:
  providers:
    google:
      displayName: CometAPI Google generateContent
      apiKeyEnv: COMETAPI_KEY
      baseURL: https://api.cometapi.com/v1beta
      models:
        - id: your-model-id

agent-default-model:
  provider: google
  model: your-model-id
```

No agregue un campo `api` a esta entrada. La ruta integrada `google` conserva su protocolo nativo de Google y envía solicitudes de Streaming a `/v1beta/models/{model}:streamGenerateContent?alt=sse` con autenticación `x-goog-api-key`.

## Solución de problemas

<AccordionGroup>
  <Accordion title="Harness informa que falta la clave de API">
    Confirma que `COMETAPI_KEY` esté definida en el mismo shell desde el que se inicia Harness. Reinicia Harness después de cambiar la variable de entorno.
  </Accordion>

  <Accordion title="Harness no muestra el modelo configurado">
    Confirma que `$DSH_HOME/settings.yaml` sea YAML válido, que el proveedor esté en `llm-pi-ai.providers` y que el modelo figure en `models` de ese proveedor. El valor predeterminado de `DSH_HOME` es `~/.dsh`.
  </Accordion>

  <Accordion title="Chat Completions o Responses usan la ruta incorrecta">
    Usa `https://api.cometapi.com/v1` como `baseURL`. No añadas `/chat/completions` ni `/responses`; Harness añade la ruta de la operación.
  </Accordion>

  <Accordion title="Anthropic Messages devuelve un error de ruta">
    Usa `https://api.cometapi.com` sin `/v1` como `baseURL` de Messages. El adaptador de Anthropic añade `/v1/messages`.
  </Accordion>

  <Accordion title="Google genera una ruta v1beta duplicada">
    Usa `https://api.cometapi.com/v1beta` exactamente. No añadas una ruta de modelo ni un campo `api` a la ruta `google` integrada.
  </Accordion>

  <Accordion title="Un modelo funciona con un proveedor, pero no con otro">
    La disponibilidad de los modelos y los formatos de API aceptados pueden variar. Elige un modelo para cada entrada de proveedor en lugar de suponer que un mismo modelo funciona con los cuatro formatos.
  </Accordion>

  <Accordion title="La configuración deja de funcionar tras una actualización">
    DeepSeek Harness está en vista previa para desarrolladores. Vuelve a `@deepseek-ai/dsh@0.1.0-rc.8` y revisa los cambios upstream antes de adaptar la configuración a otra versión.
  </Accordion>
</AccordionGroup>

## Recursos relacionados

* [Inicio rápido de CometAPI](/es/overview/quick-start)
* [Página de modelos de CometAPI](/es/overview/models)
* [Repositorio de DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
* [Guía del proveedor de DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.0-rc.8/docs/user/guide/providers.md)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#howto",
        "name": "Usa DeepSeek Harness con CometAPI",
        "description": "Configura DeepSeek Harness 0.1.0-rc.8 para usar CometAPI mediante Chat Completions, Responses, Anthropic Messages o Google generateContent.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-1",
            "position": 1,
            "name": "Confirma la versión de Harness probada",
            "text": "Confirma la versión fijada 0.1.0-rc.8 del paquete DeepSeek Harness."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-2",
            "position": 2,
            "name": "Configura tu clave de API de CometAPI",
            "text": "Guarda la clave de API de CometAPI en COMETAPI_KEY antes de iniciar Harness."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-3",
            "position": 3,
            "name": "Agrega los proveedores de CometAPI",
            "text": "Agrega las rutas de proveedor verificadas al archivo settings.yaml de Harness."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-4",
            "position": 4,
            "name": "Verifica un turno de texto",
            "text": "Ejecuta una tarea sin interfaz fijada y confirma la respuesta de texto esperada."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-5",
            "position": 5,
            "name": "Verifica el uso de la herramienta de archivos",
            "text": "Pide a Harness que lea un archivo centinela y confirma la respuesta final exacta."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Documentación de CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integraciones",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Usa DeepSeek Harness con CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/deepseek-harness"
          }
        ]
      }
    ]
    }
    `}
</script>
