Overview
dsh-grill-first
README / EN
Package documentation
Registry summary
dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.
Read the full README on GitHubLIMITATIONS
Known limitations
- 门禁只对**根 agent**(能直接跟你对话的那个)生效;子 agent / 团队成员不拦,否则正常的委派工作流会被卡死。因此**委派类工具本身**(`subagent`、`workflow`、`spawn_teammate`…)在未确认前也会被拦,防止"派个子代理替自己动手"绕过门禁。 - `ask` 档位**只问一次**:卡片弹过之后门禁即视为放行(否则一次任务里写 20 个文件就要弹 20 张卡片)。想每次都拦,请用 `strict`。 - 判定器是**关键词启发式**,不是语义模型:问句靠问号/疑问词/"查一下/看看"这类信号识别,极少数既像提问又像下令的句子可能判错;判错时直接说「直接做」或让模型调一次 `grill_start` 即可纠正。英文关键词按词边界匹配,中文按子串匹配。 - `warn` 档位只能"记录不拦截":DSH 的 `tools/pre-execute` 事件没有"放行但同时给模型提示"这种返回形态。 - 记忆是本地文件,不含加密;删掉对应 json 即清空。 - `grill_confirm` 优先走 DSH 的结构化提问通道;该通道不可用时(例如子 agent 内部)会返回 `needs_user_confirmation: true`,由模型改用内置提问工具兜底。 - **改代码后必须重启 DSH**:DSH 加载的是 profile 里那份安装拷贝,而且插件**代码**改动不会热生效(实测:`cordis.patch.yml` 里的**配置**改动是热生效的,包代码不是)。判断运行中的是哪一版:调一次 `grill_start`,返回里的 `version` 字段就是当前在跑的版本;看不到 `version` 说明跑的是 0.1.0 之前的旧代码。 - 跳过关键词里**英文按词边界匹配**(`skip` 能命中 `skip`、`Skip this`、`(skip)`,但不会命中 `skipList`、`skip_list`、`bypass-keyword` 这类标识符);中文关键词按子串匹配(`直接做` 命中 `那你直接做好了`)。
