ホームへ戻る

AI 開發工具

DeepSeek Harness rc.2のnpmタグ分裂:メインプログラムは最新版、しかしプラグイン開発では0.0.xを取得する可能性

DeepSeek Harnessのメインパッケージでは`latest`がすでに0.1.1-rc.2を指している一方、複数の基盤パッケージでは依然として初期バージョンが最新版として指定されている。プラグインAPIを直接インストールすると、peer dependencyの競合が発生したり、バージョンが食い違った依存関係ツリーが警告なしに構築されたりする可能性がある。

Unknown authorUnknown author · Public domain · Image source
zh-Hant

DeepSeek Harnessは8月21日に0.1.1-rc.2をリリースし、公式ランチャー`@deepseek-ai/dsh`のnpm `latest`も同バージョンに更新された。しかし問題は、プラグイン作者が直接参照する粒度の細かいパッケージにある。コミュニティが8月23日にregistryを確認したところ、`dsh-agent`、`dsh-tools`、`dsh-llm`、`dsh-scope`、`dsh-session`などのパッケージではrc.2が公開済みであるにもかかわらず、`latest`はそれぞれ0.1.0-rc.6または0.0.1-rc.1のままだった。他のパッケージページでも同じ傾向が見られ、新版には`next`だけが付与され、旧版が引き続き`latest`を占有している。

これは単なる表示上の不具合ではない。[再現可能な報告](https://github.com/deepseek-ai/deepseek-harness/discussions/4222)によると、先に`dsh-agent`をインストールし、その後`dsh-tools`をインストールすると、旧版のtoolsがagentの`^0.0.1-rc.1`を要求するため、npmは`ERESOLVE`で処理を中止する。一方、両方を一度にインストールすると、peer dependencyの警告が上書きされる可能性がある。最も危険なのはtoolsだけをインストールするケースだ。コマンドは警告なしで完了するものの、取得されるのは0.0.1-rc.1と、さらに古いagentであり、開発者がすでに変更された型やライフサイクルインターフェースに基づいてプラグインを実装してしまう恐れがある。

現時点で実行可能な対策は、直接参照するすべてのHarnessパッケージを0.1.1-rc.2などの同一バージョンに明示的に固定し、lockfileをコミットすることだ。また、インストール前には`--legacy-peer-deps`で不整合を隠すのではなく、`npm view <package> dist-tags versions peerDependencies`で確認すべきである。[npm registry](https://www.npmjs.com/package/%40deepseek-ai/dsh-llm-deepseek?activeTab=versions)ではrc.2パッケージが実際に存在することを確認できるため、現在の証拠からは新版の成果物が欠けているというより、公開時のタグが同期されていない可能性が高い。公式のルートランチャーは必ずしも同じ影響を受けないが、HarnessをSDKとして利用するプラグインプロジェクトでは特に慎重な対策が必要だ。メンテナーはまだこのディスカッションに回答しておらず、タグはいつ修正されてもおかしくない。

出典

  1. npm `latest` dist-tags look out of sync across the @deepseek-ai packages
  2. DeepSeek Harness v0.1.1-rc.2