mcpField
P
plugin-upgrade

plugin-upgrade

github.com/oh-my-dsh開発305235 回インストール1 週間前に更新
リポジトリ

plugin-upgrade について

plugin-upgradeは、DSHプラグインの更新確認、インストール済みプラグインの更新、ソースリポジトリの移行を扱うスキルです。読み取り専用の調査と変更を分け、書き込みやインストールの前に計画と明示的な承認を求めます。

主な機能

  1. 01調査、プラグイン更新、ソース移行の区別
  2. 02プラグインの取得元・バージョン・互換範囲の記録
  3. 03バージョン経路に沿った移行箇所の特定
  4. 04依存関係・有効化・実行動作の検証
  5. 05変更範囲の限定とロールバック基準の記録

活用シーン

  1. 01変更を加えずに更新の影響を評価
  2. 02指定バージョンへのインストール済みプラグインの更新
  3. 03新しいDSHホスト向けのプラグインソース適応
  4. 04移行結果の検証と復旧計画

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oh-my-dsh/dsh-plugin-upgrade-skill --skill plugin-upgrade

インストール後、Claude Code で/plugin-upgradeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
examples/
01-simple-client-plugin.en.md
01-simple-client-plugin.md
02-host-side-plugin.en.md
02-host-side-plugin.md
03-client-remote-plugin.en.md
03-client-remote-plugin.md
04-dual-cohort-plugin.en.md
04-dual-cohort-plugin.md
06-real-world-batch-migration.en.md
06-real-world-batch-migration.md
07-multi-repo-batch-migration.en.md
07-multi-repo-batch-migration.md
08-real-web-client-alpha2-migration.en.md
08-real-web-client-alpha2-migration.md
README.en.md
README.md
examples/face-contracts/
check.mjs
client-remote.mjs
host-domain.mjs
README.md
examples/legacy-plugin/
cordis.patch.yml
package.json
patch.yml
README.en.md
README.md
examples/legacy-plugin/scripts/
apply-patch.mjs
examples/legacy-plugin/src/
index.ts
references/
api-migration-0.1.2-alpha.2.md
host-plane-probes.md

詳細

English | 简体中文

plugin-upgrade

次の3種類のタスクを安全に処理します:読み取り専用の更新確認、インストール済みプラグインのアップグレード、DSH ホストのバージョン互換性の移行です。ユーザーの意図が不明確な場合は、まずモードを確認してください。「更新を確認してほしい」という依頼を、インストールやコード変更に進めてはいけません。

注:references/ 以下のバージョンカードと参照ドキュメントは英語です。カード ID と引用するコマンドは言語に依存しません。

ステップ 0:モードを選択する

モードユーザーの意図デフォルトで許可される操作
A · 調査更新を確認する、または DSH リリースの影響を評価する読み取り専用で調査して報告し、その後終了
B · 更新インストール済みプラグインを明示されたバージョンにアップグレードする構成や依存関係を変更する前に計画を立てて確認する
C · 作成者による移行新しい DSH ホスト向けに、プラグイン作成者のソースリポジトリをアップグレードするベースラインを作成し、バージョン対応範囲とタッチポイントの一覧を作成してから、承認された移行を実施する

このスキルは、「DSH コアのみをアップグレードし、プラグインには手を加えない」作業には対応しません。また、プラグインの非互換性を隠すために DSH コアを変更してはいけません。

DSH ホスト全体のアップグレード(エージェントの注意事項)

DSH ホスト自体のアップグレード(npm install -g @deepseek-ai/dsh@…)は、モード B/C のプラグイン作業ではありません。また、依頼を受けたエージェントが DSH セッション内で動作している場合、構造上、致命的な問題が発生します。セッションはホストプロセスそのものであり、npm は実行中のパッケージツリーを削除・置換するため、インストール中にホストが停止します(ツール呼び出しは返りません)。さらに、中断されたインストールでは、パッケージの内容は残っていても shim が再生成されないため、外部からバージョンを固定して再インストールするまで dsh コマンド自体が使えなくなります。そのホスト上のセッション内から、グローバルなホストアップグレードを決して実行しないでください。ユーザーには、外部で次の手順を実施するよう案内してください。

  1. 実行中のすべての dsh プロセスを完全に停止します(実行中のホストはネイティブモジュールのファイルロックを保持するため、EBUSY が発生します。ブラウザーを再読み込みしてもホストは停止しません)。
  2. 外部ターミナルから、バージョンを固定してインストールします。 npm install -g @deepseek-ai/dsh@<exact-version>(パッケージ名のみを指定すると latest ディストタグに解決され、気付かないうちに古い系列へダウングレードする可能性があります)。
  3. dsh web を再起動し、ブラウザーを強制再読み込みして、バージョンの表示とプラグインを確認します。

npm の実行前にホストは完全に停止しているため、インストール中にクラッシュすることはありません。アップグレード中のクラッシュは許容すべきリスクではなく、手順を誤っていることを示すものです。すでにインストールが中断されている場合は、外部シェルからバージョンを固定した正式なインストールを再実行して修復してください(パッケージディレクトリを手動でコピーしたり、shim を手書きしたりしてはいけません)。

共通の読み取り専用準備

  1. AGENTS.md/CLAUDE.md など、対象リポジトリのルールを読み、ブランチ、HEAD、作業ツリー、サブモジュールを確認します。見慣れない変更や未追跡ファイルがあれば、そこで停止して報告します。自動で stash、reset、clean、checkout を実行してはいけません。
  2. ソースの識別情報とインストールの識別情報を分けて記録します。レジストリパッケージ、Git チェックアウト、ワークスペース/ジャンクション、コピーされたインストールのいずれかを記録し、ソースリポジトリ/URL、Git SHA、実際のパッケージ名、プラグイン独自のバージョン、宣言済み/解決済みの DSH 依存コホート、現在の DSH/Node バージョンを記録します。プラグインのリリースバージョン(例:0.6.4 → 0.7.0-alpha.0)は、DSH ホストの対応範囲(0.1.0-rc.6 → 0.1.2-alpha.4)ではありません。GitHub のオーナー/リポジトリと、レジストリのスコープ/パッケージは別々の識別子です。一方から他方を推測したり、書き換えたりしてはいけません。
  3. ファイルの所有境界を守ります。
    • package.json/ロックファイル:パッケージと依存関係
    • dsh-plugin.json:コミュニティ標準のマニフェスト(採用している場合)
    • cordis.patch.yml/agent.cordis.yml/旧形式の cordis.yml:プロファイルの構成
    • 解決済み設定:実行時の構成結果。検証にのみ使用し、オブジェクト全体をファイルに書き戻してはいけません。
  4. 対象バージョンのソース、タグ/パッケージ名、互換性範囲、リリースノート、インストールスクリプト、既知の破壊的変更を確認します。トークン、.npmrc の内容、認証情報、セッションログを読んだり、表示したり、コミットしたりしてはいけません。
  5. ロールバックの基準となる状態を記録します。現在の HEAD/パッケージバージョン、ロックファイル、変更される可能性がある設定のハッシュ/パスを記録します。復旧方法の説明は、このタスクが明示的に所有するパスに限ります。任意のサードパーティ製スクリプトによる副作用のロールバックを約束してはいけません。

モード A · 調査(読み取り専用)

現在の/入手可能なバージョン、ソース、互換性範囲、破壊的変更、推奨する対象バージョン、リスク、検証計画を報告します。ファイルの編集、依存関係のインストール、ライフサイクルスクリプトの実行、git pull、バージョンの切り替えは行いません。ユーザーが実行を決めた場合は、別途確認を得てからモード B または C に進みます。

モード B · 更新(インストール済みプラグインのアップグレード)

  1. 解決済みのパッケージ識別情報とインストール経路に合った更新方法を1つ選びます。ロックファイルがある場合は、そこに指定されたパッケージマネージャーのみを使用します。npm/pnpm/bun を混在させたり、GitHub のオーナー名に合わせてレジストリパッケージ名を書き換えたりしてはいけません。
  2. 変更計画を作成します。対象のバージョン、実行するコマンド、変更されるファイル、実行される可能性のあるライフサイクルスクリプト、設定の移行方法、ロールバック手順を明記します。
  3. 既知の破壊的変更がない場合でも、書き込みやインストールを実行する前に、ユーザーから明示的な確認を得ます。
  4. 専用のブランチ/ワークツリーで最小限の変更を行います。パスを指定して設定にパッチを適用し、不明なフィールドは保持します。Git ソースの場合は、まず明示的なタグまたはコミットを取得して比較します。変更のあるワークツリーで git pull を実行してはいけません。
  5. 依存関係のインストールに成功しても、DSH でプラグインが有効になったとは限りません。対象プロファイルの構成が実際に対象パッケージへ解決されることを検証し、このアップグレードに属する古いソース行があれば削除して、実行時エントリが有効であることを確認します。
  6. 「検証と報告」を実施します。失敗した場合は、このタスクが所有するパスのみを復元し、残存する副作用を報告します。

モード C · author-migrate(DSH アップグレードを伴うプラグインソースリポジトリの移行)

  1. まずベースラインを実行します。リポジトリ本来の依存関係の状態(ターゲットの固定なし、ターゲット環境なし)で機械的なテスト一式(ビルド/型チェック/テスト)を実行します。これらはパッケージスクリプトを実行するため、安全境界に従って実行するコマンドを先に提示し、確認を得てください。既存の失敗は免除リストとして記録します(references/rollup-0.1.2.md の R-06 を参照。後続の移行区間も同じパターンに従います)。移行によって失敗を追加したり、悪化させたりしてはなりません。既存の失敗はベースラインに基づいて免除されます。
  2. from/to のタグを正確に確認します。references/README.md の from → to メタデータに従ってバージョン移行区間をつなぎます。ファイル名の辞書順は使わないでください。ソースが最も古いカードより前のバージョンの場合、その区間を未サポートのギャップとして明記し、正確なタグのソース、パッケージ化された宣言、再現可能なテストから導き出してください。後続のカードがその区間をカバーしているかのように扱ってはなりません。
  3. 移行区間全体を先に読み、最終的な差分を計算します。中間バージョンで削除され、ターゲットバージョンで復元されるフィールドは、削除してから追加し直さないでください。
  4. pre-flight.md に従って、7 つのタッチポイント分類をスキャンします。ソースパッチ、イベント、サービス/Remote、ホストファイルシステム、UI/コマンド/ツール、カスタムチャネル、サブプロセス/出力です。まず読み取り専用の 移行プランナー を実行してパス/行番号と候補カードを生成してもかまいませんが、その結果はあくまでヒューリスティックです。該当箇所がゼロでも、依存関係/インポートの確認とビルド、および実際のマウント実行が必要です。
  5. 該当するタッチポイントと実際の対象(Host/Web Client/通常のプラグイン)に合致するカードだけを残します。カードは厳選された一覧であり、API 差分を網羅するものではありません。移行区間の境界や API の位置情報が欠けている場合は、記憶を頼りに変更せず、未サポート/保留として明記してください。
  6. ソース移行計画を Host/Web Client の境界ごとにまとめ、該当ファイル、カード、ターゲットの動作、テストを記載します。専用ブランチ/ワークツリーで実装する前に確認を得てください。package.json とロックファイルで DSH のバージョン群を正確かつ一貫した状態に保ってください。古い peer と新しい peer が混在した状態でインストールに成功しても、移行とはみなせません。セレクターまたはコールバックが予期せず any になった場合は、skipLibCheck: false で診断用の型チェックを 1 回実行し、使用する宣言を所有するパッケージを直接宣言してください。capability カードは提案にすぎません。自動的に採用してはなりません。
  7. 互換性に関する変更が合格した後、プラグイン独自の SemVer バージョンアップを別途選択して適用します。パッケージ化されたファイル名とパッケージ化されたマニフェストの両方に、そのプラグインのバージョンが記載されていることを確認してください。誤って DSH ホストのバージョンをプラグインのリリースバージョンに使わないでください。削除された dsh-client-runtime、キー付きチャットスナップショット、コマンド実行シグネチャ、または Workspace ナビゲーション(connectWorkspace / pickDirectory)については、alpha.2 API 台帳 と DSH-0.1.2-A1-32 を参照してください。

安全境界

  • ファイルへの書き込み、インストール、バージョンの取得/切り替え、またはパッケージスクリプトの実行の前に、計画を提示して確認を得てください。
  • 自動的な stash/reset/clean/強制更新を行わず、ユーザーや他のエージェントの作業を上書きしないでください。
  • 認証情報を公開しないでください。診断で報告できるのは、設定されているかどうか、および機密性のないバージョン/ソース情報だけです。
  • 不明な gateway/internal やその他の失敗を、既定で再試行しないでください。エラーが再試行可能で、操作が冪等であり、ポリシーで許可されている場合に限り再試行してください。
  • 一次情報源または再現可能な動作から移行方法を高い確信をもって判断できない場合は、自動変更を停止し、「要レビュー」として明記してください。
  • ローカルでの観察結果が一次情報源と矛盾する場合は、両方を記録し、再現して報告してください。どちらか一方を黙って選ばないでください。

検証と報告

少なくとも該当するレイヤーを検証してください。

  1. 依存関係の解決:パッケージマネージャー、ロックファイル、依存関係グラフの変更が想定どおりであることを確認します。トップレベルの依存関係だけでなく、ロックファイル全体を対象に、以前の DSH コホートと削除されたパッケージを検索してください。
  2. 有効化の解決:対象プロファイルの構成が想定するパッケージ ID を参照し、以前のソースや重複した行がないことを確認します。
  3. 静的検証:ビルド、型チェック、プラグインテストを実行します。alpha.2 コリドーでは、references/precision-checklist.md の項目を完了し、型宣言とランタイムのモジュール/サービス有効化を分離するとともに、Connection の認証ゲート適用時に既存のチャネルプロトコルを維持してください。
  4. ランタイム:実際の DSH プロファイルをコールドスタートします。エントリーが有効化され、必要な Cordis サービスと提供される Cordis サービスが保留状態のままにならないことを確認してください。verify-runtime.mjs は隔離されたプロファイルでこのレイヤーをエンドツーエンドで実行し、失敗の原因(plugin-code/dependency-resolution/profile-config/dsh-runtime)を報告します。Web Client プラグインの場合は、出力されたトークン URL と Cookie を交換し、ホストのブートマニフェストを読み取り、通知されたクライアント成果物をリクエストして、単なる HTTP 200 の受信ではなく、登録とマウントを確認してください。
  5. 動作:プラグインの主要な処理経路を 1 つ実行します。ホストのマイグレーションでは、少なくともメッセージ → ツール → 応答の一連のフロー、またはそれに相当する専用フローを完了してください。
  6. ラッパー:終了コード、stdout、stderr、キャンセル、ティアダウンを検証します。

レポートは次の構成にしてください。

  • 既存の問題(Mode C ではベースライン実行時の結果を記載し、その他のモードでは「未収集」と記載):ベースラインで発生したエラーの一覧(未変更であり、このマイグレーションには起因しないもの)。
  • 完了:バージョン、ファイル、カード、検証。
  • スキップ:該当しなかった項目、または適用対象外の項目とその根拠。
  • 保留中/残存リスク:ソースの不足、未テストのプラットフォーム、ライフサイクルスクリプトの副作用。
  • ロールバック:記録済みのベースラインと復旧可能な手段。
  • 推奨事項:任意の機能と、公開されたシームへの移行に向けたフォローアップ作業。

参考資料

ファイル目的
references/README.mdバージョンの対象範囲、カードのスキーマ、メンテナンスルール
references/pre-flight.md7 クラスのタッチポイント自己チェックと概要テンプレート
references/troubleshooting.md移行後の症状 → 根本原因 → カードの参照
references/v0.1.1-rc.1.mdrc.8→rc.1 のドラフトカード:repository-plugins の仕組みの削除、dshClient→dsh.client のマニフェスト統合、client-modules のスキャンからバンドルの dsh.client への移行、strict injection + weak ctx.get、セッションイベントの契約、クライアントによるセッション集約の自己レンダリング、tasks.peek の削除、0812 サービスの名称変更(vlln プラグインの移行。対象範囲は、内部の 0810~0812 スナップショット期間に最も近い公開済みタグとの対応)
references/v0.1.1-rc.2.mdrc.1→rc.2 のレビュー済みカード(3 件、DSH-0.1.1-R2)
references/v0.1.2-alpha.1.mdrc.2→alpha.1 の厳選カード
references/v0.1.2-alpha.2.mdalpha.1→alpha.2 の厳選カード
references/v0.1.2-alpha.3.mdalpha.2→alpha.3 の厳選カード(2 件):オプトインのデータベースではエクスポートに古いビルドが必要となる、オプションの SQLite Session-persistence プロバイダーの削除(DSH-0.1.2-A3-02)と、追加機能である settings.plugin.item のキー付きスロット設定カード機能(DSH-0.1.2-A3-01)。検証記録も含みます
references/v0.1.2-alpha.4.mdalpha.3→alpha.4 の厳選カード(6 件):report ツールパッケージを削除して send_message に移行、Python code-runtime パッケージの名称変更、Session.events を seq/eventAt/snapshotEvents に置き換え、ブランド型の SessionSeq/SessionLogOffset + seedLength→isSeeded、PTC プリセットから workflow を削除、ベースバンドルで web_fetch を有効化。3 つのホストでの検証記録も含みます
references/v0.1.2-alpha.5.mdalpha.4→alpha.5 の厳選カード(3 件):ストレージドメインに、読み取り許容範囲を指定するオプションの compatibleVersions と、データを救出する invalidRecords: 'backup-and-skip' を追加。rc.2/alpha.3 時代のホームで起動に失敗する、または alpha.4 でセッションタイトルが消える問題へのホスト側修正。ストレージ層での再現記録も含みます
references/v0.1.2-rc.1.mdalpha.5→rc.1、0.1.2 シリーズ最初のリリース候補(カードなし:純粋なバージョン更新で、プラグイン向けの変更はありません。検証記録と、rc.1 の概要を対象範囲のカードに対応させたリリースノート網羅性マトリックスを含み、補完候補も記載)
references/v0.1.3-alpha.1.md0.1.2-rc.1→0.1.3-alpha.1 のカード(8 件):A1-01/A1-02 のセッションログの対象範囲は、リリース tarball ビルド 0.1.3-alpha.1-9523542 で測定(v0→v1 セッションマイグレーターは 0.1.2-alpha.x の書き込みログを拒否します。トップレベルの replayState.kind/version: 1 があり、alpha.4 より前の書き込み履歴はすべて読み込み不可です。失敗時は閉じる方式で、ソース成果物は変更されません。バージョンをまたぐ resume は cursor behind the last applied entry を報告し、タグの対応付けは保留中);A1-03 MSVC がない場合に fs-ext のネイティブビルドで Windows インストールが失敗。pnpm-patch の手順、単一ホストでの現場報告;A1-04…A1-06 は git タグに基づく:アウトバウンド HTTP(S)/ALL_PROXY によるブートストラップインストール(dsh-http-proxy、ホーム層の $DSH_HOME/.env)、セッション永続化の SessionHandle + 非同期 agentLoop.create() + セッションごとのロック、Session ログ形式 v2 + 公開済み移行カタログ;A1-07/A1-08 未公開コホートのソース起動手順 + composer/read_image ランタイムの再検証
references/v0.1.3-alpha.2.md0.1.3-alpha.1→0.1.3-alpha.2 の厳選カード(5 件):ペルソナをプレフィックス + サフィックスに分割(text/persona キーと PERSONA_SECTION を削除)、SubprocessHandle.pid を削除、ベースバンドルから tool-str-replace-editor のデフォルト行を削除、ランチャーの runCli()/import.meta.main ゲート、pi-ai の ^0.84.2→^0.85.1。npm での最初の 0.1.3 ビルド(alpha.1 の項目が npm アップグレードで初登場)
references/v0.1.5-alpha.1.md0.1.3-alpha.2→0.1.5-alpha.1 の厳選カード(20 件、バージョンジャンプの区間):Session ログ形式 V3(session-format-v2-to-v3、EpochHeader.system を削除、ダウングレード時の読み取り不可)、ctx.agent の削除 + 明示的な AgentSetup(agentCtx, agent)/parentAgent、agent.inbox の Inbox 型インターフェース、セッションイベントペイロード検証の厳格化、PTC 用語の名称変更、token-meter エクスポートの削除 + contextBreakdown stateVersion 4、メッセージ履歴のシステムプロンプト、転送されるスコープ付き Remote イベントに Agent が必須、CLI で --profile desktop を拒否、--from-default-profile/loadProfileDirectory()、workspaceFiles/readByteRange//api/file のファイルサーフェス + ファイルアドレス用ヘルパー、goal/activation-changed + 一時停止中のゴール再開拒否、fs-ext→node-addon-system のパッケージング、Web Client の details→rightbar 改修、インジェクションサーフェスのシグネチャ変更、右サイドバー/リソースの拡張ポイント、サイドバーからのファイルオープン、tool-subagent にスコープ付きプリセットが必須、ホストの SSH/ディレクトリーピッカー/指示検出の接続点;A1-20(実ホストで検証):npm グローバルのインプレースアップグレードでは、新たに追加されたバンドルモジュールが欠けたクライアント構成をクライアントに提供する場合があります。モジュールが 1 つ欠けると、すべてのクライアントプラグインの登録が失敗し、ホストを再起動すると構成の不一致は自動修復されます
references/v0.1.5-alpha.2.md0.1.5-alpha.1→0.1.5-alpha.2 の厳選カード(24 件):workspaceFiles から Typert の workspaceFileScope 用に最初の Agent 引数を削除(クライアントリソース型、reload/restat、absolute スコープ認可)、ファイル読み取りをワークスペースルート外にも拡張し maxFileBytes 上限と readAll/readRelated を追加、conversation スロットをルートスコープの main 配下に移動し sidebar.panellist を追加、最小プロファイルを永続シェルのみに変更、無視できない 2 つのセッションイベント(deliverables/presented、subagent/catalog)、dsh-llm-pi-ai の設定/型変更、スコープ対応のツールガイダンス、present/reveal 配信サーフェス、ドキュメントプレビュー + ui-sidebar-textpreview→ui-sidebar-documentpreview、新規の chunked-list/tool-present パッケージ、MCP ページネーションカーソルの拒否、session-format-status ドキュメント;クライアント/パッケージングのカード:rightbar のルートスコープ + rightbar.session とレイアウトサービス/ストアの書き換え(selectPanel、beginNavigation、usePanelInfo)、client-resources から reload を削除、ui-primitives の FileTypeIcon/classifyFileType、ui-dockkit の契約のずれ、ui-message-feedback のインジェクションサーフェス、ui-workspace の openSession/openWorkspace/forkSession、ChatFileMentions.forClosing(owner, sessionId) + deliverables のターン末尾、ブラウザー専用依存関係を devDependencies に移動、ctx.documentPreviews レジストリ、ActionSpec コマンド、command-feedback サブパス + sessionFeedback Host Remote、遅延読み込みのサイドバー既定ページ/クローズルール;2026-09-09 から npm で公開済み
references/v0.1.5-rc.1.md0.1.5-alpha.2→0.1.5-rc.1 の厳選カード(5 件):ベースバンドルの既定エージェントモデル ID を deepseek-flash に変更、deepseek-flash(V41 Flash)を画像入力、systemPromptUpdate: 'in-history'、ゲートウェイプローブなしでアダプターカタログに追加、ドキュメントレンダラーに必須の scrollportRef を追加、サイドバーのガイドエントリーにオプションの description を追加、否定的証拠 + 17 リポジトリでのフリート検証記録。この区間は 17 コミットです
references/v0.1.5-rc.2.md0.1.5-rc.1→0.1.5-rc.2 のドラフトカード(6 件):フィードバックサーフェスのインジェクション契約から toggle/acknowledge を削除、openDialog に必須の rating を追加し MessageFeedbackToggleResult をエクスポートから削除(まだオープンなプルリクエストにある alpha.2 のフィードバックカードのインジェクション部分に取って代わります)。どちらの評価もダイアログで確認するようになり、送信に失敗すると 6 秒間の警告トーストが表示されます;FileTypeIcon の 48 個のコードカテゴリ別アイコンを、インスタンスごとの dsh-code-icon-* ID を使うインジェクション可能なデザインエクスポートのアートワークに移動;完了したターンのフッターとファイルセクションの間隔を 20/16/20px の契約に変更;両言語で service-stability のラベルを変更;また、この区間では Host プレーンのパッケージが変更されていないことを示す否定的証拠を記録(334 ファイル中 272 ファイルはバージョン文字列)。注:npm の latest はまだ 0.1.5-rc.1 を指します。rc.2 は next にあります
references/v0.1.6-alpha.1.md0.1.5-rc.2→0.1.6-alpha.1 のドラフトカード(38 件、ここで扱う中で最も幅広いカード区間:800 コミット / 4015 ファイル)。Host:agent/session-start を削除し、agent/created をシリアル化して await するよう変更、assertEntries* のペアを auditStartupEntries に置き換え、セッションイベントの読み取りを非推奨化、純粋インタープリターが登録されていない場合は拒否する registerMessageProjection()、session-log-deepseek が既定でアップロードするよう変更。ランタイム:codeRuntime→ptcRuntime と resolve/run の分割、非同期の SandboxProvider.confine と ShellExecutor.start、サブプロセスの terminalEnvironment() + オプションの制御チャネル、ワーカースレッドプロバイダーを workflow-ptc に置き換え、MCP 2.0 SDK、新しい ctx.mcpResources および ctx.ssh 機能。LLM:アダプターは画像を投影する代わりに IMAGE_OFFLOAD_REQUIRED を報告、deepseek-official は既定で Anthropic Messages プロトコルを使用、画像を v41 トークングリッドに移動、投影の stateVersion 5、AssistantProvenance→AssistantProviderMetadata。Web Client:producer/provider の名称変更、必須の CommandClaim.name、新しい conversation.input.permission とキー付きガイドエントリスロット、ConnectionIndicator.reconnectLabel の削除、コンテキスト対応差分、?fixture モードを assembly tier に置き換え。構成/パッケージング:ベースから workflow-worker-thread を外し ptc-runtime + workflow-ptc に置き換え、image-offload(読み取り時必須の image/offload)と mcp-resources をマウント、tool-ralph を既定で無効化、Web バンドルから code-runtime の行を削除、+22/−7 のパッケージ台帳、ヘッドレスの --session-id/--json、公開パッケージマニフェストの再構築、実験的公開を許可リストから拒否リストに切り替え、node-addon-require-builtin の下限を ^0.1.4→^0.1.6 に変更;SESSION_FORMAT_VERSION(3)、エンジンの下限バージョン、ランチャーの CLI 文法が変更されていないという否定的証拠
references/v0.1.6-alpha.2.md0.1.6-alpha.1→0.1.6-alpha.2 のドラフトカード(4 件):複数インスタンスの Session 参照に伴い SessionListState.current を削除。ctx.uiSession.adapter.current.getSnapshot()(両タグで動作)または retainedBy.mainView マーカーを使ってメイン Session を解決;GlobalStandardProps で useSessionPendingInteraction を useSessionStatus + useSessionRetainInfo に置き換え、useSessions は維持;新しい plugin-manager サービスがプロファイルバンドルを管理(dsh.profile.bundles + pnpm)し、行の切り替え設定をプロファイルの cordis.patch.yml に書き込む。リンクインストールされたプラグインはこのバンドル管理の対象外であることを示す一次証拠あり;npm 公開が GitHub リリースより遅れる(E404 の期間)。最初に 0.1.6-alpha.1 のカード を読んでください
references/v0.1.7-alpha.1.md0.1.6-alpha.2→0.1.7-alpha.1 のドラフトカード(10 件):クライアントプリミティブのアイコンセットからすべての *16 エクスポートを削除し、*Medium/*Regular バリアントに移行(エクスポートが欠けると React #130 によりスロットエントリー全体が消えます)、workspaceFiles の読み取りを readBytes に統一、設定を現在の Profile のプラグイン設定に移動して settings.yaml を一度だけインポート、バンドル宣言のエージェントプリセット、バッチ移行ツールを備えたセッションログ V4、公式 DeepSeek アダプターを Messages API 専用に変更、順序付き複数パッチバンドルと no-reload 設定フィールド、寛容な Profile 読み込み、ロケール対応プラグインメタデータ、カスタムイベントの添付ファイルを自動読み込みしないよう変更。直前の区間 0.1.6-alpha.1→0.1.6-alpha.2 は別途カード化されています
references/v0.1.7-alpha.2.md0.1.7-alpha.1→0.1.7-alpha.2 のドラフトカード(4 件):spill-policy の maxInlineBytes を maxInlineTokens に変更し、共通の先頭/末尾トークン予算を使用、ベンダー化された依存関係の自動更新を同一マイナー内のパッチに固定、最初のプラグインインストール時に応答性が最も高い npm レジストリを自動選択、ホスト起動時にクライアントバンドルをキャッシュ(インストールツリー内のクライアント編集にはホストの再起動が必要)する一方、Web ページはサーバー再起動後に再接続
references/v0.1.7-rc.1.md0.1.7-alpha.2→0.1.7-rc.1 のドラフトカード(5 件):インストール時と起動時に DSH の peer 範囲を適用し、<profile>/compatibility.json の完全一致バージョン例外を利用します。ホストの semver ^7.8.5(7.8.3 からキャレットが変更)と includePrerelease の場合、^0.1.7/~0.1.7/>=0.1.7 は 0.1.7-rc.1 を拒否し、--dump-config には拒否された行も引き続き表示されます;tool.call.toolview の owner を preparing/start/result のフェーズ共用体に変更し、argsRaw は開始済みの呼び出しにのみ適用;Conversation Definitions が一時的な開始を受け入れるよう変更;作業詳細の設定に 4 つのモードを追加(既定は standard);Plugin Manager で無応答の pnpm 実行時間に上限を設け、GitHub への到達性を事前チェック
references/v0.2.0-rc.1.md0.1.7-rc.2→0.2.0-rc.1 のドラフトカード(6 件):ホストパッケージが 0.2.0-rc.1 に移行するため、^0.1.x を下限とするすべての DSH peer が拒否され、^0.2.0 も 0.2.0-rc.1 を許可しません(^0.1.0 || ^0.2.0-rc.1 または ^0.2.0-rc.1 を使用);Web の作業詳細は既定を detailed に変更し、オプションの transcriptView を追加;Schedule の行を @deepseek-ai/dsh-experimental-schedule-bundle に移動;テレメトリーの行をバンドル構成に追加;fork に onCreated を追加;Explorer のパスを開く処理が画面に表示されるように変更。直前の 0.1.7-rc.1→0.1.7-rc.2 区間はまだカード化されていません(対象範囲の欠落)
references/v0.2.0-rc.2.md0.2.0-rc.1→0.2.0-rc.2 のドラフトカード(3 件):実際の Desktop 0.2.0-rc.2 インストールで確認した Desktop ランナーサーフェス。Electron シェルは host/origin/cookie/sec-fetch-site を削除した後、レンダラーリクエストを dsh-app://app 経由で転送し、WS の origin を書き換えます。そのため、肯定的なブラウザーマーカーを必須とするプラグインフェンスでは、すべてのルートが 403 になります(プラットフォームフェンスの信頼セマンティクスに合わせて調整してください);以前の 2 件の現場メモをカードに統合(Desktop の ctx.sessions レジストリが空 — 上流の議論をリンク、Windows での最小 subprocess PATH);帰属先不明の現場メモ:readSession のシード済みセッション再生検証
references/jump-0.1.5-rc.2-to-0.1.7-rc.1.md0.1.5-rc.2→0.1.7-rc.1 のバージョンジャンプ用厳選カード(34 件、DSH-0.1.7-J1):ホスト/ランタイム面 — インストール時と起動時の DSH peer 互換性適用と完全一致バージョン例外、PTC ランタイムの名称変更(codeRuntime→ptcRuntime、Node エンジンを別プロセスに分離)、宣言型エージェントプリセット(dsh-agent-presets の分割)、プロファイルのプラグイン Config への設定移行(settings.register を削除)、Session ログ V4 + session-format-v3-to-v4 + 添付ファイルキャリアの範囲縮小、Remote の全二重/バイナリー対応 + readBytes、非同期 Agent ライフサイクル(agent/session-start を削除、agent/created に source を追加)、Message ロール共用体 + createSystemMessage(text)、Messages 専用 DeepSeek アダプター(/anthropic)、サブエージェントの Config/深度、E2B の削除 + POSIX SSH プロバイダー、Ralph をオフ、トークン予算付き spill-policy、読み取り専用 tool-cordis、バンドルの順序付きパッチリスト、パッケージ名称変更の台帳、新しい CLI/ヘッドレスサーフェス、Agent Team の単一バンドル、実験的な音声/ブラウザー/コンピューター操作、バンドル版 LibreOffice + パッケージアプリに必要な Node、MCP リソース、セッションログのプライバシー既定値;Web Client 面 — toolview の preparing フェーズ、chat-node/turnTail の再構成、presentation-policy チャネル、*16→*Regular/*Medium のアイコン名称変更、settingsScope→configForms、右サイドバーのタブ契約、新しいサイドバーパッケージ、コンポーネントファクトリー、プラグインマネージャーページ + pluginManager Remote、ModelDirectory.select の結果、ui-cordis の @pluginId 削除、セッション行のアクションスロット、2 つの新しい設定ページの領域(settings.launcher、settings.models.sign-in)。各区間の 0.1.6/0.1.7 カードファイルでは同じ期間を区間ごとに扱っています。このファイルはジャンプビューであり、対象範囲の区間ではないため、plan-migration.mjs では読み込まれません
references/api-migration-0.1.2-alpha.2.mdrc.2→alpha.2 の正確なインターフェース台帳。API、Remote、Settings、イベント、Headless、パッケージング、構成の各サーフェスに触れる場合に参照してください。削除されたクライアントランタイムとキー付きチャットスナップショット(API-10)を含みます
references/rollup-0.1.2.md0.1.1 → 0.1.2 の対象範囲(ロールアップ):異なるコホート間の共存、未公開コホートのインストール、RemoteResult のエラーフロー、移行前ベースラインの帰属、起動競合に対する回数制限付き再試行、ベースのみのプリセットの前提条件、型サーフェスのエクスポートのずれ、ホスト自身の安全境界、インストールチャネルの落とし穴(ミラーの遅延、pnpm 11 のサプライチェーンルール、peer 下限のプレリリースセマンティクス)、段階的な検証チェックリスト。rc.1 に基づき、最終リリース時のレビューが必要です
references/precision-checklist.mdAlpha.2 の静的移行精度チェックリスト:peer の下限、ランタイムモジュール構成と型宣言の関係、ロケールの組み合わせ、プロトコルを維持したチャネル認証、反映の規律と引用。残存コード/peer のチェックには scripts/inject-lint.mjs を併用し、ルートレビューの手動確認候補も参照してください
scripts/README.md実行可能なヘルパースクリプト:plan-migration(読み取り専用の移行プランナー)、verify-runtime(オフラインのランタイム契約チェッカー)、ghost-host-check(事前チェックのステップ 1.5 用ゴーストホスト判定ツール)
examples/legacy-plugin/7 つのタッチポイントクラス用の静的フィクスチャ(実行しないでください)
examples/08-real-web-client-alpha2-migration.mdサポート対象外の古い対象範囲の区間から実際の Host + Web Client ソースを移行する例
規範的な背景については、dsh-community-standardがマニフェスト、コントラクトの座標、ネゴシエーションの規約を定めています。このスキルはその分類を再定義せずに再利用し、既存のプラグインを実践的にアップグレードします。公式のコントリビューション募集はdeepseek-harness discussion #5120です。

コメント