前言¶
DeepSeek Harness(DSH)的 Web 輸入框通過 / 和 @ 提供指令菜單和引用功能。原生觸發規則只允許在輸入框最前、空格之後或特定標點之後觸發。在中文等非 ASCII 文字後直接輸入 / 或 @ 時,菜單不會彈出,體驗上會顯得「只有空輸入框時纔有用」。dsh-inline-trigger 補上這一格,讓這些邊界情況下的觸發變爲可用。
是什麼¶
dsh-inline-trigger 是一個 DSH 客戶端插件,維護者爲 xubin0628。它通過包裝 DSH 的 InputTriggerController.track() 方法,在輸入框已有內容時也允許用 / 喚起指令菜單、用 @ 喚起文件與會話引用菜單,包括緊跟在中文等非 ASCII 字符之後輸入的情況。
核心能力¶
插件僅影響「是否判定爲觸發」這一步,已觸發後的菜單選擇、chip 插入、命令 claim、token 消費等均沿用 DSH 原生行爲。生效範圍包括但不限於:
- 空輸入框:
/model、@會話(與原生一致) - 空格之後:
hello /model、你好 @文件(與原生一致) - 非 ASCII 字符之後:
你好/、總結一下/、參考@會話、你好,@文件 - 保護場景:
a@b.com、src/index.ts、https://example.com/@u不會觸發
觸發規則一句話:/ 只在非 ASCII 文字後面放寬;@ 在除 ASCII 字母/數字/下劃線、/、:、@ 以外的任意非空白字符後面放寬。
安裝與啓用¶
從 GitHub 克隆後安裝(推薦):
git clone https://github.com/xubin0628/dsh-inline-trigger.git
然後在 DSH 會話裏讓 agent 安裝該目錄(替換爲實際克隆路徑):
plugin_manager install_bundle { target: "<克隆目錄絕對路徑>" }
或使用 CLI:
dsh plugin --profile desktop add link:<克隆目錄絕對路徑>
安裝後插件出現在「設置 → 插件」裏,頁面會自動同步,無需重啓。
典型用法¶
中文後輸入 / 或 @ 即可觸發菜單:
你好/→ 彈出指令菜單總結一下/→ 彈出指令菜單參考@會話→ 彈出會話引用菜單你好,@文件→ 彈出文件引用菜單
在保持郵箱、路徑、URL 規則不變的前提下,這些場景原本不會觸發,現在可以正常喚起菜單。
可選配置:更激進的邊界¶
默認模式(cjk)保留郵箱與代碼路徑保護。如果希望在「任何非空白字符後面」輸入 / 或 @ 都彈菜單,在頁面控制台執行一次:
localStorage.setItem('dsh-inline-trigger:mode', 'always');
然後刷新頁面(或等待插件熱重載生效)。代價是 a@b.com、src/index.ts 等也會觸發菜單(https:// 協議裏的 :/、// 始終不觸發)。
適用場景與注意¶
適合需要頻繁用 / 和 @ 與 DSH 交互的開發者與用戶,特別是在中文輸入、長句末尾需要引用文件或會話的場景。
本插件以當前 DSH 進程的權限運行,安裝前建議查看源碼與許可證。插件在 DSH 升級後可能會自動變成「什麼都不做」的純直通。
短結尾¶
dsh-inline-trigger 解決了 DSH Web 輸入框在已有內容時無法觸發 / 與 @ 的問題,尤其對中文輸入體驗友好。安裝後即可在中文後直接使用指令與引用菜單。
- 目錄頁:https://www.skillhub.cn/plugins/xubin0628/dsh-inline-trigger
- GitHub:https://github.com/xubin0628/dsh-inline-trigger