前言¶
在 DeepSeek Harness(DSH)裏跑 Agent,一輪對話裏往往會連續執行 pip install、npm install、git clone、下載模型或拉起帶獨立 profile 的瀏覽器。裝完之後,磁盤上多出來的目錄往往很難和「哪次會話、哪條命令」一一對上;只看某一個目錄的大小,也說不清是臨時垃圾還是可以長期保留的依賴。
dsh-install-radar(倉庫 cccc11f3/dsh-install-radar)面向這個問題:把「會話命令證據」「監視根目錄快照對比」「按時間窗口掃盤」三條線索疊在一起,在側欄和 Agent 工具裏給出體積、路徑、創建時間、用途說明,以及清理時的風險分級。下面按安裝、界面、工具和 CLI 說明怎麼用。
這是什麼¶
插件全名 dsh-install-radar,簡介爲 Session install radar for DeepSeek Harness(package.json 中進一步說明:按會話記錄 Python / npm / git / winget 等安裝,並附帶「爲什麼裝」「刪掉會怎樣」)。維護者 GitHub 用戶 cccc11f3(package.json 作者字段爲 YG),許可證 MIT,當前包版本 1.0.0,要求 Node >= 20,DSH 引擎 >= 0.2.0-rc.1。分類上屬於帶 客戶端 能力的 DSH 插件(側欄面板 + cordis.patch.yml 注入)。
社區目錄頁:skillhub.cn/plugins/cccc11f3/dsh-install-radar。目錄與 GitHub 由社區維護,不等同於 DeepSeek / 幻方官方應用商店。
核心思路:三路證據¶
README 用表格說明三路來源各自能回答什麼、邊界在哪裏。大意如下:
| 來源 | 作用 | 侷限 |
|---|---|---|
會話日誌歸因($DSH_HOME/sessions/**/session.v*.jsonl.zstd 裏的 tool/call) |
哪次會話、哪輪、哪條命令裝了什麼,落在哪、多大、幹什麼用 | 只見命令痕跡;$變量 目標、遠程腳本內部行爲看不到 |
| 目錄快照對比(基線 vs 現在) | 監視根下新出現的條目、明顯變大的目錄 | 需要先立基線;監視根外看不見 |
| 時間戳掃描(「今天」等視圖) | 近 N 天哪些目錄在喫盤,含臨時目錄與其它工具寫入 | 只看時間窗口,不判斷「該不該存在」 |
漏掉任一路,就容易出現「磁盤少了幾十 GB,報告卻顯得沒事」的錯位。插件還在 v0.12 及之後版本里補了進程命令行審計、歷史側寫(例如把遺留 cdp-* 目錄與會話命令按時間窗口對錶)、用途兜底(讀 package.json / METADATA / README 等簽名,不髮網絡請求)等能力;細節以倉庫 README 爲準。
側欄面板¶
插件註冊在 sidebar.panellist 與 main(key = install-radar),order: -20,排在官方面板行之前。數據經宿主路由 /api/install-radar/*(如 report、refresh、sessions、baseline、diff、recent、open)由 ctx.connection.rpc.call 拉取。
頂層兩個頁籤:
- 會話安裝(藍):子頁籤包括按會話、按類型、按時間;默認摺疊,點開看條目;每條可有「爲什麼裝」、卸載後果(安全 / 需注意 / 危險等等級)。
- 非會話新增(橙):時間戳掃描(1 / 3 / 7 天)、誰在拉起 CDP、基線以來新條目;支持增長趨勢(14 天柱狀圖,走
/api/install-radar/trend)、批量勾選清理、定時自動清理(配置在$DSH_HOME/install-radar/config.json的autoClean,默認關)。
行尾常見操作:複製路徑、打開文件夾、卸載命令(僅複製,不執行)。一鍵清理對白名單路徑做二段確認;小於 50 MB 或標記爲 danger 的項不提供一鍵刪。
Agent 工具¶
宿主側主要工具(名稱來自 README):
install_radar_report— 完整報告,並寫入$DSH_HOME/install-radar/report.mdinstall_radar_sessions— 會話命令證據,可按關鍵詞過濾install_radar_recent— 近 N 天按歸屬目錄聚合install_radar_baseline— 立基線(建議在大量安裝前跑一次)install_radar_diff— 基線以來新增或明顯變大install_radar_audit— 會話目錄索引與消失審計
此外還有 install_radar_procs(CDP 相關進程)、install_radar_history(歷史側寫)、install_radar_repro(復現線索)、install_radar_autoclean(定時清理開關與預覽)等,見 README「v0.12 變更」與各小節。
安裝與啓用¶
README 給出的標準裝法(需重啓一次)示例爲通過 link: 指向本機插件目錄:
dsh plugin --profile desktop add link:"E:\DeepSeek Harness工作區\dsh-install-radar"
請將引號內路徑換成你本機 clone 或解壓後的 dsh-install-radar 目錄;不要用未在文檔中出現的 github:owner/repo 拼寫代替上述流程,除非你的 DSH 版本文檔明確支持且你已覈對行爲一致。
README 還記錄了另一種手工落地:在 profiles/desktop/node_modules/dsh-install-radar 建指向插件目錄的 junction,並在 profiles/desktop/package.json 裏寫 dependencies["dsh-install-radar"] = "link:…",同時把 dsh-install-radar 加入 dsh.profile.bundles。回滾時刪除 junction,用備份 package.json.bak-radar-* 覆蓋並重啓。
依賴對齊時,README 示例在關閉 DSH 後用 profile 目錄下的 pnpm 執行 install(路徑因機器而異,見 README「徹底對齊」代碼塊)。
安裝前建議閱讀倉庫源碼與 MIT 許可證;插件以當前 DSH 進程權限讀盤、刪臨時文件,清理操作不可逆,生產機請先 dryRun 或小範圍試刪。
典型用法¶
在 DSH 裏¶
- 首次或監視根變化後,讓宿主自動重立基線,或調用
install_radar_baseline/ 側欄等價操作(報告裏可能出現baselineAuto: first-run | roots-changed)。 - 一輪會話結束後看 會話安裝 → 按會話,覈對體積與「爲什麼裝」。
- 磁盤異常增長時打開 非會話新增 → 今天 / 近 3 天,再對照
install_radar_diff與install_radar_recent。 - 清理前看風險色標(不影響 / 需注意 / 不要刪);批量刪除服務端一次最多 50 條,刪完寫入
clean-log.jsonl。
不進 DSH 的 CLI¶
倉庫提供 bin/radar.mjs,可用 Node 直接跑:
node bin/radar.mjs roots
node bin/radar.mjs baseline
node bin/radar.mjs scan
node bin/radar.mjs sessions
node bin/radar.mjs recent --days 3
node bin/radar.mjs diff
node bin/radar.mjs report --out report.md
通用參數包括 --home <DSH_HOME>、--extra <目錄>(可重複)、--limit、--days、--json。
自測¶
node test/host-smoke.mjs
node test/client-smoke.mjs
host-smoke 會真掃盤;client-smoke 測客戶端 bundle 與插槽註冊。
適用場景與注意¶
適合:長期在單機上用 DSH 做自動化開發、裝依賴、跑瀏覽器 CDP;需要把「哪次對話」和「哪塊磁盤」對上,並區分會話內安裝與機子上後來長出來的垃圾。
注意:
- 監視範圍由默認監視根決定(README 寫明已納入
C:\Windows\Temp、%LOCALAPPDATA%等,修復舊版漏檢);仍可通過 CLI--extra擴展。 - 會話日誌只能還原到命令層,變量展開與腳本內部邏輯需結合 diff / recent / 進程審計推斷。
- 清理僅允許白名單臨時目錄等路徑;
danger級(如.pnpm-store、site-packages、瀏覽器 User Data 等)不應一鍵刪。 - 定時自動清理默認關閉,開啓後每 90 秒採樣時只刪標記爲 safe 且超過設定天數的臨時項。
結尾¶
dsh-install-radar 把 DSH 會話裏的安裝行爲落成可覈對、可分級清理的清單,並用側欄把「會話裝的」和「非會話新增的」分開呈現。需要安裝步驟與最新功能列表時,以 GitHub README 爲準: