dsh-plugin-chat-menu

前言

DeepSeek Harness (DSH) 採用插件化架構,支持將各種功能掛載到原生交互管線中。在開發或使用 DSH 進行會話時,引用本地文件路徑通常需要切換上下文或手動輸入。dsh-plugin-chat-menu 插件通過將工作目錄的文件瀏覽功能直接註冊進 DSH 內置的 @ 觸發菜單,讓用戶無需離開輸入框即可完成文件路徑的引用、輸入與跳轉。

功能

該插件的核心價值在於對 DSH 原生菜單的擴展與鍵盤操作的深度適配。

  • 原生整合:插件註冊進 DSH 內置的 @ 觸發菜單,與“子智能體”和“插件”分組並列顯示,文件分組位於菜單最前方。
  • 名稱搜索:輸入字符時即時按文件名或目錄名過濾當前層級;若當前層級無匹配項,會自動在當前工作目錄內遞歸搜索。
  • 逐級深入:點擊目錄項可寫入 @目錄/ 進入下一層級,隨後繼續輸入字符即可列出該層內容。
  • 原生鍵盤:支持使用 ↑ 和 ↓ 移動高亮,Enter 或點擊鼠標選中,ESC 取消菜單,所有操作均由 DSH 內置管線處理。
  • 防誤發:當整行僅爲 @目錄路徑/ 時按 Enter 不會發送消息;在目錄名後按空格會自動補全爲 @目錄/ 並展開該層內容。
  • 會話感知:菜單內容基於當前會話的 header.cwd(工作目錄)生成,確保上下文一致。

安裝與啓用

安裝前請確保 DSH (dsh web) 已正常運行,環境需滿足 Node.js ≥ 20。

  1. 執行安裝命令
    使用 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
  1. 重啓服務
    安裝完成後,需要重啓 DSH 進程並硬刷新瀏覽器(Mac 使用 Cmd/Ctrl + Shift + R),插件才能生效。

典型用法

安裝並重啓後,在 DSH 會話輸入框輸入 @ 即可調用文件菜單。

  • 呼出菜單:輸入 @,原生菜單中的“文件”分組會列出當前目錄結構。
  • 搜索過濾:在菜單中直接輸入字符,列表會實時過濾當前層級或進行遞歸搜索。
  • 進入目錄:點擊目錄項,輸入框會寫入 @目錄/,再次輸入字符可繼續瀏覽子目錄。
  • 自動補全:在目錄名後按下空格,會自動補全爲 @目錄/ 並展開該層內容。
  • 取消操作:按下 ESC 鍵可取消菜單。

注意事項

  • 重啓生效:動態插件形態隨 DSH 進程重啓而清空,重啓後需重新裝載。
  • 形態衝突:同一時間只應安裝一種形態(bundle 版或動態版)。兩者都會註冊 @ 文件菜單,同時運行會導致出現兩個菜單,建議優先使用 bundle 版。
  • 源碼審查:插件採用 MIT 許可證,安裝前建議檢查源碼邏輯,確保符合個人開發環境的安全要求。

總結

dsh-plugin-chat-menu 通過原生菜單集成與鍵盤流式操作,解決了在 DSH 會話中引用本地文件路徑繁瑣的問題。它保持了 DSH 插件輕量、模塊化的特點,適合需要在開發調試中頻繁引用文件路徑的開發者使用。

更多細節與源碼可參考:
* GitHub 倉庫
* DSH 插件目錄

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜