DSH Web 開發中,調用 Skill、切換 Agent 或查看插件信息通常需要手動輸入完整命令。dsh-quick-invoke 是一個面向 DSH Web 的獨立 Cordis 插件,爲 Skill、Agent preset 和 Plugin 提供統一的 / 快捷入口、候選選擇和 Host 命令執行能力。
該插件由 thuCGRA 維護,不修改 DSH 核心,也不提供任意 Tool 的直調語法。Tool 的調用仍由 Agent 根據自然語言選擇,並繼續經過 DSH 的 tools、approval、guard 和 permission 流程。
核心功能¶
插件主要提供以下命令能力:
- 統一的
/快捷入口:在 DSH Web 中輸入/即可查看可用命令。 - Skill 快捷調用:輸入
/skill並選擇候選,可直接發起 Skill 調用。 - Agent 切換:輸入
/agent並選擇候選,可切換 Agent preset(需在空白會話下,並遵循官方 API)。 - 插件發現與檢查:通過
/plugin命令查看已加載插件列表和 inventory 信息。 - Host 命令支持:支持 Skill 和 Agent 的候選選擇和 Host 命令執行。
- 輸入焦點自動恢復:候選確認後僅回填輸入框,並在草稿回填完成後自動恢復輸入框焦點,用戶無需手動點擊即可繼續輸入。
安裝與啓用¶
前提條件¶
- Node.js 環境。
- 已安裝 DSH
0.1.1-rc.2或兼容版本。 - 已存在 DSH Web profile,且該 profile 已組合 commands、skills、agent presets、plugin inventory 和 command UI 相關插件。
- 當前用戶對 DSH profile 目錄有寫權限。
安裝步驟¶
進入插件目錄,使用 DSH profile 插件管理命令安裝:
cd $localPath/dsh-quick-invoke
dsh plugin --profile web add "$PWD"
安裝完成後,重啓 Web profile 以加載 Host 註冊和 Client bundle:
dsh web --no-open
使用示例¶
插件提供以下典型用法:
- 查看命令候選:
在 DSH Web 輸入框輸入/,即可看到/skill、/agent、/plugin等候選。 - 調用 Skill:
輸入/skill,選擇目標 Skill,輸入框會回填命令。繼續輸入任務後手動發送即可。
/skill quick-invoke-test 驗證快捷調用鏈路
/skill quick-invoke-skill-context 請複述任務上下文
- 調用 Agent:
輸入/agent,選擇可用 preset。發送後 Host 會通過官方agentPreset.select處理。
/agent quick-invoke-agent 分析這個問題
- 插件管理:
查看插件列表和詳細信息。
/plugin list
/plugin inspect dsh-quick-invoke
工作原理與限制¶
架構與執行流程¶
插件分爲 Host 和 Client 兩部分,使用不同的 Cordis context:
* Host:註冊和執行命令,查詢 Skill 和 Agent preset,通過官方 API seam 執行操作。
* Client:裝飾命令菜單,獲取動態候選,定位會話並回填輸入框。
執行流程如下:
1. 用戶輸入 /。
2. DSH Web command UI 展示候選。
3. 用戶選擇候選,僅回填輸入框,不執行遠程操作。
4. 用戶手動發送完整命令。
5. Host 執行命令,經過解析、校驗和權限檢查,記錄 command/run 和 command/done 事件。
重要限制¶
- 插件啓停:插件不支持
/plugin enable和/plugin disable命令。建議使用 DSH profile CLI 管理插件啓停。 - 插件打開:
/plugin open在沒有通用 opener 時會明確失敗,不會回退到內部邏輯。 - Agent 切換約束:Agent preset 的切換受 Agent 生命週期約束,必須在空白 Agent 上操作,且必須使用官方
agentPreset.selectAPI。如果無法訪問官方 seam,命令會明確失敗。 - 項目級資源:項目級 Skill 和 Agent preset 僅用於演示和發現,不可直接作爲全局資源使用。
注意事項¶
- 候選行爲:候選選擇僅回填輸入框,不會自動發送消息。插件會在草稿回填完成後恢復焦點。
- 項目級發現:
.dsh/agent/下的預設僅用於發現,標記爲unregistered不可選擇。 - 源碼審查:插件不修改 DSH 核心,但建議在使用前檢查源碼以確保符合當前環境的依賴要求。
結語¶
dsh-quick-invoke 通過統一的 / 入口和候選機制,簡化了 DSH Web 下的 Skill 和 Agent 調用流程。它保持了與 DSH 核心架構的一致性,不破壞現有的工具調用和安全流程。