AI開発 2026年8月18日 約24 分 DeepSeek Harness npm

DeepSeek Harness npmとソースビルド、どちら?

DeepSeek Harnessを試すだけなら、まずnpm経由の起動を選ぶのが安全です。コアパッケージの変更やプラグイン境界の調査が必要な場合はソースワークスペースを使い、チーム納品では安定環境と開発環境を分ける二軌道構成を採用します。

DeepSeek Harness npmとソースビルド、どちら?

DeepSeek Harnessを試すだけなら、まずnpm経由の起動を選ぶのが安全です。コアパッケージの変更やプラグイン境界の調査が必要な場合はソースワークスペースを使い、チーム納品では安定環境と開発環境を分ける二軌道構成を採用します。

公式READMEに示されている実行経路は、npm経由とソースコード経由の2つです。しかも現行リポジトリはDeveloper Previewで、互換性を壊す変更があり得るため、試用ならnpm、コア変更やプラグイン境界の調査ならソース、遠隔納品なら安定用npmと開発用ソースを分離する判断が適切です。(公式README)

症状: Web UIや基本的なAgent処理を確認したいだけなのに、最初から巨大な開発環境を整えようとしている。
最短解決: Node.jsを確認し、固定したnpmパッケージで最小タスクを再現します。コアを変更する必要が出た時点で、別ディレクトリにソース環境を追加します。

この記事は、DeepSeek Harnessを短時間試したい開発者、プラグインや内部機能を改修したい貢献者、Mac上の実行環境をチームへ納品したいプラットフォーム担当者向けです。Web、Headless、ACPなどの実行モードではなく、配布パッケージとソースワークスペースの保守責任を比較します。

※最終更新:2026年8月18日。Node.js、pnpm、ビルド手順、実行経路は、公式README公式package.json公式開発ガイドを確認しています。

01

最初に決めるべきなのは性能ではなく保守範囲です

npmとソースビルドを、単純な起動速度や処理性能だけで比べるのは適切ではありません。両者は同じDeepSeek Harnessを扱っていても、変更できる範囲、再現性、障害時に戻る手順が異なります。

公式READMEでは、npm経由は npx @deepseek-ai/dsh web、ソース経由はリポジトリを取得して pnpm installpnpm run buildpnpm dsh web を実行する流れです。npm経路では公開済みパッケージを呼び出しますが、ソース経路では依存関係、型検査、ホスト側とクライアント側のビルドまで管理対象になります。Node.jsのバージョン管理方法については、Node.js公式のリリース情報も納品時の確認資料に加えます。

利用者 推奨経路 管理するもの 評価
Web UIだけ試す人 npm Node.js、パッケージ版、設定 npm:5/5
公開プラグインを使う人 まずnpm プラグイン互換性、設定、解除手順 npm:4/5
外部プラグインを作る人 独立リポジトリ+npm 公開インターフェース、個別テスト 条件付き:4/5
コアパッケージを変更する人 ソース pnpm、ビルド、型、テスト、コミット ソース:5/5
遠隔環境を納品するチーム npm+ソースの二軌道 安定版と開発版の分離、再構築証拠 二軌道:5/5

npmは自動的に安定する仕組みではありません。Developer Previewである以上、パッケージを更新すれば挙動が変わる可能性があり、実行前にバージョンを記録しなければ再現性は残りません。反対に、ソースビルドも高性能になるわけではなく、変更可能性と検証責任が増える経路です。

02

試用者はnpm経由で最小タスクを再現します

Web UI、モデル接続、作業ディレクトリ、基本タスクだけを確認する段階では、完全なリポジトリを取得する理由はほとんどありません。まずNode.jsの対応条件を確認し、公式の起動入口を使い、同じ作業ディレクトリから一つのタスクを再実行できる状態を作ります。

現行のpackage.jsonでは、Node.jsの条件は ^22.19.0 || >=24.0.0、パッケージマネージャーの宣言は pnpm@11.7.0 です。ただしこれはソースワークスペース側の宣言であり、npm実行時にも同じ条件が無条件に保証されるという意味ではありません。実際の公開パッケージの要求条件は、実行日にパッケージ情報と公式資料を照合します。パッケージの実体、タグ、依存関係を確認するときは、npm公式CLIドキュメントnpm view に相当する確認手順を使います。

試用時の手順は次の順序にします。

  1. Node.jsの実行バージョンを記録します。
  2. 作業用ディレクトリを専用に分けます。
  3. npx @deepseek-ai/dsh web で起動します。
  4. Web UIの表示、モデル接続、作業領域の読み書きを確認します。
  5. 固定した入力で基本タスクを一度完了させます。
  6. 使用したパッケージ指定、環境変数、作業ディレクトリを記録します。
  7. プラグインを追加する場合は、追加前の設定へ戻れることを確認します。

npx はパッケージ実行用の入口ですが、未指定の最新版を毎回呼び出す運用にすれば、同じコマンドでも取得物が変わる可能性があります。実行時のパッケージ解決については、npm公式のnpx説明を確認し、納品時は版番号やロック情報を残します。

標準のWeb UIは http://127.0.0.1:3080 で提供されるとREADMEに記載されています。外部から接続する場合は、単にポートを開けるのではなく、認証、ファイアウォール、プロキシ、作業領域の権限を別途設計します。

03

公開プラグインの利用と開発は分けて考えます

既存プラグインをインストールして動かすことと、DeepSeek Harness本体のソースを変更することは別の作業です。公開インターフェースだけでプラグインの設定、読み込み、基本動作を確認できるなら、npm経路のまま検証した方が、問題の原因を本体のビルド環境へ広げずに済みます。

一方、プラグインの読み込み境界、API変更、イベントの受け渡し、HostとClientの接続を調べる場合は、ソースワークスペースが必要になります。外部プラグインだけを作る場合は、まず独立リポジトリで公開インターフェースに依存し、本体のmonorepoを抱え込まない構成を優先します。公式READMEも、プラグインリポジトリには dsh-plugin トピックを付けるよう案内しています。

次の条件ならnpm、次の条件ならソースへ切り替えます。

  • 公開プラグインを設定するだけなら、npmを選びます。
  • プラグイン単体のテストで完結するなら、独立リポジトリを選びます。
  • 本体の型定義や読み込み処理を変更するなら、ソースを選びます。
  • 上流への修正提案やコア機能の変更を行うなら、ソースを選びます。
  • プラグインで障害が出たとき、無効化した設定へ戻せないなら、導入を止めます。

注意:プラグインを追加した状態を唯一の実行環境にしないでください。プラグインなしの設定、使用パッケージ、作業領域を保存しておけば、原因切り分けと復旧が容易になります。

04

プラグイン開発者は全体ビルドを必要な時だけ持ちます

ソース環境は、Node.jsだけでなくpnpm、依存パッケージ、ビルド設定、型検査、テストの組み合わせを管理します。現行package.jsonには、ライブラリのビルド、Webビルド、型検査、lint、単体テスト、E2Eテストなど複数の検証入口が定義されています。したがって、ソースを選ぶとは単に git clone することではなく、変更後の責任範囲を引き受けることです。pnpmのワークスペースやインストール挙動は、pnpm公式ドキュメントで確認し、チーム内の利用版を揃えます。

最小のソース構築は、公式READMEに沿って次のように行います。

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

リポジトリ取得後にどのコミットを使ったかを固定する場合は、Git公式リファレンスにあるチェックアウトの扱いを確認し、ブランチ名だけでなくコミットIDを納品記録へ残します。

最初からHostとClientの内部構造をすべて理解する必要はありません。まず対象プラグインの変更箇所、公開API、再現用タスクを決め、変更前後で同じタスクが動くかを確認します。ビルドに失敗した場合は、依存関係を追加し続けるのではなく、変更コミット、Node.js、pnpm、エラーログを保存してから安定環境へ戻します。

05

遠隔Macの納品では「どのnpm版か」より証拠を残します

遠隔MacへDeepSeek Harnessを配備する場合、固定すべきなのは「常に最新版」ではありません。実行日に検証して問題がなかったパッケージ版を明示し、起動コマンドへ組み込み、同じ環境を再構築できることを確認します。

npm経路では、曖昧なタグのまま npx を実行するのではなく、確認済みのパッケージ版を明示する運用にします。具体的な版番号は、公開パッケージ情報と公式リポジトリの状態を照合したうえで決め、記事や納品書へ推測で記載しません。npmの package.json では、依存関係のNode.js条件を engines で示せるため、納品時にはNode.jsの実行版とともに記録します。

納品前には、次の5点を別ファイルへ保存します。

  1. Node.jsのバージョン。
  2. DeepSeek Harnessのパッケージ版、またはソースのコミットID。
  3. 起動コマンドと作業ディレクトリ。
  4. 環境変数や設定ファイルの保管場所。
  5. 基本タスクの入力、結果、実行日時、復旧手順。

新しいMacや別の遠隔環境で同じ設定を再構築し、同じ基本タスクを完了できれば、納品の最低限の再現性を確認できます。Web UIが表示されるだけでは不十分で、モデル接続、作業領域、プラグインの有無まで一致させます。

06

ソース構築に失敗したらnpmへ戻せる構成にします

ソースビルドが失敗した場合、作業ディレクトリを削除して終わりにするのではなく、安定版の起動経路を残します。最初からnpm環境とソース環境を別ディレクトリ、できれば別のMacインスタンスに分けておけば、開発中の依存関係や生成物が安定運用へ混入しません。

復旧手順は次の通りです。

  1. ソース側のコミットID、Node.js、pnpm、エラーログを保存します。
  2. 変更したプラグインやパッチを無効化します。
  3. npm側に保存していたパッケージ版と設定を呼び戻します。
  4. プラグインなしの基本タスクを実行します。
  5. 成功後にプラグインを一つずつ再投入します。
  6. 原因が本体変更か、依存関係か、設定かを切り分けます。

ソース側の最新状態をそのまま本番へ反映する運用は避けます。現行リポジトリ自身がDeveloper Previewで、互換性を壊す変更を明記しているため、更新前後の基準タスクと回退先を決めていない環境では、ソースの自由度がそのまま障害面になります。

07

チーム運用は安定用npmと研究用ソースの二軌道です

プラットフォームチームには、npmとソースのどちらか一方へ全員を寄せるより、役割を分ける構成を推奨します。安定環境は確認済みのnpm版で固定し、研究環境はソースのコミットを明示します。プラグインやコア変更は研究環境で基準タスクを通過させてから、安定環境へ段階的に反映します。

選択条件を最終確認すると、次のようになります。

  • Web UI、モデル、作業領域、基本タスクの確認だけなら、npmです。
  • 公開プラグインの利用だけなら、npmを先に選びます。
  • 外部プラグインの開発で本体を変更しないなら、独立リポジトリとnpmです。
  • HostやClientの処理、本体パッケージを変更するなら、ソースです。
  • 安定運用とコア開発を同時に行うなら、二軌道です。
  • 重要な会話や作業領域が一つの環境にしかないなら、その環境で直接アップグレードしません。

自前のMacでこの分離を行う場合、Node.jsの切り替え、依存関係の保存、アクセス制御、再起動後の復旧まで担当者が持つことになります。短期の検証や一時的な開発環境では、VNCMacのMacクラウド環境を使い、安定用と研究用を分けて構築する方が、自分の作業Macへ状態を混在させずに済みます。

現在の構成が単一のローカルMacだけの場合、試験版の更新で作業領域まで巻き込まれやすく、担当者が変わった際にNode.jsや起動方法が再現できず、障害時の回退先も不足しがちです。npmを固定した安定環境とソースを置く研究環境を分けたい場合は、Macクラウドの利用条件と運用方法を確認し、必要な期間だけ独立したMac環境を用意する判断が現実的です。