前言¶
在 DeepSeek Harness 裏跑一輪對話,右側欄往往會多出好幾份文件產物:out/report.html、docs/方案.md、根目錄截圖等。想再打開某一份時,常見做法是回滾聊天記錄找產物卡片,或在右側文件樹裏一層層點。社區插件 dsh-plugin-recent-files(維護者 msongw-design)只做一件事:記住你在右側欄打開過的 dsh-resource://file/session/... 地址,按時間列在左側欄,點一下即可切回對應會話並重新打開該文件。
這是什麼¶
dsh-plugin-recent-files 是分類爲「客戶端」的 DSH 插件,當前版本 0.1.0,許可證 MIT。它在左側欄「自動化任務」下方增加 最近瀏覽 入口,面板裏展示最近打開的文件產物列表。倉庫:https://github.com/msongw-design/dsh-plugin-recent-files;社區目錄頁:https://www.skillhub.cn/plugins/msongw-design/dsh-plugin-recent-files。
核心功能¶
側欄順序與 README 一致:Plugins(order: 0)→ 自動化任務(10)→ 最近瀏覽(20)。
面板每行顯示文件類型圖標、文件名、所在目錄、相對時間(例如「3 分鐘前」);右上角有 清空;懸停單條可移除。
點擊條目時,會先切換到該文件所屬會話,再在右側欄打開;這次打開會把該條重新置頂。
列表最多保留 50 條,最新在前,按文件地址去重。同一路徑在不同會話下算兩條記錄,與右側欄標籤的地址模型一致。
實現上包裹右側欄控制器的 openResource 與 openResourceIn:前者覆蓋對話裏的產物卡片、路徑鏈接、工具行行號引用等;後者覆蓋標籤頁內動作(例如文件樹某一行)。數據持久化在 localStorage 鍵 dsh.recent-files.v1,字段含 address、sessionId、path、at。
插件在 DSH 0.2.0-rc.2 開發與首次驗證,0.2.1-rc.3 已確認 sidebar.panellist、main 槽位及 @deepseek-ai/dsh-client-ui-primitives 等 API 仍可用;僅註冊這兩個槽位,不依賴未公開內部模塊。
安裝與啓用¶
方式一:Plugins 頁(推薦)¶
- 左側欄點 Plugins
- 點 Add plugin
- 填寫 Git 地址
https://github.com/msongw-design/dsh-plugin-recent-files,或本倉庫克隆後的本地絕對路徑 - 安裝完成後在 Installed 組裏啓用
方式二:寫進 profile¶
在 profile 目錄(例如 ~/.dsh/profiles/desktop)中安裝包:
pnpm add /path/to/dsh-plugin-recent-files
將包名加入 package.json 的 dsh.profile.bundles:
{
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-plugin-recent-files"]
}
}
}
重啓應用;profile 帶 HMR 時通常刷新頁面即可。
典型用法¶
安裝並啓用後無需額外配置。在對話中點擊文件產物卡片、路徑鏈接,或在右側文件樹打開文件,對應條目會出現在 最近瀏覽 面板。需要快速回到剛纔看過的某份產物時,在側欄點該條目即可;若條目已過時,可懸停移除或點 清空。
開發者在倉庫根目錄可用冒煙測試驗證行爲:
node test/smoke.mjs
該腳本使用假的 window.__ModuleLoader__ 與 Cordis ctx,配合真實 React,覆蓋註冊、打開捕獲、存儲去重、持久化與頁面渲染等斷言。
適用場景與注意¶
適合經常在 DSH 裏切換、複查多份會話產物的開發者。下列邊界來自 README,安裝前宜心中有數:
- 只記錄右側欄內的打開動作;通過 Open In… 用系統默認應用打開的不計入
- 列表全局共享,不按會話分組;點擊時會切換會話
- 只存地址,不校驗文件是否仍存在;會話歸檔導致切換失敗時會被忽略,地址仍可解析
DSH 生態強調「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。插件隨當前 DSH 客戶端進程運行,安裝前應自行查看源碼與 MIT 許可證,確認符合你的安全與合規要求。
結尾¶
dsh-plugin-recent-files 用側欄一條列表補上了「剛纔打開過哪些文件」的缺口,改動面小、職責單一。若要安裝或讀實現細節,見社區目錄 msongw-design/dsh-plugin-recent-files 與 GitHub 倉庫 msongw-design/dsh-plugin-recent-files。