# @mi-lu-uncle/dsh-session-delete [English](README.md) | [简体中文](README.zh-CN.md) | 日本語 DeepSeek Harness(DSH)のセッション「…」メニューに**「セッションを削除」**を追加します。 DSH `0.2.0-rc.2` には**アーカイブ**(ソフト削除:非表示になるがデータはすべて保持)しかなく、本物の削除がありません。このプラグインはその欠けた入口を補い、ワンクリックでセッションとそのディスク上のデータを**完全削除**します。 ## 機能 - セッション行の「…」メニューで、内蔵のピン留め / 名前変更 / Fork / アーカイブの直後に **「セッションを削除」** を追加。 - クリックすると(セッションタイトルを表示する)確認ダイアログが出て、確定すると host 側の削除を呼び出します。 - 削除時には 3 か所のデータをまとめて掃除します: 1. セッション本体 `~/.dsh/sessions/<ワークスペース>//` 2. プロジェクションキャッシュ `~/.dsh/storages/session_projcache/sessions/.json` 3. ワークスペースインデックス内のこのセッションの登録(`sessionIds` / アーカイブ / ピン留めフラグ) - 削除に成功すると、開いている UI は**再読み込み不要**で行が消えます(`api-session/removed` イベント経由)。 - **デフォルトワークスペースの自動修復**:DSH 内蔵の「ワークスペースを削除」でうっかりデフォルトを消すと、宙ぶらりんのポインタが残り、そのセッションが「未分類」に落ちて新しいセッションも作れなくなります。本プラグインは起動時に**デフォルトワークスペースのみ**(`defaultWorkspaceId` または最後に記憶したパスで特定)を対象に、登録を再構築してセッションを元の場所へ戻します。あなたが自分で削除した他のワークスペースを「復活」させることはありません。 ## 安全性 - **実行中のセッションは削除を拒否**:DSH のアーカイブと同じ `workspace/session-activity` 検出を使い、本当に進行中の作業(会話ターン実行中、バックグラウンドタスクなど)だけを「このセッションは実行中です」と止めます。すでにアイドル状態の古いセッション(メモリ内で保持されていても)は通常どおり削除できます。 - 削除は DSH 自身のワークスペースレジストリ書き込み経路(`detachSession` / `unarchiveSession` / `unpinSession`)を通るため、永続化状態の一貫性が保たれます。 - ルートは同一オリジン検証あり。DSH の UI 自身からのリクエストのみ受け付けます。 ## インストール 本プラグインは DSH `0.2.0-rc.2` 向けで、ローカルディレクトリとして `desktop` プロファイルにリンクします: ```sh dsh plugin --profile desktop add "link:/absolute/path/dsh-session-delete" ``` その後、反映のために **DSH を再起動**してください。 `~/.dsh/profiles/desktop/package.json` を手動編集しても構いません: ```jsonc { "dependencies": { "@mi-lu-uncle/dsh-session-delete": "link:/absolute/path/dsh-session-delete" }, "dsh": { "profile": { "bundles": [ // ... 既存 ... "@mi-lu-uncle/dsh-session-delete" ] } } } ``` その後、プロファイルディレクトリで `pnpm install` を実行して DSH を再起動します。 ## 使い方 1. 左側のセッション一覧でセッションにマウスを乗せ、右側の「…」をクリック。 2. **「セッションを削除」**を選択。 3. 確認ダイアログで **「削除」** をクリック。 > ⚠️ 削除は**恒久的で元に戻せません**。本当に不要になったセッションか確認してからにしてください。 ## 制限・注意 - これはコミュニティプラグインで、DSH の公開拡張ポイント(セッションメニュースロット `sidebar.workspaces.session.menu.item` + host 側のファイル/レジストリ掃除)を利用しています。将来の DSH が公式の「セッション削除」API を提供したら、そちらを使うのが望ましいです。 - 実行中のセッションは削除を拒否されます。どうしても削除したい場合は、まずその作業を終了/アーカイブしてからにしてください。 - 全文検索インデックスは DSH の「再構築可能な読み取りモデル」であり、削除直後は一瞬古い結果が出る可能性がありますが、次の再構築で回復します。 ## License MIT