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

# Використання DeepSeek Harness із CometAPI

> Налаштуйте DeepSeek Harness 0.1.0-rc.8 для використання CometAPI через Chat Completions, Responses, Anthropic Messages або Google generateContent.

Скористайтеся цим посібником, щоб запустити [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) із CometAPI. DeepSeek Harness завантажує користувацьких постачальників моделей із `$DSH_HOME/settings.yaml`, значенням за замовчуванням для якого є `~/.dsh/settings.yaml`.

Конфігурації на цій сторінці перевірено з `@deepseek-ai/dsh@0.1.0-rc.8`. Кожен маршрут виконав потокову текстову взаємодію та цикл інструмента читання файлів з однією репрезентативною моделлю. Це не означає, що кожна модель CometAPI підтримує кожен формат API.

<Warning>
  DeepSeek Harness перебуває в попередньому перегляді для розробників і може вносити несумісні зміни. Використовуйте перевірену версію пакета, дотримуючись цього посібника, і переглядайте примітки до випусків першоджерела перед оновленням.
</Warning>

Офіційні посилання:

* [Репозиторій DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
* [Вихідний код DeepSeek Harness 0.1.0-rc.8](https://github.com/deepseek-ai/deepseek-harness/tree/dsh-v0.1.0-rc.8)
* [CLI DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.0-rc.8/apps/cli/README.md)
* [Посібник із постачальників DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.0-rc.8/docs/user/guide/providers.md)

## Передумови

* Node.js і npm
* Обліковий запис CometAPI з активним ключем API з [панелі керування](https://www.cometapi.com/console/token)
* Ідентифікатор моделі з [сторінки моделей CometAPI](/uk/overview/models) для кожного формату API, який ви плануєте використовувати

## Огляд маршрутів постачальників

Значення `api` визначає формат обміну даними. `baseURL` не включає шлях операції, який додає Harness.

| Ідентифікатор постачальника | `api` значення       | `baseURL`                     | Шлях запиту            |
| --------------------------- | -------------------- | ----------------------------- | ---------------------- |
| `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>
  Замініть кожне значення `your-model-id` окремо. Виберіть модель, яка підтримує формат API запису свого постачальника.
</Note>

## Налаштуйте провайдерів

<Steps>
  <Step title="Підтвердьте протестовану версію Harness">
    Перш ніж налаштовувати Harness, підтвердьте закріплену версію пакета:

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

    Команда має вивести `0.1.0-rc.8`.
  </Step>

  <Step title="Установіть свій ключ API CometAPI">
    Перед запуском Harness збережіть свій ключ у `COMETAPI_KEY`:

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

    Установлюйте цю змінну в кожному сеансі оболонки, з якого запускається Harness. Не додавайте ключі API до системи контролю версій.
  </Step>

  <Step title="Додайте провайдерів CometAPI">
    Створіть `$DSH_HOME/settings.yaml`. Якщо файл уже містить розділ `llm-pi-ai`, об’єднайте ці записи провайдерів із його наявною мапою `providers`:

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

    У прикладі за замовчуванням вибрано провайдера Responses. Змініть `agent-default-model.provider` і `agent-default-model.model`, щоб вибрати інший налаштований запис.

    Якщо ви надаєте перевагу Web UI, запустіть його після експортування `COMETAPI_KEY`, а потім використайте налаштування моделі, щоб додати або змінити записи провайдерів і вибрати модель за замовчуванням:

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

    Локальна адреса за замовчуванням — `http://127.0.0.1:3080`. YAML залишається прямим способом узгодження назв маршрутів і базових URL-адрес у цьому посібнику.
  </Step>

  <Step title="Перевірте текстовий запит">
    Запустіть одноразове завдання без інтерфейсу з каталогу проєкту, який має використовувати Harness:

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

    У разі успішного виконання буде виведено `COMETAPI_DSH_OK`. Щоб перевірити іншого провайдера, оновіть `agent-default-model` і запустіть команду ще раз.
  </Step>

  <Step title="Перевірте використання інструмента для файлів">
    Створіть тимчасовий файл-маркер, а потім попросіть Harness прочитати його за допомогою інструмента для файлів:

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

    Переконайтеся, що остаточна відповідь — `COMETAPI_DSH_TOOL_OK`. Запускайте Harness лише в робочому просторі, де ви погоджуєтеся на його доступ до файлів, процесів і мережі.
  </Step>
</Steps>

## Необов’язковий маршрут

Harness має один вбудований маршрут провайдера з назвою `google`. Наведена нижче конфігурація спрямовує цей маршрут до CometAPI, тому він замінює власну кінцеву точку Google цього маршруту, а не додає другий маршрут Google.

Об’єднайте цей запис із `llm-pi-ai.providers`, а потім виберіть його в `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
```

Не додавайте поле `api` до цього запису. Вбудований маршрут `google` зберігає власний протокол Google і надсилає Streaming-запити до `/v1beta/models/{model}:streamGenerateContent?alt=sse` з автентифікацією `x-goog-api-key`.

## Усунення несправностей

<AccordionGroup>
  <Accordion title="Harness повідомляє про відсутність API-ключа">
    Переконайтеся, що `COMETAPI_KEY` задано в тій самій оболонці, з якої запускається Harness. Після зміни змінної середовища перезапустіть Harness.
  </Accordion>

  <Accordion title="Harness не відображає налаштовану модель">
    Переконайтеся, що `$DSH_HOME/settings.yaml` є дійсним YAML, постачальник указано в розділі `llm-pi-ai.providers`, а модель перелічено в `models` цього постачальника. Типове значення `DSH_HOME` — `~/.dsh`.
  </Accordion>

  <Accordion title="Chat Completions або Responses використовує неправильний шлях">
    Використовуйте `https://api.cometapi.com/v1` як `baseURL`. Не додавайте `/chat/completions` або `/responses`; Harness додає шлях операції.
  </Accordion>

  <Accordion title="Anthropic Messages повертає помилку шляху">
    Використовуйте `https://api.cometapi.com` без `/v1` як `baseURL` для Messages. Адаптер Anthropic додає `/v1/messages`.
  </Accordion>

  <Accordion title="Google генерує дубльований шлях v1beta">
    Використовуйте саме `https://api.cometapi.com/v1beta`. Не додавайте шлях моделі та не додавайте поле `api` до вбудованого маршруту `google`.
  </Accordion>

  <Accordion title="Модель працює з одним постачальником, але не з іншим">
    Доступність моделей і підтримувані формати API можуть відрізнятися. Вибирайте модель для кожного запису постачальника, а не припускайте, що одна модель працює в усіх чотирьох форматах.
  </Accordion>

  <Accordion title="Конфігурація перестає працювати після оновлення">
    DeepSeek Harness перебуває на етапі попереднього перегляду для розробників. Поверніться до `@deepseek-ai/dsh@0.1.0-rc.8`, а потім перегляньте зміни у вихідному проєкті, перш ніж адаптувати конфігурацію до іншої версії.
  </Accordion>
</AccordionGroup>

## Пов’язані ресурси

* [Швидкий старт CometAPI](/uk/overview/quick-start)
* [Сторінка моделей CometAPI](/uk/overview/models)
* [Репозиторій DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)
* [Посібник із провайдера 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": "Використання DeepSeek Harness із CometAPI",
        "description": "Налаштуйте DeepSeek Harness 0.1.0-rc.8 для використання CometAPI через Chat Completions, Responses, Anthropic Messages або Google generateContent.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-1",
            "position": 1,
            "name": "Підтвердьте протестовану версію Harness",
            "text": "Підтвердьте закріплену версію пакета DeepSeek Harness 0.1.0-rc.8."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-2",
            "position": 2,
            "name": "Установіть свій API-ключ CometAPI",
            "text": "Збережіть API-ключ CometAPI у COMETAPI_KEY перед запуском Harness."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-3",
            "position": 3,
            "name": "Додайте провайдери CometAPI",
            "text": "Додайте перевірені маршрути провайдерів до файлу settings.yaml Harness."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-4",
            "position": 4,
            "name": "Перевірте текстову взаємодію",
            "text": "Запустіть закріплене завдання без інтерфейсу та підтвердьте очікувану текстову відповідь."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-5",
            "position": 5,
            "name": "Перевірте використання інструмента файлів",
            "text": "Попросіть Harness прочитати контрольний файл і підтвердьте точну остаточну відповідь."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Документація CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Інтеграції",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Використання DeepSeek Harness із CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/deepseek-harness"
          }
        ]
      }
    ]
    }
    `}
</script>
