Back to home

Bryan-cmf

dsh-skill-gate

DSH-Plugin: skill trigger/selection gate - user picks from described candidates when the model triggers a skill; 10s no-choice falls back to the system default.

Stars
0
Language
TypeScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

🚪 Skill Gate — DSH-Plugin

技能觸發與選擇閘門:系統按關鍵詞觸發技能時,把候選技能(含描述)交給用戶選擇;10 秒內未選擇 → 自動使用系統默認

npm License: MIT DSH

A DeepSeek Harness host plugin that gives the user the final say over which skill the agent uses.

How it works

  1. The model triggers a skill (skill tool call, keyword-driven as usual).
  2. tools/execute waterfall intercepts the dispatch and opens the native question UI: 系統建議的技能 + 其他候選技能,每項帶描述。
  3. User picks → the original call is short-circuited with an explanatory result, and a synthetic instruction is injected so the model loads the chosen skill instead.
  4. No answer within timeoutMs (default 10s) → the system default (the requested skill) proceeds untouched.
🧠 技能選擇
系統將使用技能「ak-hk-stock-dd」。要改用其他技能嗎?
(10 秒內未選擇將自動使用「ak-hk-stock-dd」)

[ak-hk-stock-dd]  系統建議(預設)
[serenity-skill]  供應鏈瓶頸投資研究方法論
[dcf-valuation]   Discounted cash flow valuation…

Install

Path A — Host composition (recommended)

"dsh": { "profile": { "bundles": ["@bryan-cmf/dsh-skill-gate"] } }

Path B — Agent preset row

- id: skill-gate
  name: '@bryan-cmf/dsh-skill-gate'

Requirements

  • DSH >= 0.1.0-rc.6 (services: skills, userQuestions, timer; all in the shipped dsh-base bundle — userQuestions needs the browser UI)

Configuration

KeyDefaultMeaning
enabledtrueMaster switch
timeoutMs10000User decision window; on expiry the system default applies
maxCandidates5Max options offered (includes the system default)

Design notes

  • One gate at a time: a second skill call while a question is open passes through untouched (no stacked questions).
  • No userQuestions provider (headless) → the gate passes everything through.
  • The override is delivered through the sanctioned agent.inject() synthetic user-message channel, so the model's next step loads the chosen skill.
  • Companion: @bryan-cmf/dsh-infra-observability records every gate outcome as ordinary tool usage.

Development

pnpm install --store-dir .pnpm-store
pnpm build

License

MIT