DSH 命令優化插件 dsh-command-opt 介紹

前言

在 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 可以補全命令名。

多候選場景下:

  1. 先補全公共前綴
  2. 再按 Tab 輪轉候選
  3. ↑ / ↓ 選中後,用 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)

安裝完成後:

  1. 重啓 dsh web
  2. 瀏覽器 Ctrl+F5 硬刷新

如果後續修改插件源碼,需要重新構建並硬刷新:

pnpm build

配置說明

安裝後,cordis.patch.yml 的 command-opt insert 行支持可選配置。

但需要注意一個 DSH 固有行爲:瀏覽器半區收不到 patch config,默認值內置在代碼裏,修改 config 不會改變瀏覽器行爲。

因此,日常使用時更依賴插件代碼默認行爲和實際運行效果,而不是通過配置文件調整瀏覽器側行爲。

典型用法

1、補全命令名

輸入:

/

繼續輸入命令前綴,然後按 Tab。

如果命令目錄中有多個候選:

  1. 先補全公共前綴
  2. 繼續按 Tab 輪轉候選
  3. 用 ↑ / ↓ 選中目標命令
  4. 按 Tab 或 Enter 補全選中項

2、輸入命令參數

補全到帶參數位的命令後,例如 /schedule,直接進入參數位。

此時:

  • 幽靈提示顯示參數格式
  • Tab 可以輪轉參數選項
  • 輸入參數過程中,提示彈框保持常駐

3、在 tool 開啓的會話中執行命令

在 tool 開啓的會話中:

  1. 輸入 /archive 等命令
  2. 按回車直接執行
  3. 通過頭部“操作”菜單執行歸檔、複製會話、定位父會話

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

目錄頁地址未在已覈實資料中出現,本文不列出。

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

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

小夜