DeepSeek Harness(dsh)のインストール
DeepSeek Harness——コマンドラインでは dsh——は、DeepSeek AI が 2026 年 8 月 13 日に MIT ライセンスで公開したエージェントハーネスです。このガイドでは、動かすまでの手順、インストールで何ができるかを実質的に決めるただ 1 つの設定ファイル、そして私たちが収録している 7900 件のリポジトリからプラグインを導入する方法を扱います。
最初に読んでください
dsh は開発者プレビューです。README は大文字で互換性を壊す変更が入ると警告しています。以下の内容はすべて 2026 年 8 月 14 日時点のプレビューについての説明です。大事なスクリプトにコマンドを貼り付ける前に、リポジトリを確認してください。
前提条件
Node.js が必要です。リポジトリは engines として ^22.19 || >=24 を宣言しているため、それより古いランタイムではインストールが拒否されるか、後になってハーネスのバグに見えるかたちで失敗します。始める前に確認してください:
node -vnpx でいく場合、必要なものはこれだけです。ソースからビルドしたい場合は git と pnpm も必要です(リポジトリは pnpm 前提で構成されています)。このページのどこにも dsh をシステム全体にインストールしろとは書いていません。プレビューがこれだけ速く動いている間は、プロジェクトに固定したバージョンのほうが、入れたことを忘れるグローバルバイナリより扱いやすいはずです。
npx でクイックスタート
1 つのコマンドで、Web インターフェース付きのハーネスが動き出します:
npx @deepseek-ai/dsh webnpm がパッケージを取得し、ハーネスは http://127.0.0.1:3080 で Web UI を提供します。このアドレスはループバックで、あなたのマシン上でのみ応答します。ファイルを読みコマンドを実行できるツールにとって、これは正しい既定値です。
CLI は --profile フラグも受け付けます(dsh --profile <profile>)。これは起動時に読み込むプラグインのまとまりを選ぶものです。同梱プロファイルには headless があります。リリース翌日に書かれた一覧を信じるより、手元のバージョンに対して dsh --help を実行してください。利用できるプロファイルやバンドルは、プレビューがリリースごとに入れ替える類のものです。
ソースから動かす
プラグインを書くつもりなら、リポジトリからビルドする数分は投資に見合います。README から推測するのではなく、本物のパッケージ API を読めるからです:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web最初の pnpm dsh web の前にビルドを実行してください。ドキュメントの手順もそうなっています。同じくポート 3080 の Web UI に到達しますが、今度は作業ツリーに対して動くので、パッケージを直してビルドし直し、結果をすぐ確認できます。これは、あるリリースで実際に何が変わったのかを知る最速の方法でもあります。これほど速く動くプレビューは、自分のドキュメントを追い越しがちだからです。
cordis.yml の位置づけ
dsh を貫く発想はすべてがプラグインというものです。モデル、ツール、スキル、セッション、サンドボックス、ファイルシステム、エージェントループ、オーケストレーション、そしてユーザーインターフェースまで、すべてが 1 つの共有ランタイムに読み込まれるプラグインです。そのランタイムが、ハーネスの土台となるメタフレームワーク Cordis です。@deepseek-ai/cordis はすべてのハーネスパッケージの peer dependency になっています。
どのプラグインをどんなオプションで読み込むかは、cordis.yml というローダー設定が決めます:
# cordis.yml
plugins:
dsh-example-plugin:
plugins: 配下の各キーがプラグインを指し、その下のブロックがそのプラグインの設定です(既定値でよければ何も書かなくて構いません)。公式パッケージは @deepseek-ai/dsh-<name> として公開されており、ローダーのキーは通常、npm スコープを外したパッケージ名です。ただしプラグイン作者が別のキーを選ぶこともあるため、導入するプラグインの README のほうが、この経験則を含むどんな一般則よりも優先されます。
コミュニティプラグインを追加する
プラグインの追加は 2 ステップです。パッケージをインストールし、ローダー設定に登録します。
npm install dsh-example-plugin# cordis.yml
plugins:
dsh-example-plugin:
ハーネスを再起動すれば、そのプラグインも他と一緒に読み込まれます。入れる価値のあるものを探すには、収録済みの 7900 件のリポジトリを眺めるか、カテゴリで絞り込んでください。このうち 3942 件が検証済みです——つまりリポジトリ内に Cordis ランタイムへの依存か cordis.yml を確認できたということで、実際に読み込まれます。残りは dsh-plugin という GitHub トピックが付いているだけで、裏に結線はありません。これが重要なのは、そのトピックが発見の仕組みそのものでもあるからです。プラグインを公開するなら、トピックを付けることがエコシステムに見つけてもらう方法になります。
トラブルシューティング
インストールが engine エラーや構文エラーで失敗する
ほぼ確実に Node.js が古いせいです。リポジトリは ^22.19 || >=24 を要求します。これを下回ると、インストール時に失敗するか、依存パッケージの奥深くでパースエラーを投げます。パッケージが壊れているように見えますが、そうではありません。node -v を確認してアップグレードしてください。同じマシンの他のプロジェクトが古いランタイムを必要とするなら、nvm や fnm のようなバージョンマネージャが最も影響の小さいやり方です。
ポート 3080 がすでに使われている
何か別のものがポートを掴んでいます。よくあるのは、終了しそこねた以前の dsh の実行です。macOS や Linux では次のコマンドで見つけられます:
lsof -i :3080そのプロセスを止めてから起動し直してください。もう一方のサービスではなくハーネスのほうを動かしたい場合は、フラグ名を当て推量するのではなく、dsh --help と cordis.yml 内の web プラグインのオプションを確認してください。プレビューのオプション面はまだ変化しており、先週のブログ記事で動いたフラグが、あなたのビルドには存在しないかもしれません。
先週は動いていたのに、今は動かない
これは謎ではなく、開発者プレビューで想定される壊れ方です。README は互換性を壊す変更が来るとはっきり書いており、古いローダー形式に合わせて作られたプラグインは、ハーネスのアップグレード後に静かに読み込まれなくなることがあります。役に立つ習慣が 2 つあります。動作確認したバージョンを固定すること、そして自分の設定を疑う前にそのプラグインの最終プッシュ日を確認することです。私たちの一覧は、どのプラグインページにもその日付を表示しています。
npx @deepseek-ai/dsh@<version> web名前が変わっただけでなく本当に壊れている場合、プロジェクトは GitHub Discussions と Discord を運用しており、こういう週にはどんな第三者のガイドよりも情報が新しいはずです。
よくある質問
- dsh はグローバルにインストールする必要がありますか?
- いいえ。npx のクイックスタートは必要なときにパッケージを取得して実行しますし、ソースからの手順ではクローンしたリポジトリ内で pnpm 経由で CLI を実行します。プレビューは互換性を壊す変更を出すため、入れたことを忘れるグローバルバイナリより、プロジェクトごとに固定したバージョンのほうが長持ちします。
- DeepSeek Harness は無料で使えますか?
- ハーネス自体は MIT ライセンスのオープンソースなので、無料で実行・改変・再配布できます。接続先のモデルは別の話で、そのプロバイダーの料金はハーネスのライセンスの範囲外です。
- なぜ Web UI はネットワークアドレスではなく 127.0.0.1 で待ち受けるのですか?
- そのアドレスはループバックで、起動したマシン上でのみ応答するという意味です。前段にプロキシやトンネルを意図的に置かない限り、ローカルネットワーク上のどの機器からも http://127.0.0.1:3080 には到達できません。あなたのマシンでコマンドを実行できるツールにとっては、妥当な既定値です。
- 今日、本番の仕事に dsh を使えますか?
- 安全とは言えません。DeepSeek Harness は 2026 年 8 月 13 日に公開された開発者プレビューであり、README は大文字で互換性を壊す変更が入ると警告しています。オンコール当番に載せるインフラではなく、試したりプラグインを書いたりする対象として扱ってください。
- cordis.yml とは正確には何ですか?
- ハーネスがどのプラグインで起動し、それぞれをどう設定するかを決めるローダー設定です。dsh はモデル、ツール、スキル、セッション、サンドボックス、さらには UI までプラグインとして扱うため、cordis.yml は実質的に「あなたのインストールに何ができるか」の定義そのものです。
次に読むもの
プラグインというモデル自体が初めてなら、まず エージェントハーネスとは何か から読んでください。dsh がなぜこれほど多くをローダー設定の背後に置いているのかが分かります。すでに使っているツールと dsh を天秤にかけているなら、Claude Code との比較をご覧ください。dsh が明らかにまだ及ばない点も書いています。