Skip to Content
連携DeepSeek Harness

DeepSeek Harness の設定

DeepSeek Harness (コマンド名 dsh)は、DeepSeek が公式にオープンソースで公開している agent harness です。「すべてがプラグイン」というアーキテクチャを採用しており、モデル・ツール・スキル・セッション・サンドボックス・UI のすべてが差し替え可能なプラグインになっています。デフォルトでは DeepSeek 公式 API を呼び出しますが、モデルプラグインの向き先を OfoxAI に変更すれば、同じ harness のまま 100 以上のモデルを利用できます。

dsh は開発者プレビュー段階であり、メンテナーは破壊的変更が発生すると明言しています。本記事は @deepseek-ai/dsh 0.1.2-rc.1 を基準に記述しています。

設定手順

1. dsh のインストール

まず Node.js をインストールします。dsh は npm で @deepseek-ai/dsh として配布されており、インストールすると dsh コマンドが使えるようになります。

npm install -g pnpm # インストール済みならスキップ pnpm add -g @deepseek-ai/dsh dsh --version

pnpm のグローバル bin ディレクトリが PATH に含まれている必要があります。pnpm bin -g で実際のパスを確認できます。

インストール中に pnpm が Ignored build scripts: node-pty, koffi … と警告することがありますが、無視して問題ありません。どちらのパッケージも各プラットフォーム向けのビルド済みバイナリを同梱しており、ローカルでのコンパイルは不要です。

グローバルインストールせずに試したい場合は:

npx @deepseek-ai/dsh web

2. OfoxAI プロバイダーの設定

dsh は設定を $DSH_HOME 配下で管理します。macOS と Linux では ~/.dsh、Windows では %USERPROFILE%\.dsh です。以下のどちらかの方法を選んでください。

Base URL はネットワーク環境に合わせて選択してください:国際ネットワークでは api.ofox.ai、中国本土のユーザーは api.ofox.io を使用します。どちらも同じサービスのミラーで、API Key は共通、パスはいずれも /v1 です。

dsh web

ターミナルにトークン付きの URL(デフォルトは http://127.0.0.1:3080)が表示され、ブラウザが自動的に開きます。左下の Settings をクリックします:

dsh の設定を開く

左側のナビゲーションで Models に切り替えます:

Models の設定画面

組み込みの deepseek-official は DeepSeek への直接接続なので、OfoxAI 経由にするにはカスタムプロバイダーを追加します。Add a custom provider をクリックしてください:

カスタムプロバイダーを追加する

次の表のとおりに入力し、Fetch available models をクリックします:

項目
Provider IDofox
Display nameofox
Base URLhttps://api.ofox.ai/v1
API protocolopenai-completions
API keyあなたの OfoxAI API Key

カスタムプロバイダーの入力内容

スクリーンショットの API protocolopenai-responses になっていますが、これはフォームのデフォルト値で、DeepSeek 系のモデルしか受け付けません。モデルカタログ全体で使うには openai-completions を選んでください。

使用するモデルにチェックを入れて Add selected をクリックし、フォームに戻って Create provider をクリックします:

追加するモデルを選ぶ

セッション画面に戻ります。初回はまずワークスペース(dsh が読み書きできるプロジェクトディレクトリ)を選ぶ必要があります。その後、入力欄の右下にあるモデルセレクターから ofox グループのすべてのモデルを選べるようになります:

セッションで ofox のモデルを選択する

API Key は $DSH_HOME/.credentials.yaml(OS 上の自分のユーザーのみ読み取り可能)に、プロバイダー設定は $DSH_HOME/settings.yaml に書き込まれます。どちらも保存後すぐに反映され、再起動は不要です。

モデル ID にはベンダープレフィックスが必要です。anthropic/claude-sonnet-5 のように指定し、プレフィックスなしの claude-sonnet-5 は拒否されます。全モデルの一覧は モデルマーケットプレイス  をご覧ください。

3. API Key の設定

apiKeyEnv に指定するのは認証情報の名前であり、Key そのものではありません。dsh は「dsh を起動した環境の環境変数 → $DSH_HOME/.credentials.yaml → プロジェクトの .env → ホームディレクトリの .env」という決まった順序で解決します。Web UI で設定した場合は Key がすでに保存されているため、この手順は省略できます。

~/.zshrc
export OFOX_API_KEY=<あなたの OFOXAI_API_KEY>

4. 動作確認

dsh --profile headless "OK とだけ返信してください。ツールは一切呼び出さないでください。"

OK が返ってくれば、モデル層が OfoxAI に到達しています。日常的な利用では dsh web で Web インターフェースを起動するか、dsh --profile headless "run the tests" のように単発のタスクを実行して終了します。

プラットフォームごとの違い

設定ファイルの内容は 3 つのプラットフォームで完全に同じで、異なるのはパスと環境変数の書き方だけです。

macOSLinuxWindows
設定ルート $DSH_HOME~/.dsh~/.dsh%USERPROFILE%\.dsh
API Key の永続化~/.zshrc~/.bashrcsetx
Shell ツールのサンドボックスBashBashPowerShell(Bash サンドボックスは自動的に無効化されます)

トラブルシューティング

TIMEOUT: Request timed out. — dsh は Node アプリケーションであり、http_proxy / all_proxy を読み込みません。そのため、システムプロキシが機能していても dsh が接続できるとは限りません。baseURL のドメインがご利用のネットワークから到達できない場合、中国本土のユーザーはミラーの https://api.ofox.io/v1 に切り替えてください。

MISSING_CREDENTIALapiKeyEnv で指定した認証情報が解決できませんでした。dsh を起動したターミナルで環境変数が有効になっているか、または Key が $DSH_HOME/.credentials.yaml に保存されているかを確認してください。もう 1 つの原因はモデルの選び間違いです。組み込みの deepseek-official は Key を設定していなくてもモデルセレクターにモデルを表示し、その名前もカスタムルートのものとよく似ているため、選び間違えないよう注意してください。

応答が空なのにエラーも出ない — もっとも踏みやすい落とし穴です。api: openai-responses に Anthropic 系のモデルを組み合わせると、リクエストは正常に終了する(finish reason: stop)のに中身が空になります。そのモデルを openai-completions のルートか、https://api.ofox.ai/anthropic を指す anthropic-messages のルートに移してください。

INVALID_REQUEST / HTTP 400 endpoint_not_supported — レスポンスには Model '…' does not support the /v1/responses endpoint on this platform. Please use /v1/chat/completions instead. と書かれています。Google や Qwen などのモデルを openai-responses で使うとこうなります。この場合も apiopenai-completions に変更してください。

プラグインの読み込みがルート重複エラーで失敗する — 同じルート名が 2 回登録されています。$DSH_HOME/cordis.patch.ymlsettings.yaml の両方で ofox を定義していないか確認してください。

応用:patch レイヤーでの設定

settings.yaml はランタイムのユーザー設定を保持し、次のリクエストから反映されます。プラグインの構成そのものを変更する場合(プラグインの差し替えや無効化)は、$DSH_HOME/cordis.patch.yml の patch レイヤーを使います:

~/.dsh/cordis.patch.yml
- id: llm-pi-ai config: providers: ofox: apiKeyEnv: OFOX_API_KEY api: openai-completions baseURL: https://api.ofox.ai/v1 - id: agent-default-model config: provider: ofox model: deepseek/deepseek-v4-pro-0813

dsh web --dump-config を実行すると、合成後のプラグインツリーが出力され、設定が反映されているかを確認できます。

推奨モデル

推奨モデルは モデルマーケットプレイス  をご参照ください。

dsh は開発が急速に進んでおり、設定項目がバージョンによって変わる可能性があります。DeepSeek Harness 公式リポジトリ も併せてご確認ください。

Last updated on