前言¶
DeepSeek Harness(DSH)的會話日誌裏記錄了工具調用的路徑信息,但現有插件打開的往往是工作區根目錄,而不是「這個對話真正寫過東西的地方」。同一個工作區下幾十個對話,根目錄裏散落着各種文件,打開它等於沒打開。本插件通過解析會話日誌,推導出每個對話的產物目錄,再從側邊欄菜單和標題欄直接打開。
插件定位¶
- 名稱:dsh-open-artifacts
- 維護者:wuuuuu123-32
- 分類:記憶
- 核心價值:根據會話日誌算出對話的產物目錄,用資源管理器直接打開,避免手動翻找。
安裝與啓用¶
使用官方安裝命令:
dsh plugin --profile desktop add github:wuuuuu123-32/dsh-open-artifacts
安裝後必須重啓 DSH,新增的插槽項不會熱加載。升級時可在市場插件頁點「更新」,或重跑上述命令。
核心功能¶
打開產物目錄¶
側邊欄會話行的「⋯」菜單和對話標題旁各有一個入口。點擊後,插件會:
- 讀取該會話的日誌(
~/.dsh/sessions/<工作區編碼>/<會話 id>/session.v4.jsonl.zstd); - 解壓並解析日誌,提取寫入類工具調用(
write/edit/str_replace_editor)與present聲明的路徑; - 按「頂層目錄」歸類,區分工作區內外的產出;
- 在工作區根目錄的散文件(如
AGENTS.md、升級日誌.md)單獨列出; - 對 Blender 產物(默認
E:\AgentArtifacts\blender)按時間窗口推斷目錄。
結果爲一個列表或直接打開。行爲如下:
- 只有 1 個產物目錄:直接打開,不彈窗;
- 有多個:彈列表,顯示目錄名、文件數、完整路徑;
- 沒有產物:提示「沒有找到產物」,並提供「打開 Blender 產物目錄」/「打開工作區根目錄」兩個兜底按鈕;
- 想新建:彈窗頁腳有「新建產物目錄」,輸入名字後在工作區下創建並打開(預填從標題提取的候選名)。
產物目錄守門¶
爲落實「一個對話一個產物目錄」的約定,插件掛載 tools/pre-execute,只在一種情況攔截寫入:
- 往工作區根目錄新建一個非
.md文件。
攔截時返回 deny 並附帶說明,指向工作區的產物目錄約定,讓模型自行重試。有意放行的情況包括:
- 子目錄內的任何寫入;
- 根目錄的
*.md文件(如AGENTS.md、升級日誌.md、基建備忘.md); - 已存在的文件。
更新檢查¶
插件在 DSH 啓動後 3 秒檢查一次 GitHub Releases,與本地版本比對。有新版本時在界面右下角顯示更新卡片,支持展開更新說明、跳轉 Release 頁面、忽略當前版本。檢查結果緩存 6 小時,失敗時靜默跳過,不影響正常使用。
典型用法¶
- 安裝並重啓 DSH;
- 在任意會話上點擊菜單或標題欄的「打開產物文件夾」;
- 若有多個產物目錄,選擇一個打開;
- 若沒有產物,可點擊「打開 Blender 產物目錄」或「打開工作區根目錄」兜底;
- 需要新建產物目錄時,在彈窗頁腳點擊「新建產物目錄」,輸入名稱並確認。
適用場景與注意¶
- 適合希望從會話日誌自動定位產物目錄的場景,避免手動翻找;
- Blender 建模產物默認放在
E:\AgentArtifacts\blender,其它對話產出仍按工作區AGENTS.md約定放在<工作區>\<主題>\; - 插件以當前 DSH 進程權限運行,安裝前建議查看源碼與許可證;
- 目前僅在 Windows 上驗證,macOS / Linux 需要替換打開方式那一行。
總結¶
dsh-open-artifacts 通過解析會話日誌,把「這個對話的產物在哪」變成一個可點擊的動作,大幅減少手動翻找的時間。它既支持打開已有的產物目錄,也提供新建目錄的入口,並在 Blender 產物和時間推斷上做了補充。如果你在 DSH 裏經常需要快速定位對話產出的位置,這個插件可以作爲工作流的一部分。
- 目錄頁:https://www.skillhub.cn/plugins/wuuuuu123-32/dsh-open-artifacts
- GitHub:https://github.com/wuuuuu123-32/dsh-open-artifacts