在 DSH(DeepSeek Harness)工作流开发中,模型通常依据关键词自动触发技能。当模型意图不明确或选择偏差时,往往缺乏有效的人工介入手段。dsh-skill-gate 插件通过引入一个中断点,将技能的最终选择权交还给用户,解决了这一痛点。
插件定位¶
这是一个 DeepSeek Harness host 插件,由 Bryan-cmf 维护。它的工作原理是:当模型触发技能时,系统拦截分发流程,将建议的技能及其他候选技能(均附带描述)展示给用户;用户在指定时间内做出选择后,系统才会执行对应的技能。
核心功能¶
- 用户最终决定权:在模型意图与实际执行之间增加一道确认步骤,避免模型错误调用技能。
- 超时回退机制:默认 10 秒超时,若用户未选择,系统自动使用请求的默认技能继续执行。
- 原生 UI 展示:通过系统原生的问答界面展示候选技能列表,无需额外开发 UI。
- 无头模式:支持无 UI 依赖的运行环境,在此模式下闸门直接放行。
安装与启用¶
插件依赖 DSH 版本 >= 0.1.0-rc.6,需要 skills、userQuestions 和 timer 服务支持(userQuestions 服务需要浏览器 UI 环境)。
方式一:Host Composition(推荐)¶
在 DSH 的 host 配置中引入插件包:
"dsh": {
"profile": {
"bundles": ["@bryan-cmf/dsh-skill-gate"]
}
}
方式二:Agent Preset¶
在 Agent 预设配置中添加插件行:
- id: skill-gate
name: '@bryan-cmf/dsh-skill-gate'
典型工作流¶
启用插件后,工作流会按以下逻辑运行:
- 模型触发技能调用。
tools/execute水流拦截分发,打开原生问答 UI。- UI 展示候选列表(包含系统默认技能)。
- 示例界面:
🧠 技能选择
系统将使用技能「ak-hk-stock-dd」。要改用其他技能吗?
(10 秒内未选择将自动使用「ak-hk-stock-dd」)
[ak-hk-stock-dd] 系统建议(预設)
[serenity-skill] 供應鏈瓶頸投資研究方法論
[dcf-valuation] Discounted cash flow valuation…
- 用户选择:系统生成合成指令注入对话,模型加载选中的技能。
- 用户无操作:超过
timeoutMs(默认 10000ms),系统默认技能按原计划执行。
注意事项与场景¶
- 状态变更:该插件已被
@bryan-cmf/dsh-skill-ledger取代,原仓库仅作为设计历史记录存档。如果需要使用新的非阻塞技能提示方案,应参考 ledger 插件。 - 并发限制:同一时间只能开启一个闸门。如果第一个闸门未关闭,新的技能触发请求将直接通过,不会被拦截。
- 环境依赖:若运行在无 UI 环境(Headless),需确认未配置
userQuestionsprovider,否则插件会报错。 - 许可证:MIT。
总结¶
dsh-skill-gate 为 DSH 代理提供了一种简单、可控的人机协作机制。通过将技能选择从“自动触发”改为“人工确认”,可以在保证效率的同时降低误触风险。