前言¶
在 DeepSeek Harness(DSH)裏使用斜槓命令時,常見的問題不只是“命令能不能執行”,還包括命令名怎麼補全、參數格式怎麼提示、tool 開啓的會話(subagent)裏爲什麼沒有命令選項、空對話裏執行命令後輸出和頭部按鈕爲什麼不正常。
下面介紹 csiroqa/dsh-command-opt。它是一個 DSH 命令優化插件,主要覆蓋命令名補全、參數格式引導、命令提示彈框、subagent 會話補丁和空對話命令輸出修復。
這是什麼¶
dsh-command-opt 是 DSH 命令優化插件:
- Tab/Enter 補全命令名
- 參數格式引導與提示彈框
- tool 開啓會話(subagent)補丁
- 空對話命令輸出修復
倉庫地址爲:
https://github.com/csiroqa/dsh-command-opt
維護者爲 csiroqa,許可證爲 MIT License。
它主要面向 DSH web 頁面使用,解決的是斜槓命令輸入、參數提示、命令執行和會話狀態這幾個環節的具體問題。
核心功能¶
Tab/Enter 補全命令名¶
在輸入 / 加前綴後,按 Tab 可以補全命令名。
多候選場景下:
- 先補全公共前綴
- 再按
Tab輪轉候選 ↑/↓選中後,用Tab或Enter補全選中項
這個能力針對的是命令目錄中已經存在的命令,不是任意自由文本補全。
參數格式引導¶
補全到帶參數位的命令後,可以進入參數位。
參數引導包含:
input hint幽靈文本與輸入對齊Tab輪轉參數選項- 輸入參數過程中保持提示彈框常駐
例如補全到 /schedule 這類命令後,可以繼續輸入參數,並由提示彈框顯示當前命令的上下文。
命令提示彈框¶
命令提示彈框使用 conversation.input.overlay 槽位。
它的作用是在輸入命令參數時持續顯示命令提示,而不是隻在命令名補全階段出現一次。對於多參數命令,輸入參數後提示不會直接消失。
tool 開啓的會話(subagent)補丁¶
tool 開啓的會話(subagent)中,內置命令目錄可能返回空,導致這類會話看起來“沒有選項”,無法直接執行 /archive 等命令。
這個插件爲這類會話提供補丁:
- 命令目錄直連宿主命令目錄
- 回車時執行完整命令
- 會話頭部註冊“操作”菜單
頭部“操作”菜單提供:
- 歸檔
- 複製會話
- 定位父會話
空對話命令輸出修復¶
在空會話裏執行命令後,這個插件讓輸出和頭部操作恢復正常:
- 命令輸出正常渲染
- 頭部選項按鈕出現
- 不被下一次“新建對話”複用掃描合併
目錄緩存¶
插件對命令目錄做了緩存處理:
- 鍵入
/時預熱 commands/change與agent-preset/selected事件主動失效- TTL 兜底
- 同會話併發去重
- 會話刪除時剪枝
這些緩存策略主要服務於命令補全和命令提示,不改變 DSH 本身的命令定義。
安裝與啓用¶
前置條件:
- Node.js >= 22
- pnpm
- 本機
deepseek-harness源碼檢出 - 依賴以
link:指向../deepseek-harness
先克隆並構建插件:
git clone https://github.com/csiroqa/dsh-command-opt.git
cd dsh-command-opt
pnpm install
pnpm build
然後安裝進 web profile。插件以 link: 指向當前目錄安裝:
dsh plugin --profile web add link:$(pwd)
安裝完成後:
- 重啓
dsh web - 瀏覽器
Ctrl+F5硬刷新
如果後續修改插件源碼,需要重新構建並硬刷新:
pnpm build
配置說明¶
安裝後,cordis.patch.yml 的 command-opt insert 行支持可選配置。
但需要注意一個 DSH 固有行爲:瀏覽器半區收不到 patch config,默認值內置在代碼裏,修改 config 不會改變瀏覽器行爲。
因此,日常使用時更依賴插件代碼默認行爲和實際運行效果,而不是通過配置文件調整瀏覽器側行爲。
典型用法¶
1、補全命令名¶
輸入:
/
繼續輸入命令前綴,然後按 Tab。
如果命令目錄中有多個候選:
- 先補全公共前綴
- 繼續按
Tab輪轉候選 - 用
↑/↓選中目標命令 - 按
Tab或Enter補全選中項
2、輸入命令參數¶
補全到帶參數位的命令後,例如 /schedule,直接進入參數位。
此時:
- 幽靈提示顯示參數格式
Tab可以輪轉參數選項- 輸入參數過程中,提示彈框保持常駐
3、在 tool 開啓的會話中執行命令¶
在 tool 開啓的會話中:
- 輸入
/archive等命令 - 按回車直接執行
- 通過頭部“操作”菜單執行歸檔、複製會話、定位父會話
4、在空會話中執行命令¶
在空會話裏執行命令後:
- 輸出正常渲染
- 頭部選項按鈕出現
- 該會話不會被下一次“新建對話”複用
適用場景與注意¶
適合以下場景:
- 在 DSH web 頁面中頻繁使用斜槓命令
- 希望命令名補全更快
- 希望命令參數格式有提示
- 需要在 tool 開啓的會話中執行
/archive等命令 - 需要在空會話裏執行命令並保留正常輸出
使用前需要注意:
- 插件運行在當前
dsh進程權限下 - 安裝前應檢查源碼與許可證
- 許可證爲 MIT License,保留
LICENSE文件與版權聲明,並標明出處(本倉庫鏈接) - 插件只在本機頁面上生效,不涉及網絡監聽
- 插件代碼以
link:指向本倉庫目錄安裝,改動源碼後需要重新構建並硬刷新生效
兼容性方面:
- 針對 DSH
0.1.1-rc.2源碼檢出開發驗證 - 依賴
dsh-client-runtime的公開面 - 少量內部面以運行時特性檢測保護,缺失時靜默降級
已知限制:
- 空對話激活是瀏覽器側行爲
- 宿主 summary 仍報 blank
- 刷新頁面後,該空會話會從列表消失,直到有真實 turn
結尾¶
dsh-command-opt 解決的問題比較具體:斜槓命令補全、參數提示、subagent 會話命令執行、空對話命令輸出。它不是改變 DSH 命令定義,而是圍繞 DSH 的 web 命令體驗做補齊。
GitHub 倉庫:
https://github.com/csiroqa/dsh-command-opt
目錄頁地址未在已覈實資料中出現,本文不列出。