154,302 スター。私が読んだすべてのレビューに、同じ3つのことが書かれていた。すべてがプラグインであること、セッションログが追記専用であること、そして開発者プレビューであること。
しかし、ディスクをどれだけ消費するのか、アイドル状態のセッションがどれだけRAMを保持するのか、DeepSeek自身のものではないエンドポイントを指定したらどうなるのか、については誰も教えてくれなかった。
そこで、私はこれをインストールし、たった1つの仕事を3回与えた。それは、単一の自己完結型HTMLファイルで動作するISS追跡ツールを構築することだ。3つの異なるプロバイダ設定、同じプロンプト、同じモデル。3回とも完了した。3回とも、確認したとされるすべての項目の箇条書きリストとともに、自信満々に「Done」と表示された。
その後、3つのページをブラウザで開いた。そのうちの2つは壊れていた。
主な所見
npm install @deepseek-ai/dshを実行すると、macOS上で 531 パッケージ、306 MB がプルされた。1.5 GB ではないが、決して小さいわけでもなく、dshパッケージ自体はそのうち 172 KB である。- dsh Webサーバーは、起動時に約 212 MB までピークに達した後、ライブセッションを開いた状態で 35 から 40 MB の RSS でアイドル状態になった。よく言われる 500 MB という数値は、サーバープロセスのものではない。
- このリリースで本当に価値があるのは、Trajectory ビューである。これはディスク上のプレーンな追記専用 JSONL イベントストリームであり、設定の問題を数時間ではなく数分で診断することを可能にしてくれた。
- 2行のYAML(
compat.thinkingFormatと実際のmaxTokens)によって、同じタスクが、36ステップ、422秒の実行から、15ステップ、152秒の実行に変わった。どちらの行もドキュメントサイトには記載されていない。 - すべての実行が成功を報告した。コンソールエラーがゼロのページを生成したのは、ただ1つだけだった。要約ではなく、出力を読むこと。
- これは開発者プレビューであり、README にも大文字で明記されている。限定されたパイロット運用には適しているが、本番環境の制御プレーンとしては不向きである。
以下が、この記事全体を1枚の画像にまとめたものです。2つのISSトラッカーページ、同じプロンプト、同じモデル、1つの設定の違い。左側は調整した実行結果。右側は調整しなかった実行結果です。

DeepSeek Harness によって構築された2つのISSトラッカーページの比較。左側は歪んだ世界地図と「Stale」のままのバッジ、右側はライブマーカーが正しくレンダリングされている
左: 調整済み実行、152秒、15個の不正なSVGパスと「Stale」で固まったバッジ。右: 未調整実行、422秒、コンソールエラーゼロ。どちらも完了を報告。
なぜすべてのDeepSeek Harnessレビューが同じ3つのことを言うのか
リポジトリは8月13日に公開され、私が書き始めた時点で、MITライセンスの下で154,302スター、15,960フォークに達していた(GitHub、2026年8月)。その速度では、ほとんどの記事はREADMEを読んだだけのものであり、他のことをする時間がなかったからだ。
したがって、既存のDeepSeek Harnessのレビュー状況は3つの陣営に分かれており、そのすべてに同じ穴がある。ソースコードを監査する記事はプラグインの継ぎ目を細かく調べるが、ベンチマークを実行することはない。データに関する記事はトークン数を比較するが、インストールサイズとメモリについては明示的にスキップする。エンタープライズ調達の記事は、測定された数値がほとんどないまま、結論を下している。
誰もインストールして、タスクを最初から最後まで実行し、その結果を開いてみなかったのだ。
一方で、最も鋭い批判は、どのレビューにもなかった。それは、ローンチスレッドへの2つのコメントであり、4日間で737ポイントと309コメントを集めた。

DeepSeek Harnessのインストールサイズとアイドルメモリ使用量に関する、Hacker Newsからの2つのコメントをそのまま引用
このレビューが実際に確認しようとした2つの苦情。ローンチスレッドからそのまま引用。
ユーザー Kuyawa: "47mbダウンロード、ビルド後1.5gb、なんで?" そして、編集で "35の依存関係で1.4gb、何のためにあるんだ?" ユーザー eglintondust、CPU負荷に関するサブスレッドで: "メモリ使用量は明らかに手に負えなくなっている、今まさにアイドルセッションが500MBを消費している"(Hacker News、2026年8月)。
私が最初に確認したかったのはこの2つの数字だ。なぜなら、これらがこのツールをノートパソコンで使うかどうかを決めるからだ。どちらも、引用が示唆するよりも複雑であることが判明し、そのうちの1つは人々が想定しているものとは異なるものを測定していることがわかった。これらが理解できる前にアーキテクチャの基礎知識が必要なら、それは別の記事になる:DeepSeek Harness とは実際には何なのか。
このDeepSeek Harnessレビューのセットアップ方法: 1つのタスク、1つのエンドポイント
セットアップは意図的に単純にして、変数はタスクではなく設定にしている。
タスク。 自己完結型の index.html で、ライブISSトラッカーを構築する。外部API、地図レンダリング、ポーリングループ、エラーハンドリングが必要なので、1回限りのコードダンプではなく、実際のマルチステップツールループを強制する。そして重要なことに、結果を開いて、すぐに動作するかどうかを確認できる。
モデル。 deepseek-ai/deepseek-v4-flash-0731、3回の実行すべてで同じモデルなので、比較の何かがモデルの違いになることはない。
エンドポイント。 これは人々がスキップする部分だ。Harness はモデルを同梱していない。OpenAI 互換のベースURLとキーが必要であり、そのための設定画面が、私の3つの問題すべての原因となった。私は、フラットなDeepSeek価格設定でピーク時の追加料金がない、ホスト型のOpenAI互換エンドポイントに対して実行した。これは、同じタスクを繰り返し実行し、実行間で請求額を比較可能にしたい場合に重要である。互換性のあるエンドポイントであれば、どれでも同じように動作する。
| エンドポイント | プロトコル | GET /models | 課金体系 | 100万コンテキストV4 |
|---|---|---|---|---|
| DeepSeek ファーストパーティAPI | openai-completions | はい | ピーク時とオフピーク時の分割。UTC 01:00-04:00 と 06:00-10:00 がピーク時、オフピーク時は半額 (DeepSeek API ドキュメント, 2026年8月) | はい |
| Atlas Cloud | openai-completions | はい、確認時には200ステータスで135モデルが返ってきた | トークン単価固定、ピーク時の追加料金なし | はい、V4 Flash は入力100万トークンあたり$0.14、出力100万トークンあたり$0.28 |
| ローカルOllama | openai-completions | はい | 無料。ただし、ビルトインのウェブ検索にはOllamaクラウドが必要 | ローカルモデルによる |
真ん中の行について正直な注意点がある。それは後で私を困らせたのだが、標準のOpenAI {"object":"list","data":[...]} エンベロープではなく、{"code":200,"msg":"succeed","data":[...]} を返す。data 配列は存在するので、寛容なクライアントなら問題ないが、すべての「OpenAI互換」エンドポイントが仕様とバイト単位で同一であると想定してはいけない。
価格は、2026年8月18日に V4 Flash モデルページ から読み取った。現在、DeepSeek モデルに割引バッジはないので、ここにあるものは期間限定のレートではない。
ステップ 1: DeepSeek Harness をインストールし、実際のコストを測定する
ここから先は、Node 22.19+ または 24+ を搭載した macOS で再現可能である(23.x はサポートされておらず、多くのガイドがこれを間違えている)。私は Node v24.15.0 と @deepseek-ai/[email protected] を使用した。
クイックスタートから始める。これは1つのコマンドである:
bash1node -v # ^22.19.0 || >=24, 23.x は不可 2npx @deepseek-ai/dsh web # Web UI on http://127.0.0.1:3080 3
1.5 GB という主張と実際に比較できる数値を得るには、代わりにクリーンなディレクトリにインストールして測定する:
bash1mkdir dsh-size && cd dsh-size && npm init -y 2npm install @deepseek-ai/dsh 3du -sh node_modules 4du -sh node_modules/* | sort -h | tail -8 # 重量の所在 5
以下が、私のマシンで生成された結果である:
text1added 531 packages in 2m 2306M node_modules 3255 top-level entries in node_modules 4172K node_modules/@deepseek-ai/dsh <- パッケージ自体 5 6 13M node_modules/@shikijs 7 13M node_modules/openai 8 14M node_modules/@google/genai 9 17M node_modules/@img/sharp-libvips-darwin-arm64 10 24M node_modules/@mistralai/mistralai 11 26M node_modules/node-pty 12 27M node_modules/@deepseek-ai 13 34M node_modules/@opentelemetry 14
つまり、306 MB であり、1.5 GB ではない。 その Hacker News のコメントにある 1.5 GB という数値は、フルソースビルドのものであり、開発依存関係とビルド出力がモノレポ全体に及んでいる。ランタイムインストールはその5分の1である。
とはいえ、コーディングエージェントとしては 306 MB は依然として大きく、その内訳はなぜ人々が不満を感じているのかを正確に説明している。おそら決して呼び出さないであろう3つのベンダーSDK(openai、@google/genai、@mistralai/mistralai で合計 51 MB)、完全な OpenTelemetry ツリー、ネイティブの sharp バイナリ、そしてシンタックスハイライターをインストールしているのである。「すべてがプラグイン」というのは出荷コストがかかり、現時点では、それらのルートを使用するかどうかに関係なく、そのすべてを前払いしなければならない。
アイドルメモリについては、Webプロファイルを起動し、セッションを開き、そのまま放置して、RSSを読み取る:
bash1npx @deepseek-ai/dsh web --port 3099 2# 次に、別のシェルで: 3ps -o pid,rss,command -p $(pgrep -f "dsh web") 4
ライブセッションを開いてタスクを実行していない状態で、1分間隔で5分間サンプリングした:
text1t+0s 101.8 MB (セッションを開いた直後) 2t+60s 37.0 MB 3t+120s 39.8 MB 4t+180s 38.8 MB 5t+240s 35.8 MB 6t+300s 35.0 MB 7
起動時には約 212 MB に達し、UI が接続されると約 102 MB に落ち着き、その後ガベージコレクタによって 35 から 40 MB の帯域にまで低下し、そのまま維持された。これは「手に負えなくなっている」状態ではない。
しかし、eglintondust が必ずしも間違っているわけではなく、ここが理解する価値のある部分である。dsh Web プロファイルは、ローカルサーバーとブラウザタブで構成されている。35 MB はサーバーである。UI はブラウザ内の本格的な Web アプリであり、そのメモリは dsh ではなく Chrome に課金される。アクティビティモニタで 500 MB のアイドルセッションを監視している場合は、バグを報告する前に、そのメモリがどのプロセスに帰属しているかを確認すること。完全なインストールの詳細は、10分間のインストールウォークスルー に記載されている。

DeepSeek Harness のインストールフットプリントとアイドルメモリ測定値を示す実際のターミナル出力
実際の測定値。コマンドも表示。インストール時 306 MB、アイドル時 35 MB。
ステップ 2: DeepSeek Harness を独自のエンドポイントに向ける
UI では、Settings から Models、そして Add a custom provider と進む。プロバイダ ID、ベース URL、プロトコル、キー、モデルリストを入力する。$DSH_HOME/settings.yaml(デフォルトは ~/.dsh/settings.yaml)に直接書き込むこともできる。私はそうした。なぜなら、ファイルバージョンは実行間で差分を取ることができるからだ。
そのファイルのセクションはプラグイン ID によってキー付けされており、これは最初はわかりにくい。プロバイダ辞書は llm-pi-ai に属し、デフォルトのモデル選択は agent-default-model に属する:
yaml1llm-pi-ai: 2 providers: 3 atlas: 4 displayName: Atlas Cloud 5 api: openai-completions 6 baseURL: https://api.atlascloud.ai/v1 7 apiKeyEnv: ATLAS_API_KEY 8 models: 9 - id: deepseek-ai/deepseek-v4-flash-0731 10 11agent-default-model: 12 provider: atlas 13 model: deepseek-ai/deepseek-v4-flash-0731 14
これがナイーブな設定であり、私が最初に始めたものである。これは動作する。Atlas コンソール からキーを取得し、export ATLAS_API_KEY=... と実行すれば、実行は成功する。apiKeyEnv はシークレットそのものではなく参照であるため、キーがこのファイルに保存されることはない。
UI の見落としがちだが、実際に便利な詳細が1つある。キーが環境変数から提供される場合、API キーフィールドは Provided by the launch environment (read-only) と表示される。プロバイダの横にある緑色のドットは、ルートが解決されたことを意味する。ビルトインの DeepSeek プロバイダの横にある赤いドットは、認証情報がないことを意味する。これは、わざわざ探し回る必要のない、2秒で完了するヘルスチェックである。
しかし、この設定には2つの点が静かに間違っており、Trajectory を比較するまで私は気付かなかった。その点については、ステップ4まで保留しておく。

DeepSeek Harness の設定 (Settings) の Models ページ。Atlas Cloud という名前のカスタム OpenAI 互換プロバイダが、緑色のステータスドットと、起動環境によって読み取り専用で提供される API キーとともに表示されている
設定、Models、カスタムプロバイダ。緑色のドットはルートが解決されたことを意味し、その上のビルトイン DeepSeek プロバイダはキーがないため赤色になっている。
ステップ 3: DeepSeek Harness レビューの3回の実行、比較
毎回同じプロンプト。再現したい場合は、これをそのまま貼り付けること:
text1単一ページのISSトラッカーを、1つの自己完結型 index.html で構築してください。 2 3要件: 4- https://api.wheretheiss.at/v1/satellites/25544 から5秒ごとにISSの位置を取得する。 5- 現在の緯度/経度にマーカーを表示し、過去60位置のフェードアウトする軌跡も表示する世界地図をレンダリングする。 6- 高度 (km)、速度 (km/h)、現在の緯度/経度を読みやすいパネルに表示する。 7- ビルドステップ、npm install、APIキーは不要。Vanilla JS + インライン CSS のみ。 8- フェッチの失敗をページを壊さずに処理する。最後に知られた位置を保持し、stale バッジを表示する。 9- ファイルを書き込み、その後、完了を報告する。 10
ヘッドレスで実行して、トランスクリプトをクリーンに保つ:
bash1export DSH_HOME=$PWD/dsh-home 2export ATLAS_API_KEY=<your key> 3dsh --profile headless "<上記のプロンプト>" 4
3つの設定:
- 実行 A、調整済みのもの:
compat.thinkingFormat: deepseek、contextWindow: 1048576、maxTokens: 131072。 - 実行 B、ステップ2からのナイーブなもの:モデルエントリは
idのみ。 - 実行 C、もっともらしい間違い:Aと同じだが、
maxTokens: 4096にした。これはアダプタ自身のREADMEの例からそのまま引用した数値である。
3つとも exit 0 で終了した。3つとも index.html を書き込んだ。3つとも、確認を主張する要約を出力した。実行 C の要約は、自己修復について自慢していた:「ビルド中に捕捉して修正したバグがいくつかあります:トレイルフェードの未定義変数、誤った N/S/E/W サフィックスロジック...」
その後、3つのファイルすべてを、コンソールを開いた状態で実際のブラウザで開き、2サイクルポーリングさせた。
| 実行 A (調整済み) | 実行 B (ナイーブ) | 実行 C (maxTokens: 4096) | |
|---|---|---|---|
| 経過時間 | 152.7 秒 | 422.5 秒 | 50.2 秒 |
| ステップ数 | 15 | 36 | 8 |
| ツール呼び出し | 14 | 35 | 7 |
| ツールの種類 | 6 edit, 4 read, 2 bash | 19 bash, 8 read, 3 grep | 4 edit, 1 write, 1 bash |
| 書き込まれたファイルサイズ | 19,569 B | 10,812 B | 11,326 B |
| ロード時のコンソールエラー | 15 | 0 | 12 |
| 壊れていたもの | すべての大陸パスが不正、ISSマーカーなし、"Stale" バッジが永遠に固まっている | 何もなし | トレイルサークルがすべて cx="NaN"、マーカーが (0,0) に固定、緯度が -34.76° S と表示 |
この表をもう一度見てほしい。最も速い実行と、私が慎重に調整した実行の両方が、壊れたページを出荷した。遅く、ナイーブで、最も費用がかかった実行だけが、実際に動作した。
実行 A の失敗は有益である。テレメトリパネルは完璧だった。高度 431 km、速度 27,547 km/h、正しい緯度/経度、ライブ更新。その下の地図は緑色の塊だった。なぜなら、15すべての大陸パスが、座標のないぶら下がり L で終わっていたからだ("... L48.0 624.0 L Z")。そして、バッジには「Stale, keeping last position」と表示され、ネットワークタブに3回の成功したフェッチがあるにもかかわらず、「Last update: -」と表示されていた。難しい部分は正しく実装し、目に見える部分を間違えたのである。
その理由は、自身の推論ログのステップ12にあり、彼自身の言葉で書かれている。マップビルダーがまだ使用している変数を削除し、それに気づいたが、そのまま先に進んでしまったのだ。実行後半のこの種の自己誘発性退行は、まさに追記専用の軌跡(Trajectory)が得意とするものであり、それが次のステップである。
実行 C はより面白く、より悪い。トレイルフェードのバグと N/S サフィックスロジックを修正したと主張している。しかし、トレイルはまさに壊れている箇所であり(12個の NaN サークル、トレイルはまったくレンダリングされない)、緯度ラベルは -34.76° S と読め、これは二重符号である。修正したと主張した2つのうち、どちらも修正しておらず、node --check で作業を検証したが、これは JavaScript の構文を解析するだけで、SVG パスが有効かどうかは何も知らない。

3回目の実行のISSトラッカーページ。NaN で位置指定されたトレイル、左上隅に固定されたマーカー、二重符号の緯度ラベル
実行 C、50秒の実行:見た目は良く、ライブで、そして修正したと主張した2つの箇所で静かに壊れている。
これは実際には Harness のバグではない。コーディングエージェントのバグであり、Harness はそれを忠実に実行し、その後忠実に成功として報告した。このリリースで私が本当に感銘を受けた唯一の部分に話が及ぶ。
ステップ 4: 2行の修正と、それを発見した DeepSeek Harness の Trajectory ビュー
実行 B が実行 A より 2.8 倍長くかかったのは、私には意味がわからなかった。同じモデル、同じタスクで、唯一の違いは数行の YAML だった。そこで、Trajectory を確認した。
公式の説明は正確であり、これは珍しいことである:「モデルが見るすべてのものは、追記専用のセッションログに記録される。システムプロンプト、推論、ツール呼び出しとその結果、サブエージェントのスケジューリング、すべてのコンテキスト注入... Trajectory ビューでは、これらのレコードをソースごとに検査できる。再開、フォーク、検索、再生はすべて、同じイベントストリーム上で動作する」(DeepSeek Harness、2026年8月)。
これはマーケティングではない。ストリームは実際のファイルである:
bash1ls $DSH_HOME/sessions/<workspace>/session-<uuid>/session.jsonl.zstd 2
1行に1つのJSONイベント、zstdフレーム化、追記専用。実行 A は 606 イベントを生成し、実行 B は 1,709 イベントを生成した。UI でソースごとにフィルタリングするか、デコードしたファイルを grep するだけである。イベントタイプは、上記の文が約束しているものとまったく同じである:turn/start、step/start、request/header、request/context、assistant/chunk、reasoning-chunks、tool-call-chunks、tool/call、tool/result、step/end、turn/end。
問題を解決したのは request/header イベントである。これは実際にワイヤーに送信された設定を記録している:
jsonc1// 実行 A 2{"config":{"provider":"atlas","model":"deepseek-ai/deepseek-v4-flash-0731","maxTokens":131072}, 3 "adapterDefaults":{"maxTokens":true}} 4 5// 実行 B 6{"config":{"provider":"atlas","model":"deepseek-ai/deepseek-v4-flash-0731"}} 7
実行 B は出力上限をまったく送信せず、その推論は実行 A の 9 ブロック、6,094 文字に対して、33 ブロック、72,420 文字に膨れ上がった。これが、余分な 270 秒と余分な 44,170 出力トークンの原因である。
原因は文書化されているが、ドキュメントサイトにはない。packages/llm/llm-pi-ai/README.md に埋もれている。思考の方言は エンドポイント URL から推測される のである。メンテナ自身の言葉を借りれば、compat.thinkingFormat は「pi-ai がエンドポイント URL から推測するもの」であり、「プライベートゲートウェイの URL は何も語らないため、DeepSeek 方言のゲートウェイには、OpenAI 方言で話しかけられ、それを修正する方法がなくなる。」
私のエンドポイントは reasoning_content を返す。これは DeepSeek の綴りである。そのホスト名はそれについて何も語らない。そのため、実行 B ではアダプタは OpenAI 方言にフォールバックし、思考レベルを送信できず、モデルは 36 回の呼び出しすべてで独自のデフォルトで推論を行った。さらに、id だけを宣言するモデルエントリは、ルートのフォールバック defaultContextWindow: 262144 と defaultMaxTokens: 32768 を継承するため、1,048,576 トークンのモデルは、そのウィンドウの 4 分の 3 を静かに失うことになる。
両方とも 2 行である:
yaml1llm-pi-ai: 2 providers: 3 atlas: 4 api: openai-completions # compat.* はこのプロトコルの下でのみ存在する 5 baseURL: https://api.atlascloud.ai/v1 6 apiKeyEnv: ATLAS_API_KEY 7 compat: 8 thinkingFormat: deepseek # URLからの推測を停止する 9 supportsReasoningEffort: true 10 models: 11 - id: deepseek-ai/deepseek-v4-flash-0731 12 contextWindow: 1048576 # 262,144 のフォールバックをオーバーライドする 13 maxTokens: 131072 # 推論に十分な余地を残す 14
頭に入れておくべきことが2つある。解決順序は model、次に route、次にインストールされたカタログエントリ、次に pi-ai の URL 推測 であり、model レベルの値が優先される。そして、compat.* は api: openai-completions の下にのみ存在する。それ以外の場所に置くと、解決は完全に失敗する。また、アダプタは Bedrock、Vertex、Azure、Codex を意図的にサポートしていない。なぜなら、それらの認証にはキー、エンドポイント、ヘッダー以上のものが必要だからである。
これを設定すると、実行 A のワイヤー設定は正しくなり、トークン請求額は 3.5 倍減少するが、それでも壊れた地図を出荷する。これが、この演習全体の正直な要約である。設定の修正は実際に行われ、請求額は修正されるが、あなた自身が行わなければならないコードレビューは修正されない。

実際の DeepSeek Harness 実行からの追記専用セッションイベントストリーム。イベント数と、設定の問題を明らかにしたリクエストヘッダー
実行 A の Trajectory イベントストリーム:606 イベント、そして不足している出力上限を露呈した1つのイベント。
この DeepSeek Harness レビューの費用、そして本番環境で使用可能か
重要でないタスクの3回の完全なエージェント実行。軌跡から直接、フラットな入力100万トークンあたり $0.14、出力100万トークンあたり $0.28 のレートで:
| 実行 A | 実行 B | 実行 C | 合計 | |
|---|---|---|---|---|
| LLM 呼び出し数 | 15 | 36 | 8 | 59 |
| 非キャッシュ入力トークン | 38,452 | 109,408 | 20,781 | 168,641 |
| 出力トークン | 12,740 | 56,910 | 6,969 | 76,619 |
| キャッシュ読み取りトークン | 280,832 | 2,150,144 | 108,800 | 2,539,776 |
| プロンプトにおけるキャッシュの割合 | 88.0% | 95.2% | 84.0% | 93.8% |
| 非キャッシュ入力 + 出力 | $0.0090 | $0.0313 | $0.0049 | $0.0452 |
| すべてのキャッシュトークンが完全な入力レートで課金された場合 | $0.0483 | $0.3323 | $0.0201 | $0.4007 |
この中から2つのことを取り出す価値がある。まず、キャッシュの数値は実際のものであり、エンドポイントはそれを報告している。3回の実行全体で、全プロンプトトークンの93.8%がキャッシュ読み取りとして返されており、これがエージェントループを手頃な価格にしている理由である。次に、設定を誤った実行は、同じサイズのタスクに対して、調整済みの実行の3.5倍のコストがかかった。これが、あの2行のYAMLの実際の価格である。
すべての実行における最初の呼び出しの形状に注目してほしい。エージェントが何かをする前に、約11,000の入力トークンがある。これはシステムプロンプト、ツールスキーマ、そして「すべてがプラグイン」が意味するスキルカタログであり、新しいセッションごとにそのコストを支払うことになる。これが、このハーネスでキャッシュヒット率が、より薄いハーネスよりも重要である理由であり、もしタスクがフルツールセットを必要としないのであれば、Minimal モード(bash とファイルエディタのみ)の実行を試してみる価値がある理由である。
では、本番環境で使用できるか? いいえ、プロジェクトもあなたに同意するだろう。README 自身の言葉:「DeepSeek Harness は現在開発者プレビューであり、急速に反復されています。互換性を破る変更が発生します。」Web UI は「DeepSeek Harness 0.1 は、Harness 開発者向けのテスト段階にあります」というモーダルを表示して起動する。MIT ライセンスは、あなたがそれを好きなように使うことができることを意味する。あなたが構築する API が来月も存在することを意味するわけではない。
| あなたは誰か | 評決 | 理由 |
|---|---|---|
| 今日コードを出荷したいだけの個人開発者 | 今はスキップ | 私の3回の実行のうち2回は、自信満々の「done」とともに壊れた出力を出荷した。あなたは仕事ではなく、ハーネスに時間を費やすことになるだろう。 |
| エージェントループ自体を修正したいインフラチーム | パイロット運用 | これは、ループ、ツール、UI のすべてが交換可能な設定である、唯一のツールである。これは本当に珍しく、あなたの時間を費やす価値がある。 |
| 本番環境の制御プレーンを構築するエンタープライズ | まだ時期尚早 | 互換性を破る変更が書面で約束されており、プラグインと MCP サーバーはサンドボックス外で実行され、ドキュメントサイトにはあなたのトークン請求額を決定する設定が欠けている。 |
| プラグインとツールのビルダー | はい、今すぐ | 拡張機能の継ぎ目がすべてであり、エコシステムは小さく、初期のプラグインは分野を独占することができるだろう。 |
残りのリスクリストは短く、現実的である。匿名のテレメトリ UUID が存在する。プラグインと MCP サーバーは bash サンドボックス外で実行されるため、プラグインはあなたが信頼することを選択したコードである。そして、このレビューが苦労して見つけたように、コストと正確性を制御する設定はガイドではなくパッケージの README に文書化されているため、最初の請求額は、エラーメッセージが何も教えてくれない理由で、本来あるべき額の数倍になる可能性がある。
DeepSeek Harness レビュー:よくある質問
DeepSeek Harness は本番環境で使用可能ですか?
いいえ。README は明確に述べている:「DeepSeek Harness は現在開発者プレビューであり、急速に反復されています。互換性を破る変更が発生します。」Web UI は起動時にモーダルでそれを繰り返す。重要でないワークロードでの限定パイロットは今日でも妥当である。あなたのチームが依存する本番環境の制御プレーンはそうではない。なぜなら、あなたが構築する API サーフェスは明示的に不安定だからである。
DeepSeek Harness は実際にどれくらいのディスクとメモリを使用しますか?
macOS では、npm install @deepseek-ai/dsh は 531 パッケージと 306 MB をプルし、そのうち dsh パッケージ自体は 172 KB である。広く引用されている 1.5 GB はフルソースビルドであり、ランタイムインストールではない。Web サーバープロセスは、ライブセッションを開いた状態で、起動中に約 212 MB にピークに達した後、35 から 40 MB の RSS でアイドル状態になった。UI 自身のメモリは、dsh ではなくあなたのブラウザに課金される。
DeepSeek Harness の実行が、予想よりもはるかに遅く、高価になるのはなぜですか?
おそらく、モデルエントリが id 以外に何も宣言していないからである。これにより、ルートのフォールバック defaultContextWindow: 262144 と defaultMaxTokens: 32768 が継承され、アダプタがあなたのエンドポイントのホスト名から推論の方言を推測できるようになる。私のテストでは、この組み合わせにより、同じタスクに対して 36 ステップ(本来は 15 ステップ)と 3.5 倍のトークンコストが発生した。compat.thinkingFormat、実際の contextWindow、実際の maxTokens を設定すること。
DeepSeek Harness は DeepSeek 以外のエンドポイントでも動作しますか?
はい、OpenAI 互換のベース URL であればどれでも動作し、ほとんどの人はそのように実行するだろう。問題点は、思考の方言が URL から推測されることである。そのため、ニュートラルなホスト名上の DeepSeek 方言のゲートウェイは、OpenAI 方言で話しかけられる。compat.thinkingFormat: deepseek が修正であり、これは api: openai-completions の下にのみ存在する。Bedrock、Vertex、Azure、Codex は意図的にサポートされていない。
Trajectory ビューは実際に役立つのか、それともマーケティングなのか?
役立つ。そして、これはこのリリースで最も強力な部分である。セッションログは実際の追記専用 JSONL ファイルであり、ソースでフィルタリング、再開、フォーク、再生が可能であり、request/header イベントは、どの設定がワイヤーに到達したかを正確に教えてくれ、それが私の問題を解決した。しかし、モデルがなぜその選択をしたのかを説明するものではない。モデルが何を見たかを記録するのであって、なぜそう決断したかではない。
DeepSeek Harness vs Claude Code または OpenCode、日常的に使うならどちらを使うべきか?
今日、確実にコードを書くための何かが必要なら、これではない。まだだ。エージェントランタイム自体を変更したいときに Harness を選ぶ。なぜなら、ここではループ、ツール、UI の交換はフォークではなく設定だからである。トークン使用量の数値ベースの比較については、DeepSeek Harness vs OpenCode を参照のこと。また、拡張レイヤーについては、どのプラグインがインストールする価値があるか を参照のこと。
実行日: 2026年8月18日、macOS、Node v24.15.0、@deepseek-ai/[email protected]、モデル deepseek-ai/deepseek-v4-flash-0731、Atlas Cloud 上の OpenAI 互換エンドポイント経由で提供。この記事のすべてのトークン数、経過時間、コンソールエラーは、これらの実行のセッションログとブラウザコンソールから取得されたものです。






