i-have-adhd的disable-model-invocation机制:为什么装了不激活也完全无害

发布时间:2026/8/30 13:08:00
i-have-adhd的disable-model-invocation机制:为什么装了不激活也完全无害 i-have-adhd的disable-model-invocation机制为什么装了不激活也完全无害【免费下载链接】i-have-adhdA skill to stop your coding agent from burying the answer. ADHD-friendly output.项目地址: https://gitcode.com/GitHub_Trending/ih/i-have-adhdi-have-adhd是一个让编码助手输出先给答案、步骤编号、不废话的 ADHD 友好型技能插件。它最容易被误解的地方在于装上之后会不会悄悄改变所有回复风格答案是不会——靠的正是写死在 SKILL.md 文件头里的disable-model-invocation: true这一行声明。本文带你拆清楚这个机制它在哪、各平台如何遵守、以及项目如何用单元测试把不激活锁成一份硬性契约。一行声明disable-model-invocation 是什么在 Agent Skills 规范里disable-model-invocation是技能前置元数据frontmatter中的一个开关。i-have-adhd 在 skills/i-have-adhd/SKILL.md 第 4 行写下了disable-model-invocation: true意思是模型不允许自己激活这个技能。Claude Code、Qwen Code 等宿主读取到这一行后AI 不会因为你随口问了个技术问题就自作主张套上 ADHD 输出规则必须由你亲手敲/i-have-adhd才会生效。对比一下没有这行的技能很多技能把描述加载进上下文后模型就会根据问题相关性自动触发——这对通用技能是便利对改变输出人格的插件则是失控。为什么作者把静默安装当成默认姿态INSTALL.md 的 How activation works 一节把行为边界写得很直白在 Claude Code、Qwen Code 和 Codex 中不激活就什么都不发生……没有中间地带如果你没打开它它就是关的。这个设计有三层好处️零副作用插件装上后只是多了一个斜杠命令日常对话完全不受影响可以安心常装。️人格切换归用户ADHD 输出是一种风格选择先给动作、列表最多 5 条、结尾必须给下一步有人全程要、有人只在长任务中要。默认关闭意味着风格永远由人决定。符合安全规范项目 CONTRIBUTING.md 明确要求保留 opt-in 行为任何改动激活语义的 PR 都被视为破坏性变更。各平台如何做到不激活不同宿主对禁止自动调用的实现方式略有差异但语义一致宿主控制点行为Claude Code / Qwen CodeSKILL.md 的disable-model-invocation: true必须手动/i-have-adhdCodexagents/openai.yaml 的allow_implicit_invocation: false必须手动$i-have-adhdGitHub Copilot原生读取SKILL.md同样尊重该字段手动/i-have-adhd其中 Codex 的配置只有一行值得单独看一眼——openai.yamlpolicy: allow_implicit_invocation: falseGemini CLI 则没有插件市场作者干脆提供了 gemini.toml 自定义命令文件不输入命令就不加载从机制上天然静默。⚠️ 一个诚实的例外INSTALL.md 提醒其他未适配的宿主可能启动时加载所有技能描述并自行激活所以文档建议优先使用上述已验证的平台。单元测试守护把不激活写成不可回退的契约最有意思的一点这个开关不是口头承诺而是被单元测试盯住的。tests/test_omp_package.py 中的test_skill_remains_explicitly_invoked会解析SKILL.md的前置元数据断言其中必须存在disable-model-invocation: truedef test_skill_remains_explicitly_invoked(self): ... self.assertIn(disable-model-invocation: true, frontmatter)这意味着任何人在改技能规则时误删了这一行测试套件python3 -m unittest discover -s tests -v见 AGENTS.md就会立刻变红。装了但没激活 完全无害从一个设计选择变成了一条可自动验证的工程约束。想让它常驻always-on 也坚持你点头才算数i-have-adhd 提供 always-on 模式在 Claude Code 中创建一个标记文件~/.claude/.i-have-adhd-alwaysSessionStart 钩子 就会在每个会话开始时加载完整规则集。但注意它的两道保险都在 hooks/always-on.mjs 里标记文件不存在 → 直接退出if (!fs.existsSync(flagPath)) process.exit(0)插件安装本身不产生任何行为任何异常都静默失败catch 后process.exit(0)永远不会阻塞会话启动。换句话说默认路径是完全静默常驻路径是你亲手建一个文件才打开两条路径都逃不出用户显式同意这个前提。小结一个开关换来的信任回到标题的问题——为什么装了不激活也完全无害disable-model-invocation: true让 AI 模型无权自行激活技能各平台配置SKILL.md / openai.yaml / gemini.toml把这一点落到每个宿主的具体实现上单元测试把它锁死防止未来意外回退always-on 钩子同样以 opt-in 文件为前提且失败时绝不阻断启动。对新手而言这传递了一个清晰的信号这是一个待命的工具而不是接管对话的插件。你可以现在就装上它平时当它不存在需要 ADHD 友好输出时再输入/i-have-adhd唤醒它即可。【免费下载链接】i-have-adhdA skill to stop your coding agent from burying the answer. ADHD-friendly output.项目地址: https://gitcode.com/GitHub_Trending/ih/i-have-adhd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考