DeepSeek Harness アップグレードガイド:npm で dsh 本体を更新・検証・ロールバック
実際の Windows 録画をフレームごとに分解:現行バージョンの確認、registry の最新確認、コマンド 1 つのアップデート、レシートの読み取り、再起動検証——そしてバージョン指定で戻すロールバックのコマンドまで。
最終更新: 2026-10-02

dsh は進化が速く、リリース候補(rc)が毎週のように出ます。0.2.0 は破壊的変更を含むプレリリース線のまま。このページでは本体アップグレードを一つの静かなループとして分解します——動いているバージョンを確認、最新を確認、アップデート、レシートを読む、検証、再起動。画面はすべて coder_Mars による実際の Windows 録画で、片中のバージョン番号とパッケージ数(0.1.5-rc.1 から 0.1.5-rc.2 へ、changed 520 packages)はその録画の例示であり目標値ではありません。
始める前の区別:このページで扱うのは dsh 本体、つまり npm のグローバルパッケージのアップグレードです。プロファイルにインストール済みのプラグインの更新は別レイヤー・別コマンドで、2 つのガイドは相互リンクしています。そのワークフローはこちら → プラグイン更新ガイド
TL;DR
- ▸2 つのレイヤーは別仕事:dsh 本体は npm update -g @deepseek-ai/dsh で更新。プラグインは Web UI のマーケットか dsh plugin update——混ぜない。
- ▸ループはこれ:まず dsh --version と npm view @deepseek-ai/dsh version、アップデート実行、その後 dsh --version で再確認、dsh web で起動まで証明。
- ▸警告は失敗ではない:録画では deprecated や EPERM のクリーンアップ警告が流れた後、きちんと changed 520 packages で終わっています。判定はレシート行で。
- ▸ロールバックは 1 コマンド:npm install -g @deepseek-ai/dsh@<バージョン>。問題のあるプラグインは dsh plugin --profile web remove で外します。
バージョン確認から、証拠のあるロールバックまで
パート 1 · アップグレード前
- 1
動いているバージョンと最新版を確認
読み取り専用のコマンド 2 つで開始します。dsh --version は実際に動いているリリース(録画では 0.1.5-rc.1)、npm view @deepseek-ai/dsh version は npm registry に公開済みの最新版(録画時点で 0.1.5-rc.2)を返します。数字が違えば更新の番です。同じなら既に最新なので、ここで終了。
$dsh --version$npm view @deepseek-ai/dsh version
ローカル 0.1.5-rc.1、registry 0.1.5-rc.2——ひと目で 2 バージョン1:50 の場面を見る - 2
基準状態を記録する:セッション・プラグイン・スケジュールタスク
アップグレードが差し替えるのはプログラムで、データではありません——設定・セッション・インストール済みプラグインはユーザーディレクトリにあります(レシートのフレームでは DSH_HOME が C:\Users\Admin\.dsh に解決)。それでも現状は記録しておきましょう:dsh plugin --profile web list でプラグイン一覧、Web UI でセッションを確認。0.2.0 プレリリース線へ渡る予定があれば、スケジュールタスクも書き控えて——0.2.0 の移行スライドが明記する通り、0.1.x の自動化タスクは自動では移行しません。メジャーバージョンを跨ぐ前の設定バックアップは、最も安い保険です。
$dsh plugin --profile web list
更新前の基準:セッションもプラグインも正常稼働0:40 の場面を見る
パート 2 · 更新・警告・検証
- 3
コマンド 1 つで本体を更新
アップデートの本体は npm update -g @deepseek-ai/dsh の 1 行。このページの他の操作と同じターミナルで打ちます。録画では 2 回実行しています——1 回目は PowerShell、その後すでに進んだ状態で新しい CMD ウィンドウでもう 1 回。再実行しても副作用はありません:npm はバージョンを比較し、差があったときだけ動きます。
$npm update -g @deepseek-ai/dsh
アップグレードの本体は npm コマンド 1 つ2:50 の場面を見る - 4
警告の壁を落ち着いて読む
アップデート途中、ターミナルは黄色く埋まります:推移依存の npm warn deprecated、続く npm warn cleanup EPERM の行は、Windows が一時フォルダー内の古い sharp-win32-x64 DLL の削除(unlink)を拒んだ場面。それでもインストールは止まらず、この手順は changed 520 packages(17s)で終わっています。教訓:更新の成否は最後のレシート行で判定し、その上を流れる警告では判定しない。

警告で画面が埋れても、インストールは完走2:00 の場面を見る - 5
レシートを確認し、dsh web を再起動
レシートのフレーム 1 枚が契約書です:changed 520 packages in 1m、続く dsh --version は再び 0.1.5-rc.2——更新前と同じ、つまりここでは「既に最新」で、より新しいバージョンは存在しません。最後に作者は dsh web を起動して締めます:DSH_HOME の解決、キープールのロード、rotation proxy が 127.0.0.1:8787 で待受。ポートやプラグイン名は変わりますが、「バージョンの証拠 + 起動ログ」という形は変えるべきではありません。
$dsh --version$dsh web
changed 520 packages in 1m、バージョン不変 = 既に最新3:16 の場面を見る
パート 3 · アップグレード後:マーケット確認・トラブルシュート・ロールバック
- 6
アップグレード後の点検:プラグインマーケットは別レイヤー
本体更新後、Web UI のプラグインマーケットはマーケット自身が v1.40.0、インストール済み 10 個、全部更新 (5) ボタンを表示——プラグインには独自のバージョン線と更新キューがあり、直前の本体更新はそれらに触れていない証拠です。更新はこの画面からでもターミナルからでも好きなときに。そのワークフローの管轄はプラグイン更新ガイドです。

マーケット v1.40.0:インストール済み 10 個、更新 5 件が待機3:24 の場面を見る - 7
問題が出たら、まずバージョンを確認
トラブルシュートの録画はアップグレードのそれと同じ始まり:新しいプロンプトで dsh --version。プラグインや設定に触れる前に、実際に動いているリリースを把握する——例の動画のシナリオは 0.2.0-rc.1 に上げたマシンの不調で、それでも最初の一手はこの読み取り専用チェックです。端末に表示されたバージョンだけが事実。記憶も二次資料も違います。
$dsh --version
トラブルシュートの鉄則:まずバージョンを読む2:05 の場面を見る - 8
ロールバック:指定バージョンを入れ、問題のプラグインを外す
出口は 2 つ、どちらも 1 行。特定リリースを戻すなら正確なバージョン指定でインストール:npm install -g @deepseek-ai/dsh@<バージョン>——例の動画のスライドはこれを「重新下载指定版本(指定バージョンの再ダウンロード)」と呼びます(過去のタグはプロジェクトの GitHub Releases ページに一覧)。原因が本体ではなくプラグインなら、dsh plugin --profile web remove で web プロファイルから除外。同じ録画は、Web UI のプラグイン一覧のアンインストールボタンでもよいこと、DSH が起動しなくなるほどのプラグインは設定ファイルから手動で掃除できることも述べています。<バージョン> は実際のタグに、たとえばアップグレード前の 0.1.5-rc.2 に置き換えて。
$npm install -g @deepseek-ai/dsh@<version>$dsh plugin --profile web remove
旧リリースを戻すか、問題のプラグインを外すか3:35 の場面を見る
0.2.0 線:開発者プレビューであって、行き先ではない
2026-10-02 時点で、deepseek-ai/deepseek-harness の最新リリースは dsh-v0.2.0-rc.2(2026-09-29 公開、prerelease フラグ付き)。0.2.0 線は現時点で全体が破壊的変更込みの developer preview で、このページの録画がある 0.1.x 線が安定志向の選択です。
資料で最も厄介な破壊的変更:自動化タスクがオプションのプラグインパッケージになり、0.1.x で設定したスケジュールタスクは自動移行しません。移行スライドの 3 ステップ:アップグレード前に既存のスケジュールタスク設定を書き控える。アップグレード後にプラグイン管理から自動化タスクのパッケージをインストール。タスクを再作成し、初回実行で検証する。
ディスカッションには実際のアップグレード事故が蓄積しています——起動時のクラッシュ、旧バージョンが戻せないケース。それは永久に更新を避ける理由ではなく、このページの 2 つの習慣——バージョン跨ぎ前の設定バックアップと、ポケットのバージョン指定インストール——を守る理由です。リリースで問題が出たら、トラブルシューティング playbook とよくあるエラーのページに典型的な故障モードがまとまっています。
FAQ
動いている環境に npm を触らせる前に、読者が聞きたいこと。
アップグレードで設定・セッション・プラグインは消えますか?
npm パッケージとデータは別の場所にあります:更新で差し替わるのはグローバルなプログラムで、設定・セッション・インストール済みプラグインはユーザーディレクトリに残ります——録画の起動ログでは DSH_HOME が C:\Users\Admin\.dsh に解決され、アップグレード後もマーケットはインストール済み 10 個を表示。例外は 0.2.0 への移行:自動化タスクはプラグインパッケージになり、0.1.x のスケジュールタスクは自動では移行しません。メジャーバージョンを跨ぐ前に設定のバックアップを。
古い dsh バージョンへ戻すには?
正確なバージョンで再インストールします:npm install -g @deepseek-ai/dsh@<バージョン>。<バージョン> を 0.1.5-rc.2 などの実際のタグに置き換えてください。過去のリリースとタグは GitHub Releases ページに一覧。原因がプラグインなら先に dsh plugin --profile web remove で外す——壊れたプラグインを抱えたまま本体を更新しても、同じ不調をもう一度昇格させるだけです。
0.2.0 は安定しましたか?アップグレードすべき?
まだです。2026-10-02 時点の最新リリースは dsh-v0.2.0-rc.2(prerelease、2026-09-29 公開)——0.2.0 線の全体が、自動化タスクのプラグインパッケージ化(自動移行なし)のような破壊的変更を含む developer preview です。業務で使うマシンは 0.1.x 線に留まり、プレビューを試すなら先にバックアップ、3 ステップの移行に従い、再作成したタスクを初回実行で検証を。
アップグレード後にプラグインが消えた・エラーが出る場合は?
まずレイヤーを分けて:本体アップグレードはプラグインを削除しません——録画の最後でもマーケットはインストール済み 10 個を表示。新しい本体でプラグインがエラーになるなら、そのプラグインだけ外し(dsh plugin --profile web remove)、再起動してから最新を入れ直します。全プラグインをまとめて更新するならプラグイン更新のワークフローを。DSH がまったく起動しない場合は、トラブルシューティング playbook がプラグイン起因を含む起動失敗を解説しています。
npm の警告が画面いっぱい出ました——更新は失敗ですか?
ほぼ間違いなく失敗ではありません。録画では deprecated と EPERM クリーンアップの警告が、そのまま changed 520 packages のレシートに流れ込みました。npm の警告は実況で、判定はレシート行と直後の dsh --version が担います。バージョンが本当に動かなければ、npm update -g @deepseek-ai/dsh をもう 1 回——動画の作者がまさにそうしています。
関連ガイド
本体アップグレードを取り巻く各レイヤー。
プラグイン更新ガイド
もう 1 つのレイヤー:ターミナルまたは Web UI マーケットからの更新、バージョン固定、テストプロファイルの分離——このページのステップ 6 がバトンを渡す先。
ガイドを読むdsh トラブルシューティング playbook
更新後に起動しないときの症状→原因→修正。上のバージョン指定ロールバックと併用を。
ガイドを読むよくあるエラーと実践修正
アップグレード後の症状を実際のスクリーンショットに照合——プラグイン起因の起動クラッシュや壊れた更新も。
ガイドを読むdsh CLI チートシート
このページのコマンドはすべてチートシートに:プロファイル、プラグイン管理、バージョン確認。
ガイドを読む設定のレイヤー構造
npm update が触るもの、決して触れないもの:あなたの設定レイヤーと、事前バックアップの手順。
ガイドを読む出典とクレジット
スクリーンショットはすべて coder_Mars の Bilibili 録画からのフレームで、各 1 枚がそれぞれの秒へディープリンクされています。0.2.0 の事実は公式 GitHub Releases(2026-10-02 取得)と下記のスライドのみの動画 2 本から——スライドは事実源としてのみ使い、フレームは取っていません。
