在使用 DeepSeek Harness (DSH) 進行會話管理時,快速訪問會話對應的工作目錄是一個常見需求。現有界面通常只提供會話操作(如重命名、歸檔),缺乏直接跳轉文件系統的入口。手動切換文件管理器效率較低。dsh-open-folder 插件在會話行的 ⋯ 菜單中新增了“打開文件夾”功能,點擊即可直接用宿主操作系統默認的文件管理器打開該會話所在的目錄。
這是一個由 TussalZeus18028 維護的插件。它通過在會話行的溢出菜單(⋯)末尾追加菜單項,解決快速定位和訪問會話文件目錄的問題。插件遵循 MIT 協議。
核心功能¶
- 菜單集成:在會話行的 ⋯ 菜單末尾新增“打開文件夾”選項。
- 樣式與交互:複用現有菜單樣式類,跟隨界面主題,並支持鍵盤操作。
- 本地化支持:根據界面語言自動顯示中文“打開文件夾”或英文 “Open folder”。
- 設置頁集成:設置頁中包含“文件夾工具”分節,提供使用說明、通知開關、滾動條修復開關以及最近打開路徑記錄。
- 反饋與確認:操作成功後,右下角會顯示“已打開文件夾:<路徑>”的提示。
- 中文路徑處理:針對 Windows 平臺,使用
explorer.exe配合 UTF-16 參數可靠打開含中文路徑的目錄。 - 主題適配:設置頁的按鈕、卡片和提示均適配深淺主題。
安裝與啓用¶
通過命令行安裝(以 web profile 爲例):
dsh plugin --profile web add github.com/TussalZeus18028/dsh-open-folder
安裝後重啓 dsh web 即可生效。
工作原理¶
- DOM 識別:會話行與工作區分組行是兄弟節點,插件通過查找前驅兄弟來定位工作區。
- 空白會話:對於標題尚未存儲的空白會話行,也能正確解析並打開所屬工作區目錄。
- 能力預檢:插件啓動時會檢查
host.describe().canOpenPath,僅當宿主支持打開本地路徑時才注入菜單項。 - 範圍限制:只注入會話行的 ⋯ 菜單,不干擾工作區級別的菜單。
- 性能優化:不使用輪詢,而是通過
MutationObserver監聽菜單變化及指針事件驅動重渲染。
注意事項¶
- 插件以當前 dsh 進程的權限運行。在安裝前應檢查源碼與許可證。
- 修改插件源碼後,刷新頁面即可生效(因爲內容是按請求實時讀取的 bundle)。
該插件通過極小的改動,將文件系統訪問能力無縫集成到會話管理流程中,適合需要頻繁在代碼上下文與文件目錄間切換的開發者。