前言¶
在 DeepSeek Harness(DSH)裏開多個會話時,模型和工具往往直接把文件寫到工作區根目錄。幾次會話下來,根目錄會堆滿腳本、配置和中間產物,很難分清哪次會話產出的、也不方便歸檔。常見做法是手動建子目錄或事後整理,既佔時間,又容易漏文件。
dsh-folders-per-session(社區倉庫名 dsh-session-folders)按會話自動建帶時間戳的文件夾,並在會話開頭把工作目錄切進去,讓後續產物默認落在該目錄裏。下面介紹它是什麼、怎麼裝、怎麼用,以及使用前要了解的邊界。
這是什麼¶
這是一款 DSH 工作流類插件,由 QAQ-Eleen 維護,採用 MIT 許可證;當前包版本爲 0.1.1(package.json)。定位可以概括爲:每個會話一個時間文件夾,產物不再堆在工作區根目錄(README 中英文簡介一致)。
插件不依賴官方未文檔化的「創建時改 cwd」接口,而是通過 DSH 公開的 workingDirectory 服務在目錄建好後切換會話工作目錄,工具、終端與系統提示會指向新目錄;側欄裏會話仍歸屬原來的工作區根——這是刻意設計,以便 DSH 升級時不易因非公開補丁而失效。
安裝後可在 DSH 插件設置裏看到 session-folders 這一行,配置項在該處修改;關閉 enabled 即可一鍵停用,無需卸載。
目錄結構示例¶
README 用一棵樹說明效果(路徑僅爲示例):
D:\AI\DSHwenjian\
├─ 26-11-07_1930\ ← 會話一
│ ├─ _會話說明.md
│ └─ ...產物
├─ 26-11-07_2015\ ← 會話二
└─ AGENTS.md
每個會話對應一個由插件生成的目錄名(默認格式 yy-MM-dd_HHmm),不靠模型拼目錄名,可減少拼錯與重名問題。
核心功能¶
自動建夾與會話說明¶
- 模型側工具名爲
session_folder;人在對話裏可用命令/folder(別名/sf)。 - 執行後會爲本會話創建時間文件夾並進入該目錄;若開啓
writeSessionNote,會寫入_會話說明.md(已存在則跳過,不覆蓋手寫內容)。 - 系統提示會在每個會話開頭引導模型先調用
session_folder,之後產物應落在工具返回的目錄中。
配置項¶
在插件設置中調整(字段以 README 爲準):
| 字段 | 默認 | 說明 |
|---|---|---|
enabled |
true |
一鍵開關;關掉後不註冊工具、命令與提示 |
root |
空 = 會話工作區目錄 | 時間文件夾建在哪;支持 ~ 和相對路徑 |
format |
yy-MM-dd_HHmm |
目錄名格式,支持 yyyy yy MM dd HH mm ss |
timezone |
空 = 跟隨系統 | IANA 時區,例如 Asia/Shanghai |
writeSessionNote |
true |
是否自動寫 _會話說明.md |
collisionSuffix |
-2 |
同分鍾重名時的後綴,遞增到 -3、-4… |
運行環境¶
package.json 中聲明的 DSH 引擎範圍爲 >=0.2.1-rc.3 <0.3.0;開發依賴 @deepseek-ai/schemastery 用於類型與校驗。
安裝與啓用¶
安裝命令須使用 README 原文中的插件包名 dsh-folders-per-session,並按你使用的 DSH 形態選擇 profile:
# 桌面版
dsh plugin --profile desktop add dsh-folders-per-session
# Web 版
dsh plugin --profile web add dsh-folders-per-session
裝好後在插件設置中確認 session-folders 已出現;默認 enabled 爲 true。若暫不需要,將 enabled 設爲 false 即可,無需卸載。
說明:DSH 生態採用「一切皆插件」思路;社區目錄站點(如 SkillHub)與 DeepSeek、幻方無官方從屬關係,本文安裝方式以插件 README 爲準。
典型用法¶
命令行示例如下(README 原文):
/folder # 建本會話的時間文件夾並進入,順帶寫 _會話說明.md
/folder 整理工作區 # 同一個動作,標籤寫進會話說明
典型流程可以是:新開會話 → 模型按提示調用 session_folder 或你手動執行 /folder → 在該目錄下繼續讓模型寫文件、跑終端 → 下次會話再得到新的時間文件夾。
同分鍾若目錄重名,插件會按 collisionSuffix 規則追加 -2、-3 等後綴。
適用場景與注意¶
適合誰: 經常在同一工作區開多場 DSH 會話、希望按會話隔離產物、又願意接受「工作目錄切換但側欄仍顯示原工作區根」行爲的開發者。
務必注意:
- 權限與安全:插件隨當前 DSH 進程權限運行,安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的安全策略。
- 不移動歷史文件:本插件只建新目錄、寫說明;不會自動把工作區根目錄裏已有文件挪進舊會話夾(README 寫明整理歷史文件不在本版範圍內)。
- 不改
header.cwd:工作目錄通過公開服務切換;每次切換時對話裏可能出現 DSH 自身的「工作目錄已變更」系統消息。 - 版本兼容:請使用滿足
engines.dsh範圍的 DSH 版本,避免與插件聲明不匹配。
開發與參考¶
維護者在倉庫中給出的開發命令(供查閱插件實現,非終端用戶必需):
npm install # 只需要 @deepseek-ai/schemastery 做類型/校驗
npm test # 純 node:test,無額外測試框架
主要模塊:lib/index.js(入口:工具、命令、系統提示)、lib/naming.js(目錄名與重名)、lib/note.js(_會話說明.md 模板)。
結尾¶
若你希望用最小改動把「一場會話一份文件夾」固定進日常流程,可以在安裝 dsh-folders-per-session 後依賴默認配置,用 /folder 或模型工具 session_folder 開席即可;需要集中存放或自定義時區、命名格式時,再改插件設置裏的 root、format、timezone 等字段。