DeepSeek Harnessのインストールは1コマンドで完了します。30秒後には、http://127.0.0.1:3080 に美しくも完全に空のインターフェースが表示され、次に何をすればよいのか誰も教えてくれません。
READMEは有名なほど薄いです。リンク先のCordis論文は時空間コンポーザビリティについて語っています。あなたはただ、このツールにコードを読ませたかっただけです。
このガイドは、その空の画面から始めます。インストールコマンドももちろんありますが、実際に午後を潰すのはモデルプロバイダーの接続設定です。この手順には3つのデフォルト値があり、それらは静かにDeepSeekモデルを壊し、コンテキストウィンドウの75%を無駄にします。ほとんど誰もこれらの値をドキュメント化していません。
重要なポイント
npx @deepseek-ai/dsh webがインストール全体です。唯一の前提条件は Node.js^22.19.0または>=24.0.0です。- DeepSeek Harness はハーネスであって、モデルではありません。初期状態では認証情報が一切付属していないため、プロバイダーを接続するまで何も動作しません。
- OpenAI互換のエンドポイントであれば何でも動作します。DeepSeek自身のAPI、ゲートウェイ、ローカルのOllamaサーバーも含みます。
- カスタムプロバイダーを追加するとき、ハーネスはベースURLから思考方言を推測します。推測を誤ると、
reasoning_contentが壊れます。 - 手動で宣言したモデルはデフォルトで262,144のコンテキストウィンドウになります。そのため、V4の完全な1,048,576ウィンドウは、明示的に指定しない限りオフのままです。

緑色のテスト合格表示と光るモジュラーハーネスリグの隣にあるターミナル。DeepSeek Harnessのインストール方法を示しています。
構築するものの60秒バージョン
理論の前に結果をお見せします。空のフォルダに3つのファイル、1つの貼り付けプロンプトで、エージェントがコードを読み、pytestを実行し、2つのテストが失敗するのを確認し、1文字を変更し、スイートがすべて緑になるまで再実行します。

DeepSeek Harnessがfizzbuzz.pyを読み、pytestを実行し、off-by-oneバグを修正し、再実行して3 passedにする様子
フルループ: 読み取り、実行、診断、パッチ、再実行。すべてのステップは後で再生できる追加専用のセッションログに記録されます。
これがステップ6で一緒に構築するデモです。スクラッチディレクトリで再現できるほど意図的に小さく、来週には変わってしまう可能性のある外部リポジトリに依存しません。
ほとんどの人がDeepSeek Harnessのインストールをステップ2で止める理由
インストール自体は本当に簡単です。問題はその直後に発生し、それはバグではなく設計上の決定です。DeepSeek Harnessにはキー、デフォルトプロバイダー、バンドルされたモデルが一切付属していません。
DeepSeekは2026年8月13日にこのプロジェクトをMITライセンスでオープンソース化し、急成長しました。2026年8月17日時点で、リポジトリは144,361スターと14,689フォークを獲得しており(GitHub、2026年8月)、これは同じ週に同じ空の画面にたどり着いた多くの人々を意味します。
公開週のHacker Newsスレッドには、賛否両論の反応が示されています。透明性を評価する声が多く、モデルが見るすべてが追加専用のセッションログに記録される点について、あるコメント投稿者は「米国のモデルではそんなことは見せてくれない」と述べています。不満も一貫しています。「READMEはインストール手順以外はほとんど空っぽだ」とある開発者が書き、Cordis論文については「ワードサラダのように読める」という評決が下されました(Hacker News、2026年8月)。
つまり、実際に人々を妨げる4つのことはすべてインストール後の問題です。
- Nodeのバージョンが古すぎて、
npxが何も始まらないうちに失敗する。 - ポート3080がすでに別の開発サーバーで使用されている。
- カスタムプロバイダーが401を返す、またはモデルリストが空で返ってくる。
- モデルは接続するが、推論出力が壊れている、または長いファイルが早期にコンテキストウィンドウを超える。
以下のステップ1から5は、これらの4つに正確に対処することを目的としています。
DeepSeek Harnessをインストールする前に: モデルとキーを選ぶ
最初に決めてください。ハーネス自体は無料でローカルですが、OpenAI互換のベースURL、キー、少なくとも1つのモデルIDを与えない限り、有益なことは何もできません。インストールの前にこれを決めておけば、セットアップ全体は10分で終わります。
すべては 127.0.0.1:3080 の1つのブラウザタブで行われます。3つのルートから選択でき、すべて動作します。
表B: 今日DeepSeek Harnessで動作するモデルアクセスオプション
| ルート | ベースURL | 100万トークンあたりの価格 | コンテキスト | 支払い | 最適な用途 |
|---|---|---|---|---|---|
| DeepSeek公式API | https://api.deepseek.com | V4-Flash $0.22 入力 / $0.66 出力 オフピーク時、$0.44 / $1.32 ピーク時。キャッシュヒットは $0.007から | 1M | 地域により異なる | ファーストパーティの動作、非常に安いキャッシュヒット |
| OpenAI互換ゲートウェイ(例: Atlas Cloud) | https://api.atlascloud.ai/v1 | V4-Flash $0.14 入力 / $0.28 出力。V4-Pro $1.68 / $3.38 | 1,048,576 | カード、最低利用額なし | ピーク時サーチャージなしのフラットレート |
| ローカルOllama | http://localhost:11434/v1 | トークンコストなし | モデル依存 | なし | プライベートコード、オフライン作業 |
選ぶ前に知っておくべきことが2つあります。DeepSeekのファーストパーティAPIはピーク時とオフピーク時の課金に移行しました。ピーク時間はUTC 01:00~04:00と06:00~10:00で、オフピーク時はピーク時のちょうど半分です(DeepSeek API Docs、2026年8月)。キャッシュヒット入力価格は非常に低いため、同じコンテキストを繰り返し読み込むワークロードでは、ファーストパーティは非常に安くなります。
ゲートウェイはその代わりに予測可能性を提供します。Atlas Cloud は同じDeepSeekモデルを、ピーク時サーチャージなし、サブスクリプションなしのフラットレートで提供します。これは以下のセットアップで例として使用します。地域の支払い方法を必要としないからです。自分の状況に合ったルートに置き換えてください。設定の形状はすべて同じです。
DeepSeek Harnessのインストール方法(ステップバイステップ)
3つの方法があります。行を選び、ステップに従ってください。
表A: インストール方法の比較
| 方法 | 時間 | 必要なもの | アップグレード | 最適な用途 |
|---|---|---|---|---|
| npx | 1分未満 | Node 22.19+ または 24+ | npxを再実行 | ほぼすべての人 |
| ソースから | 5~10分 | Node, pnpm, git | git pull して再ビルド | コントリビューター、プラグイン作成者 |
| デスクトップビルド | 約1分 | 何も不要 | 再インストール | Nodeインストールを避けたい人 |
ステップ1: DeepSeek Harnessをインストールする前に前提条件を確認する
最も一般的な失敗は、Nodeのバージョンが十分に新しいように見えて実際はそうでないことです。リポジトリは ^22.19.0 || >=24.0.0 を必要とします。23.x系はどのパッチレベルでも対象外です。
bash1node -v # 22.x では >= 22.19.0、または >= 24.0.0 である必要があります 2npm -v 3
node -v が 22.14 や 20.x を表示する場合は、先に進む前にアップグレードしてください。pnpm はソースからビルドするかプラグインを作成する場合にのみ必要です:
bash1npm install -g pnpm 2
ステップ2: 1コマンドでDeepSeek Harnessをインストールする
これがインストール全体です。ダウンロードしてWebプロファイルを一度に起動します。
bash1npx @deepseek-ai/dsh web 2
http://127.0.0.1:3080 を開きます。そのポートがすでに使用中の場合は、ランチャーは認識しないフラグをすべてプロファイルにそのまま渡すため、ポートを変更できます:
bash1npx @deepseek-ai/dsh web --port 8080 2
得られるのは空のシェルです。プロバイダーもモデルもキーもありません。これは想定内であり、ほとんどのガイドがここで止まります。

インストール直後の127.0.0.1:3080のDeepSeek Harness Web UI。プロバイダーもモデルも設定されていません。
インストール完了、そして完全に不活性。ここからはすべて配線作業です。
ステップ3: DeepSeek Harness用のAPIキーを取得する
表Bから選んだルートに関わらず、キーとベースURLが必要です。ファーストパーティルートの場合は、platform.deepseek.com にサインアップし、そこでキーを作成してください。支払いオプションは地域によって異なるため、コミットする前に支払い方法がサポートされていることを確認してください。
このウォークスルーで使用するゲートウェイルートの場合は、Atlas CloudダッシュボードのAPI Keysでキーを作成し、設定ファイルに保存せずにハーネスが読み取れるようにエクスポートします:
bash1export ATLASCLOUD_API_KEY="sk-your-key-here" 2

新しく作成されたキーが部分的にマスクされたAtlas CloudダッシュボードのAPIキーページ
キーは一度コピーしてください。ページを離れた後は再表示されません。
ステップ4: DeepSeek Harnessにモデルプロバイダーを追加する
UIで、Settings、Models、そして Add a custom provider の順に進みます。フォームには、Provider ID、表示名、ベースURL、APIプロトコル、認証情報、および少なくとも1つのモデルが必要です。
ドキュメントが繰り返し警告している点が一つあります。Provider ID は永続的です。 リクエスト、保存されたセッション、モデルのデフォルト、認証情報の参照に書き込まれます。後で気に入らなくなった場合、唯一の選択肢は新しいプロバイダーを作成して古いものを削除することです。
| フィールド | 入力する内容 |
|---|---|
| Provider ID | atlas (小文字、永続的) |
| 表示名 | Atlas Cloud |
| ベースURL | https://api.atlascloud.ai/v1 |
| APIプロトコル | openai-completions |
| APIキー | あなたのキー |
| モデル | 「Fetch available models」をクリックするか、手動で deepseek-ai/deepseek-v4-flash と入力します |
モデルの取得で401が返された場合、キーが間違っています。空のリストが返された場合、エンドポイントが単にモデルインデックスを公開していないだけであり、それは無害です。モデルIDを手動で入力して先に進んでください。

入力済みの「カスタムプロバイダーを追加」フォーム。ベースURL、APIプロトコル、モデル取得コントロールがマークされています。
次のステップが成功するかどうかを決める3つのフィールド: ベースURL、プロトコル、モデルリスト。
ステップ5: DeepSeekモデルを静かに壊す3つのDeepSeek Harnessデフォルト
これが他のインストールガイドではカバーされていない部分であり、セットアップが接続されているように見えて奇妙に動作する理由です。
ハーネスのLLMレイヤーは、エンドポイントURLからどの思考方言を話すかを推測します。内部ドキュメントはその結果について率直です。「pi-aiはエンドポイントURLから推測します。プライベートゲートウェイのURLは何も語らないため、DeepSeek方言のゲートウェイに対してOpenAI方言で話しかけられ、修正する方法がありません。」平たく言えば、明らかにDeepSeekでないベースURLはすべてOpenAIとして扱われ、DeepSeekの reasoning_content の処理がおかしくなります。
2番目と3番目の落とし穴は容量です。手動で宣言したモデルは、defaultContextWindow が262,144、defaultMaxTokens が32,768にフォールバックします。V4は1,048,576トークンのコンテキストをサポートしているため、デフォルトを受け入れるとその4分の3を無駄にします。
設定ファイルに次の内容を記述します:
yaml1# $DSH_HOME/settings.yaml (デフォルトは ~/.dsh/settings.yaml) 2llm-pi-ai: 3 providers: 4 atlas: 5 displayName: Atlas Cloud 6 api: openai-completions 7 baseURL: https://api.atlascloud.ai/v1 8 apiKeyEnv: ATLASCLOUD_API_KEY 9 compat: 10 thinkingFormat: deepseek # 1. URLベースの推測を停止する 11 defaultContextWindow: 1048576 # 2. デフォルトは 262144 のみ 12 defaultMaxTokens: 32768 # 3. 長い出力ジョブのために引き上げる 13 models: 14 - id: deepseek-ai/deepseek-v4-flash 15 contextWindow: 1048576 16 - id: deepseek-ai/deepseek-v4-pro 17 contextWindow: 1048576 18
留意すべき点が3つあります。設定は、モデル、ルート、インストール済みカタログエントリ、URLから導出された推測の順に解決されるため、モデルごとの値が常に優先されます。compat スイッチの thinkingFormat と supportsReasoningEffort は openai-completions 下にのみ存在します。別のプロトコルに置くと解決に失敗します。また、このアダプターは意図的にBedrock、Vertex、Azure、Codexをカバーしていません。これらの認証フローは、キー、エンドポイント、ヘッダー以上のものを必要とするためです。
ステップ6: DeepSeek Harnessで最初の実際のタスクを実行する
ここで、この記事の最初にあるデモを実行します。空のフォルダを作成し、3つのファイルを追加します。
fizzbuzz.py(1つずれたバグを含む):
python1def fizzbuzz(n): 2 out = [] 3 for i in range(1, n): 4 if i % 15 == 0: 5 out.append("FizzBuzz") 6 elif i % 3 == 0: 7 out.append("Fizz") 8 elif i % 5 == 0: 9 out.append("Buzz") 10 else: 11 out.append(str(i)) 12 return out 13
test_fizzbuzz.py(3つのテストのうち2つが失敗):
python1from fizzbuzz import fizzbuzz 2 3def test_starts_correctly(): 4 assert fizzbuzz(5)[:3] == ["1", "2", "Fizz"] 5 6def test_covers_every_number(): 7 assert len(fizzbuzz(15)) == 15 8 9def test_fifteen_is_fizzbuzz(): 10 assert fizzbuzz(15)[-1] == "FizzBuzz" 11
そして requirements.txt:
text1pytest>=8.0 2
最初に手動でテストスイートを実行する価値はあります。これにより、エージェントが何に直面するかがわかります:
text1.FF [100%] 2=================================== FAILURES =================================== 3___________________________ test_covers_every_number ___________________________ 4E AssertionError: assert 14 == 15 5___________________________ test_fifteen_is_fizzbuzz ___________________________ 6E AssertionError: assert '14' == 'FizzBuzz' 7=========================== short test summary info ============================ 82 failed, 1 passed in 0.01s 9
エージェントモードを Standard に、モデルを deepseek-ai/deepseek-v4-flash に設定し、次のプロンプトを正確に貼り付けます:
このワークスペースで pytest を実行してください。2つのテストが失敗します。fizzbuzz.py の根本原因を見つけ、可能な限り最小の変更で修正し、pytest を再実行して最終出力を表示してください。テストファイルは編集しないでください。
正しい修正は1文字です。range(1, n) を range(1, n + 1) に変更すると、スイートは「3 passed」と報告します。
ここで、ハーネスがチャットウィンドウと異なる点です。すべての実行は追加専用のセッションログに記録され、フォークすることができます。エージェントが最初に fizzbuzz.py を読んだ時点に戻り、2回目の試行を分岐します:
このセッションを、最初に fizzbuzz.py を読んだステップからフォークしてください。今回は、ifブランチを修正する代わりに、ディクショナリベースのルックアップとして書き直し、その後 pytest を再実行してください。

DeepSeek Harness セッションログをフォークして、同じ開始点から2番目のディクショナリベースの実装を生成する様子
1つの開始点、2つのブランチ。これが公開週に実際に関心を持たれた機能です。
ステップ7: スクリプトとCIのためのヘッドレスモード
2つのプロファイルが初回使用時に自動的に初期化されます: web と headless です。これまで web を使用してきましたが、dsh web は dsh --profile web のエイリアスにすぎません。
ヘッドレスモードは、1つの新しい永続セッションを実行し、最終回答を出力して終了します。これはまさにCIジョブが求める形です:
bash1dsh --profile headless "テストを実行し、失敗を修正してください。差分を報告してください。" 2
他のプロファイルは dsh plugin を使用して作成する必要があります。プロファイルは $DSH_HOME/profiles/<name> に保存され、デフォルトは ~/.dsh/profiles/<name> です。

ヘッドレスDeepSeek Harness実行のターミナル出力。最終回答を表示して終了します。
ヘッドレスモード: 1セッション、1回答、分岐可能な終了コード。
DeepSeek Harnessの他のインストール方法
npx ルートはほとんどの人をカバーします。以下の3つも知っておく価値があります。
pnpmを使用してソースからDeepSeek Harnessをインストールする
コードを読んだり、パッチを当てたり、プラグインを作成したりする場合:
bash1git clone https://github.com/deepseek-ai/deepseek-harness 2cd deepseek-harness 3pnpm install 4pnpm run build 5pnpm dsh web 6
5MBのデスクトップビルド
コミュニティプロジェクト hairyf/deepseek-harness-desktop は、ハーネスをTauriでラップし、Windows、macOS、Linux向けの約5MBのインストーラをNodeのセットアップなしで提供します。これはDeepSeekの公式リリースではありません。それに応じて扱ってください。執筆時点では約400スターで、ハーネス自体の1日後に作成されました。
OllamaでDeepSeek Harnessを完全ローカルで実行する
Ollamaはファーストパーティの統合を提供しています。簡潔なバージョンは1コマンドです:
bash1ollama launch dsh 2
これにより、ハーネスがOllamaとともにインストールされ、実行されます。設定は ~/.ollama/launch/dsh/settings.yaml に保存されます(Ollama Docs、2026年8月)。すべてがオフラインであると仮定する前に注意すべき点が1つあります。組み込みのウェブ検索は自動的に有効になり、Ollamaクラウドアクセスとツールをサポートするモデルが必要です。真にローカルなモデルはトークンコストがゼロですが、速度と通常は弱いツール呼び出しという代償があります。

同じ失敗テストタスクを実行しているローカルOllamaサーバーに接続されたDeepSeek Harness
同じタスク、ネットワークラウンドトリップなし、トークンごとの請求なし。
DeepSeek Harnessは無料ですか?実際の実行コスト
まず答え: ソフトウェアは無料でMITライセンスであり、商用利用も含みます。トークンは無料ではありません。モデルをローカルで実行する場合を除きます。ハーネス自体にはメータリング、ゲート、DeepSeekアカウントへの紐付けは一切ありません。
表C: 実際に無料なものとそうでないもの
| コンポーネント | 無料? | 注意事項 |
|---|---|---|
| ハーネスソフトウェア | はい | MITライセンス、アカウント不要 |
| API経由のモデルトークン | いいえ | モデルを提供する事業者によってトークンごとに請求されます |
| ローカルOllama経由のモデルトークン | はい | 代わりにハードウェアとレイテンシで支払います |
| 長いコンテキスト | 場合による | トークンごとに課金されるため、1Mウィンドウは入力内容に応じてコストがかかります |
具体的な例を示します。特定の実行ではなく概数を使用します。ステップ6のようなデバッグセッションで、入力トークン200,000、出力トークン20,000を消費するとします。これは、エージェントがいくつかのファイルを読み込んで反復した後の現実的な数字です。フラットゲートウェイレート $0.14 入力、$0.28 出力の場合、このセッションのコストは約3.4セントです。ファーストパーティAPIのオフピーク時キャッシュミスレートでは約5.7セント、ピーク時では約11セントになります。入力の大部分がキャッシュヒットの場合、ファーストパーティは入力側で劇的に安くなります。キャッシュヒット入力は100万トークンあたり$0.007から始まるためです。
実用的なレバーは、影響の大きい順に次のとおりです。セッションを短く保ってコンテキストが肥大化しないようにする、ルーチン作業にはFlashを使用し、本当に難しいタスクにはProを温存する、ベンチマークスタイルの実行にはMinimalモードを使用する(モデルに正確に2つのツールとコンテキスト圧縮なしを与えるため)。
出荷前の確認: DeepSeek Harnessのライセンスとプレビューリスク
3つの短い注意事項と、その後のFAQです。
ライセンスはMITなので、商用利用は問題ありません。ただし、プロジェクトは自身を開発者プレビューとラベル付けし、互換性を破る変更があることを大文字で明記しています。バージョンを固定し、まだ本番リリースパイプラインに組み込まないでください。
認証情報はマシン上にプレーンテキストで保存されます。$DSH_HOME/.credentials.yaml に、設定は $DSH_HOME/settings.yaml にあり、どちらもデフォルトで ~/.dsh になります。ハーネスのホームディレクトリがリポジトリ内に含まれてしまう可能性がある場合は、.gitignore に追加してください:
text1.dsh/ 2
そして、忘れがちな明白な点: コードはステップ4で設定したエンドポイントに送信されます。プライベートコードベースにエージェントを向ける前に、そのプロバイダーのデータ利用条件を読んでください。
よくある質問
DeepSeek Harnessは無料ですか?
ハーネスは無料でMITライセンスであり、アカウントやサブスクリプションは不要で、商用利用も可能です。モデルトークンは、接続したプロバイダーによって別途請求されます。ローカルのOllamaモデルを指定すると、真にトークンコストゼロのセットアップが可能ですが、ハードウェアと速度で代償を支払います。
DeepSeek HarnessをインストールするためにDeepSeek APIキーは必要ですか?
いいえ。インストールとDeepSeekキーは無関係です。npx @deepseek-ai/dsh web は認証情報なしで実行されます。エージェントに実際にモデルを呼び出させたい場合にのみキーが必要であり、そのキーはローカルサーバーを含む任意のOpenAI互換エンドポイントのもので構いません。
DeepSeek HarnessはDeepSeek以外のモデルも実行できますか?
はい。カスタムプロバイダーは openai-completions を受け入れ、アダプターはキー、エンドポイント、ヘッダーで記述できるプロトコルをカバーします。settings.yaml の providers: の下に独自のID、ベースURL、モデルを持つ別のブロックを追加することで、2番目のプロバイダーを追加できます。Bedrock、Vertex、Azure、Codexは、それらの認証にそれ以上のものが必要なため、意図的に範囲外です。
カスタムプロバイダーが401または「不明なモデル」を返すのはなぜですか?
401はほとんどの場合、キーが間違っているか、apiKeyEnv で指定された環境変数から読み取られていないことを意味します。不明なモデルは通常、エンドポイントがモデルインデックスを公開していないため、何も取得されなかったことを意味します。モデルIDを手動で入力してください。また、Provider IDのスペルを確認してください。名前を変更することはできず、置き換えることしかできません。
DeepSeek HarnessはAPIキーと設定をどこに保存しますか?
キーは $DSH_HOME/.credentials.yaml に、手動で記述したモデル設定は $DSH_HOME/settings.yaml に保存されます。どちらも、DSH_HOME を上書きしない限り ~/.dsh の下にあります。セッションは $DSH_HOME/storages に、プロファイルは $DSH_HOME/profiles/<name> に保存されます。ディレクトリ全体をバージョン管理から除外してください。
DeepSeek Harnessは本番環境で使用できますか?
現時点では、プロジェクト自身の説明によると、まだ準備ができていません。このプロジェクトは開発者プレビューとして出荷されており、互換性を破る変更について明示的に警告しています。これは、作成から数日しか経っていないソフトウェアとしては妥当な説明です。ローカル開発やCIアシスタンスに使用し、テストしたバージョンを固定し、アップグレード後はプロバイダードキュメントを再確認してください。
2026年8月17日時点のDeepSeek Harness開発者プレビューに基づいて検証済み。このプロジェクトは設計上、互換性を破る変更を伴うため、ビルドのフィールド名が上記のYAMLと異なる場合は、設定が間違っていると判断する前に公式プロバイダードキュメントを確認してください。






