前言¶
在 DSH / 智能體開發中,Web UI 輸入框常需要引用當前 Session 工作區裏的文件或目錄,也需要複用之前已經成功提交過的提示詞。DSH 生態強調插件化擴展,dsh-input-plus 是其中一個 DSH Web UI 輸入框增強插件:它不替換官方輸入組件,而是在官方 @ 與 / 輸入觸發之上,提供文件 / 目錄路徑選擇與當前 Session 用戶提示歷史候選。
下面介紹它的定位、核心功能、安裝方式與使用注意。
這是什麼¶
dsh-input-plus 是由 WhitePlusMS 維護的 DSH Web UI 輸入框增強插件,許可證爲 MIT。
它主要解決兩類輸入場景:
- 通過
@選擇當前 Session 工作區中的文件或目錄路徑; - 通過
/h打開當前 Session 中成功提交的用戶提示歷史候選菜單,並支持關鍵字過濾。
插件在草稿中保留純文本路徑引用,不讀取文件、不展開目錄、不生成目錄清單。
核心功能¶
@ 文件與目錄路徑選擇¶
在 DSH 輸入框中輸入 @,然後繼續輸入文件名、目錄名或路徑片段。候選來自當前 Session 工作區。
選擇後,草稿中會保留一個純文本路徑引用,例如:
@src/contract.ts
這裏的引用只包含路徑本身。發送消息時,插件不會讀取文件、展開目錄或生成目錄清單。
選擇目錄後,也可以繼續輸入後續指令,例如:
@src Find the code responsible for candidate ranking
官方輸入觸發流程負責候選菜單、光標和寫回行爲。插件不替換官方 textarea、發送按鈕或候選菜單,也不接管原生方向鍵行爲。
/h 輸入歷史候選¶
在 DSH 輸入框中輸入 /h,可以打開當前 Session 成功提交的用戶提示歷史候選菜單。
打開菜單後,可以繼續輸入關鍵字過濾候選結果:
/h
安裝與啓用¶
插件要求 DSH 0.1.0-rc.6 或兼容的 DSH Web profile。
通過官方 DSH profile 插件流程安裝:
dsh plugin --profile web add https://github.com/WhitePlusMS/dsh-input-plus/archive/refs/tags/v0.0.2.tar.gz
這條命令安裝的是 GitHub tag 壓縮包。GitHub tag 安裝會直接消費已提交的 lib/ Host 和 Client 產物;如果是 source-only 壓縮包,安裝會失敗。
如果你需要創建或更新安裝 tag,應先運行:
pnpm run build
並提交生成的 lib/ 目錄。
配置¶
插件註冊 input-plus 設置命名空間。與插件工作區索引和路徑解析相關的選項包括:
maxIndexDepthmaxIndexEntriesreferenceRoot
這些選項用於調整插件在生成路徑候選和解析路徑時的行爲。
典型用法¶
下面是一組可直接在 DSH Web UI 輸入框中復現的用法。
1、輸入 @,然後繼續輸入文件名、目錄名或路徑片段。
@
候選來自當前 Session 工作區。
2、從候選中選擇後,草稿保留純文本路徑引用:
@src/contract.ts
3、選擇目錄後,可以繼續輸入指令:
@src Find the code responsible for candidate ranking
4、輸入 /h,打開當前 Session 成功提交的用戶提示歷史候選菜單:
/h
5、繼續輸入關鍵字,對歷史候選進行過濾。
適用場景與注意¶
dsh-input-plus 適合在 DSH Web UI 中需要快速引用當前 Session 工作區路徑、或複用歷史提示詞的用戶。
使用注意:
- 插件不替換官方 textarea、發送按鈕或候選菜單;
- 插件不接管原生方向鍵行爲;
- 路徑引用在草稿中是純文本,發送時不讀取文件、不展開目錄、不生成目錄清單;
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證;
- 當前許可證爲 MIT。
DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不要將其理解爲官方應用商店。
鏈接¶
GitHub 倉庫:https://github.com/WhitePlusMS/dsh-input-plus