前言¶
DeepSeek Harness (DSH) 採用插件化架構,支持將各種功能掛載到原生交互管線中。在開發或使用 DSH 進行會話時,引用本地文件路徑通常需要切換上下文或手動輸入。dsh-plugin-chat-menu 插件通過將工作目錄的文件瀏覽功能直接註冊進 DSH 內置的 @ 觸發菜單,讓用戶無需離開輸入框即可完成文件路徑的引用、輸入與跳轉。
功能¶
該插件的核心價值在於對 DSH 原生菜單的擴展與鍵盤操作的深度適配。
- 原生整合:插件註冊進 DSH 內置的
@觸發菜單,與“子智能體”和“插件”分組並列顯示,文件分組位於菜單最前方。 - 名稱搜索:輸入字符時即時按文件名或目錄名過濾當前層級;若當前層級無匹配項,會自動在當前工作目錄內遞歸搜索。
- 逐級深入:點擊目錄項可寫入
@目錄/進入下一層級,隨後繼續輸入字符即可列出該層內容。 - 原生鍵盤:支持使用
↑和↓移動高亮,Enter或點擊鼠標選中,ESC取消菜單,所有操作均由 DSH 內置管線處理。 - 防誤發:當整行僅爲
@目錄路徑/時按 Enter 不會發送消息;在目錄名後按空格會自動補全爲@目錄/並展開該層內容。 - 會話感知:菜單內容基於當前會話的
header.cwd(工作目錄)生成,確保上下文一致。
安裝與啓用¶
安裝前請確保 DSH (dsh web) 已正常運行,環境需滿足 Node.js ≥ 20。
- 執行安裝命令
使用 DSH 官方 CLI 進行安裝。該命令會自動處理依賴登記,並識別包內的dsh.bundle.patch配置,將其寫入dsh.profile.bundles完成掛載。
dsh plugin --profile web add dsh-plugin-chat-menu
或使用 npx 方式(無需全局安裝 dsh):
npx -y --package @deepseek-ai/dsh dsh plugin --profile web add dsh-plugin-chat-menu
- 重啓服務
安裝完成後,需要重啓 DSH 進程並硬刷新瀏覽器(Mac 使用Cmd/Ctrl + Shift + R),插件才能生效。
典型用法¶
安裝並重啓後,在 DSH 會話輸入框輸入 @ 即可調用文件菜單。
- 呼出菜單:輸入
@,原生菜單中的“文件”分組會列出當前目錄結構。 - 搜索過濾:在菜單中直接輸入字符,列表會實時過濾當前層級或進行遞歸搜索。
- 進入目錄:點擊目錄項,輸入框會寫入
@目錄/,再次輸入字符可繼續瀏覽子目錄。 - 自動補全:在目錄名後按下空格,會自動補全爲
@目錄/並展開該層內容。 - 取消操作:按下
ESC鍵可取消菜單。
注意事項¶
- 重啓生效:動態插件形態隨 DSH 進程重啓而清空,重啓後需重新裝載。
- 形態衝突:同一時間只應安裝一種形態(bundle 版或動態版)。兩者都會註冊
@文件菜單,同時運行會導致出現兩個菜單,建議優先使用 bundle 版。 - 源碼審查:插件採用 MIT 許可證,安裝前建議檢查源碼邏輯,確保符合個人開發環境的安全要求。
總結¶
dsh-plugin-chat-menu 通過原生菜單集成與鍵盤流式操作,解決了在 DSH 會話中引用本地文件路徑繁瑣的問題。它保持了 DSH 插件輕量、模塊化的特點,適合需要在開發調試中頻繁引用文件路徑的開發者使用。