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 核心架构的一致性,不破坏现有的工具调用和安全流程。