> ## 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.

# Usa DeepSeek Harness con CometAPI

> Configura DeepSeek Harness 0.1.0-rc.8 per utilizzare CometAPI tramite Chat Completions, Responses, Anthropic Messages o Google generateContent.

Usa questa guida per eseguire [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) con CometAPI. DeepSeek Harness carica provider di modelli personalizzati da `$DSH_HOME/settings.yaml`, il cui valore predefinito è `~/.dsh/settings.yaml`.

Le configurazioni in questa pagina sono state verificate con `@deepseek-ai/dsh@0.1.0-rc.8`. Ogni route ha completato un turno di testo in Streaming e un ciclo di strumenti per la lettura di file con un modello rappresentativo. Questo ambito non implica che ogni modello CometAPI accetti ogni formato API.

<Warning>
  DeepSeek Harness è in Developer Preview e può introdurre modifiche incompatibili. Quando segui questa guida, fissa la versione del pacchetto testata e consulta le note di rilascio upstream prima dell'aggiornamento.
</Warning>

Riferimenti ufficiali:

* [Repository di DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
* [Codice sorgente di DeepSeek Harness 0.1.0-rc.8](https://github.com/deepseek-ai/deepseek-harness/tree/dsh-v0.1.0-rc.8)
* [CLI di DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.0-rc.8/apps/cli/README.md)
* [Guida ai provider di DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.0-rc.8/docs/user/guide/providers.md)

## Prerequisiti

* Node.js e npm
* Un account CometAPI con una chiave API attiva dal [dashboard](https://www.cometapi.com/console/token)
* Un ID modello dalla [pagina dei modelli CometAPI](/it/overview/models) per ogni formato API che intendi utilizzare

## Comprendere le route dei provider

Il valore `api` seleziona il formato wire. `baseURL` termina prima del percorso dell'operazione aggiunto da Harness.

| ID provider          | `api` valore         | `baseURL`                     | Percorso della richiesta |
| -------------------- | -------------------- | ----------------------------- | ------------------------ |
| `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>
  Sostituisci ogni valore `your-model-id` in modo indipendente. Scegli un modello che accetti il formato API della relativa voce del provider.
</Note>

## Configura i provider

<Steps>
  <Step title="Conferma la versione di Harness testata">
    Conferma la versione del pacchetto bloccata prima di configurare Harness:

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

    Il comando dovrebbe stampare `0.1.0-rc.8`.
  </Step>

  <Step title="Imposta la chiave API di CometAPI">
    Archivia la tua chiave in `COMETAPI_KEY` prima di avviare Harness:

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

    Imposta la variabile in ogni sessione della shell che avvia Harness. Non eseguire il commit delle chiavi API nel controllo versione.
  </Step>

  <Step title="Aggiungi i provider CometAPI">
    Crea `$DSH_HOME/settings.yaml`. Se il file contiene già una sezione `llm-pi-ai`, unisci queste voci di provider alla mappa `providers` esistente:

    ```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
    ```

    L'esempio seleziona il provider Responses per impostazione predefinita. Modifica `agent-default-model.provider` e `agent-default-model.model` per selezionare un'altra voce configurata.

    Se preferisci la Web UI, avviala dopo aver esportato `COMETAPI_KEY`, quindi usa le impostazioni del modello per aggiungere o modificare le voci del provider e selezionare il modello predefinito:

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

    L'indirizzo locale predefinito è `http://127.0.0.1:3080`. YAML rimane il metodo diretto per far corrispondere i nomi delle route e gli URL di base presenti in questa guida.
  </Step>

  <Step title="Verifica un'interazione testuale">
    Esegui un'attività headless singola dalla directory del progetto che vuoi che Harness utilizzi:

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

    Un'esecuzione riuscita stampa `COMETAPI_DSH_OK`. Per controllare un altro provider, aggiorna `agent-default-model` ed esegui di nuovo il comando.
  </Step>

  <Step title="Verifica l'uso dello strumento file">
    Crea un file sentinella temporaneo, quindi chiedi a Harness di leggerlo con uno strumento file:

    ```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."
    ```

    Verifica che la risposta finale sia `COMETAPI_DSH_TOOL_OK`. Esegui Harness solo in uno spazio di lavoro in cui accetti il suo accesso a file, processi e rete.
  </Step>
</Steps>

## Route facoltativa

Harness dispone di una route di provider integrata denominata `google`. La configurazione seguente indirizza tale route a CometAPI, sostituendo quindi l'endpoint Google nativo della route invece di aggiungere una seconda route Google.

Unisci questa voce in `llm-pi-ai.providers`, quindi selezionala in `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
```

Non aggiungere un campo `api` a questa voce. La route integrata `google` mantiene il protocollo Google nativo e invia richieste di Streaming a `/v1beta/models/{model}:streamGenerateContent?alt=sse` con l'autenticazione `x-goog-api-key`.

## Risoluzione dei problemi

<AccordionGroup>
  <Accordion title="Harness segnala che manca la chiave API">
    Verifica che `COMETAPI_KEY` sia impostato nella stessa shell che avvia Harness. Riavvia Harness dopo aver modificato la variabile di ambiente.
  </Accordion>

  <Accordion title="Harness non mostra il modello configurato">
    Verifica che `$DSH_HOME/settings.yaml` sia YAML valido, che il provider si trovi in `llm-pi-ai.providers` e che il modello sia elencato in `models` di quel provider. Il valore predefinito di `DSH_HOME` è `~/.dsh`.
  </Accordion>

  <Accordion title="Chat Completions o Responses usa il percorso errato">
    Usa `https://api.cometapi.com/v1` come `baseURL`. Non aggiungere `/chat/completions` né `/responses`; Harness aggiunge il percorso dell'operazione.
  </Accordion>

  <Accordion title="Anthropic Messages restituisce un errore di percorso">
    Usa `https://api.cometapi.com` senza `/v1` come `baseURL` di Messages. L'adattatore Anthropic aggiunge `/v1/messages`.
  </Accordion>

  <Accordion title="Google genera un percorso v1beta duplicato">
    Usa `https://api.cometapi.com/v1beta` esattamente così. Non aggiungere un percorso del modello e non aggiungere un campo `api` alla route `google` integrata.
  </Accordion>

  <Accordion title="Un modello funziona con un provider ma non con un altro">
    La disponibilità dei modelli e i formati API accettati possono variare. Scegli un modello per ogni voce del provider anziché presumere che un unico modello funzioni con tutti e quattro i formati.
  </Accordion>

  <Accordion title="La configurazione smette di funzionare dopo un aggiornamento">
    DeepSeek Harness è in Developer Preview. Torna a `@deepseek-ai/dsh@0.1.0-rc.8`, quindi esamina le modifiche upstream prima di adattare la configurazione a un'altra versione.
  </Accordion>
</AccordionGroup>

## Risorse correlate

* [Guida rapida di CometAPI](/it/overview/quick-start)
* [Pagina Modelli di CometAPI](/it/overview/models)
* [Repository di DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
* [Guida al provider 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": "Usare DeepSeek Harness con CometAPI",
        "description": "Configura DeepSeek Harness 0.1.0-rc.8 per usare CometAPI tramite Chat Completions, Responses, Anthropic Messages o Google generateContent.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-1",
            "position": 1,
            "name": "Confermare la versione di Harness testata",
            "text": "Conferma la versione del pacchetto DeepSeek Harness 0.1.0-rc.8 fissata."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-2",
            "position": 2,
            "name": "Impostare la chiave API di CometAPI",
            "text": "Archivia la chiave API di CometAPI in COMETAPI_KEY prima di avviare Harness."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-3",
            "position": 3,
            "name": "Aggiungere i provider CometAPI",
            "text": "Aggiungi i percorsi dei provider verificati al file settings.yaml di Harness."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-4",
            "position": 4,
            "name": "Verificare un turno di testo",
            "text": "Esegui un'attività headless fissata e conferma la risposta di testo prevista."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-5",
            "position": 5,
            "name": "Verificare l'uso dello strumento file",
            "text": "Chiedi a Harness di leggere un file sentinella e conferma la risposta finale esatta."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Documentazione CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integrazioni",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Usare DeepSeek Harness con CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/deepseek-harness"
          }
        ]
      }
    ]
    }
    `}
</script>
