> ## 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 を設定し、チャット補完、レスポンス、Anthropic メッセージ、または Google generateContent 経由で CometAPI を使用します。

このガイドを使用して、 [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` で検証されています。各ルートでは、代表的なモデルを1つ使用して、ストリーミング（Streaming）テキストターンとファイル読み取りツールループを完了しました。この範囲は、すべての 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)
* [DeepSeek Harness CLI](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
* 以下の [ダッシュボードから取得した有効な API キーを持つ CometAPI アカウント](https://www.cometapi.com/console/token)
* 以下の [CometAPI Models ページ](/ja/overview/models) から、使用予定の各 API 形式に対応するモデル ID

## プロバイダールートを理解する

`api` の値でワイヤ形式を選択します。`baseURL` では、Harness が追加する操作パスの直前までを指定します。

| プロバイダー ID            | `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="CometAPI API キーを設定する">
    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
    ```

    この例では、デフォルトでレスポンスプロバイダーを選択します。別の設定済みエントリを選択するには、`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` です。このガイドのルート名とベース URL に合わせるには、YAML が直接的な方法です。
  </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` という名前の組み込みプロバイダールートが 1 つあります。以下の設定はそのルートを CometAPI に向けるため、2 つ目の 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 プロトコルを維持し、`/v1beta/models/{model}:streamGenerateContent?alt=sse` にストリーミング（Streaming）リクエストを `x-goog-api-key` 認証で送信します。

## トラブルシューティング

<AccordionGroup>
  <Accordion title="Harness で API キーが見つからないと報告される">
    Harness を起動するのと同じシェルで `COMETAPI_KEY` が設定されていることを確認してください。環境変数を変更した後は Harness を再起動してください。
  </Accordion>

  <Accordion title="Harness に設定したモデルが表示されない">
    `$DSH_HOME/settings.yaml` が有効な YAML であること、プロバイダーが `llm-pi-ai.providers` の下にあること、モデルがそのプロバイダーの `models` の下にリストされていることを確認してください。デフォルトの `DSH_HOME` は `~/.dsh` です。
  </Accordion>

  <Accordion title="チャット補完またはレスポンスで誤ったパスが使用される">
    `https://api.cometapi.com/v1` を `baseURL` として使用してください。`/chat/completions` や `/responses` を追加しないでください。Harness が操作パスを追加します。
  </Accordion>

  <Accordion title="Anthropic メッセージでパスエラーが返される">
    `https://api.cometapi.com` を `/v1` なしで Messages の `baseURL` として使用してください。Anthropic アダプターが `/v1/messages` を追加します。
  </Accordion>

  <Accordion title="Google で v1beta パスが重複して生成される">
    `https://api.cometapi.com/v1beta` をそのまま使用してください。モデルパスを追加せず、組み込みの `api` ルートに `google` フィールドを追加しないでください。
  </Accordion>

  <Accordion title="あるプロバイダーではモデルが動作するが、別のプロバイダーでは動作しない">
    モデルの可用性と受け入れられる API 形式は異なる場合があります。1 つのモデルが 4 つすべての形式で動作すると仮定せず、プロバイダーのエントリごとにモデルを選択してください。
  </Accordion>

  <Accordion title="アップグレード後に設定が動作しなくなる">
    DeepSeek Harness はデベロッパープレビューです。`@deepseek-ai/dsh@0.1.0-rc.8` に戻り、別のバージョンに合わせて設定を変更する前にアップストリームの変更を確認してください。
  </Accordion>
</AccordionGroup>

## 関連リソース

* [CometAPI クイックスタート](/ja/overview/quick-start)
* [CometAPI モデルページ](/ja/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": "CometAPI で DeepSeek Harness を使用する",
        "description": "DeepSeek Harness 0.1.0-rc.8 を設定して、チャット補完、レスポンス、Anthropic メッセージ、または Google generateContent を通じて CometAPI を使用します。",
        "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": "CometAPI API キーを設定する",
            "text": "Harness を開始する前に、CometAPI API キーを COMETAPI_KEY に保存します。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/deepseek-harness#step-3",
            "position": 3,
            "name": "CometAPI プロバイダーを追加する",
            "text": "検証済みのプロバイダールートを Harness の settings.yaml ファイルに追加します。"
          },
          {
            "@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": "CometAPI で DeepSeek Harness を使用する",
            "item": "https://apidoc.cometapi.com/integrations/deepseek-harness"
          }
        ]
      }
    ]
    }
    `}
</script>
