ARTICLE · 1066202
热门开源 | 让AI编程助手回答不再啰嗦
今天给大家安利一个最近在 GitHub 上很有意思的开源项目 —— i-have-adhd。它不是传统意义上的软件,而是一份精心设计的「AI 回答风格规则」,外加一整套让这份规则在十几种 AI 编程助手里都能正确加载、注入、开关、验证的工程脚手架。读完本文你将搞清楚:它是做什么的、能解决什么问题、有哪些技术亮点、怎么 5 分钟上手。
📊 项目速览
🎯 这是个什么项目?
一句话:它给你的 AI 编程助手装上一个「说话规矩」——让 AI 别再先寒暄、再铺垫、最后才给答案,而是第一句就告诉你该做什么、步骤编好号、不跑题、不说客套话。
打个比方:你问朋友「家里灯不亮了怎么办」。没装这个项目的 AI,像个爱铺垫的人:「这是个好问题!你的灯涉及灯泡、开关、线路好几个部分……希望这能帮到你!」——听完你还不知道该干嘛。装了这个项目的 AI,像个干脆的电工:「先检查配电箱看有没有跳闸。1. 打开配电箱 2. 找到『照明』开关 3. 如果朝下就扳回朝上。下一步:灯还不亮就告诉我。」——立刻可以行动。
项目名来自 ADHD(注意缺陷多动障碍),口号却写得很明白:「ADHD 友好的输出,不需要你真有 ADHD」。它借鉴了《The Adult ADHD Tool Kit》里「怎么把信息组织得让 ADHD 大脑能行动」的思路,但它不是医疗工具、不做任何诊断,只是把这套「行动优先」的表达方式用到 AI 回答上——对所有赶时间、受不了 AI 啰嗦的开发者都友好。
整个项目的核心资产只有一个文件:一份 143 行的 SKILL.md,写着 10 条输出规则。其余所有代码,都是为了把这份规则准确、一致、可验证地送达 Claude Code、Codex、Cursor、Gemini、OpenCode 等 13+ 种宿主工具。
🧭 它能用来做什么?
• 重塑 AI 回答的「形状」:让回答行动优先、步骤编号、结尾给一个 2 分钟内能做的具体下一步。你让 AI 修 bug,它直接给「运行这条命令 + 改哪里 + 跑哪个测试」,不再先讲一段背景。 • 一次开启、整段会话生效:说一句 /i-have-adhd就打开,之后每条回答都遵守,直到你说stop adhd mode。长对话里不用反复叮嘱「别啰嗦」。• 跨十几种 AI 工具统一风格:同一份规则,在 Claude Code、Codex、Cursor、Gemini、OpenCode、Pi 等里行为一致。团队里有人用 Cursor、有人用 Claude Code?输出风格照样统一。 • 「常驻模式」(always-on):创建一个标志文件,规则从会话第一条消息就自动生效。适合「永远不想再看到 Great question!」的你。 • 可被严格验证:自带一套 A/B 评测框架,能用数据证明「加了规则的回答确实更好」,说服团队采纳时有客观证据。
也要说清楚它不能做什么:它不会让 AI 变聪明或更准确(只改「怎么说」,不改「说什么」);遇到 rm -rf、强推、删表等破坏性操作时,安全优先于简洁,AI 仍会先确认;它也不是独立 App,离开宿主工具跑不起来。
✨ 核心功能与亮点
10 条规则 + 6 条破例 + 发送前自检清单。这不是随手写的一句「请简洁回答」,而是一份结构化、有理论依据的行为定义,还明确了什么时候可以破例(比如涉及危险操作)。
为什么值得关注:
1. 单一事实源架构:规则只写一份, .cursor目录下的副本是逐字节镜像,CI 用cmp强制同步,从根上杜绝多平台文本漂移。2. 默认关闭、绝不越权:在 Claude Code、Codex、Qwen 里,「装了但没调用」时什么都不发生——没有中间地带,你不打开它就是关的。 3. Fail-open 设计:所有 Hook 都 catch → exit 0,规则注入失败也永不阻塞宿主启动,插件绝不添乱。4. 自带科学评测:配对 A/B 评测 + 盲评 + 预算护栏 + 发布门禁,规则改动必须证明「candidate 优于 baseline」才能合并。 5. 安全红线写进贡献规范:规则文本不得指示 agent 读取凭据、修改全局配置、绕过破坏性操作确认;还有专门的评测用例守住「不诊断 ADHD」的医疗边界。 6. 小体量、高完成度:核心扩展只有约 240 行 TypeScript,却配齐了跨平台测试、4 个 CI workflow、带预算护栏的评测——是学习「专业级开源项目该长什么样」的绝佳样本。
🛠 技术看点:能学到哪些前沿技术
技术栈一览
• 提示词层:纯 Markdown + YAML frontmatter( SKILL.md)• 运行时胶水:TypeScript(Pi/OMP 扩展)、Node.js ESM(Hook 与 OpenCode 插件)、POSIX sh + awk 与 PowerShell(无 Node 环境的回退 Hook) • 评测/验证:Python 3(unittest + argparse 子命令),subprocess 驱动真实 CLI,sha256 做确定性盲评 • CI:GitHub Actions(插件加载、Pi 包加载、Cursor 镜像同步、评论触发共 4 个 workflow)
架构与设计亮点
• 单一事实源 + 平台适配器:这是理解全项目的钥匙。规则层不知道任何宿主的存在,每个宿主各有一份「薄胶水」——Claude 用 SessionStart Hook、Pi 用有状态扩展、OpenCode 用每轮改写 system prompt 的插件、Gemini 用上下文文件、Cursor/Copilot/Zed 直接读 Agent Skills。改一处规则,全平台生效。 • marker 消息去重注入:Pi 的会话是追加式消息流,每轮都塞规则会导致上下文膨胀。扩展用带 customType的隐藏 marker 消息(用户不可见)标记「规则已注入/已撤销」,注入前先检查最新 marker,状态与上下文一致就什么都不做,而且能在上下文压缩后自动补注入,保证规则不「失忆」。• 尊重宿主机制的差异化注入:OpenCode 的钩子本来就是每轮重组 system prompt,所以直接「每轮覆盖」(幂等);Pi 是追加式的,所以必须去重。同一目标、两种策略,这是适配层设计的教科书案例。 • 三语言 Hook 字节级一致:mjs/sh/ps1 三种实现对同一输入必须产生逐字节相同的输出,测试用 len(set(outputs.values())) == 1断言,连「未闭合 frontmatter 不剥离」这种边界都要一致。• 确定性盲评:评测时 A/B 条件的标签置换由内容摘要的 sha256 驱动——可复现、且不向评委模型泄露哪个是「加了规则」的版本,配合预算护栏防止评测烧钱失控。
🚀 快速上手
仓库地址:https://github.com/ayghri/i-have-adhd
1 git clone https://github.com/ayghri/i-have-adhd
以最通用的 Claude Code 为例,三条命令装好(不需要 Node/Python,纯插件安装):
1 2 3 4 5 6 7 8 # 1. 把仓库作为插件市场添加claude plugin marketplace add ayghri/i-have-adhd# 2. 安装插件(格式:插件名@市场名)claude plugin install i-have-adhd@i-have-adhd# 3. 验证已启用claude plugin list # 预期出现 i-have-adhd 且状态为 ✔ enabled
新会话里敲 /i-have-adhd 开启,随便问一个调试问题,观察回答是否第一行就是可执行动作、没有「Great question / Hope this helps」这类开场白和结束语。说 stop adhd mode 即可关闭。
想「永远开启」?创建一个标志文件即可:
1 2 touch ~/.claude/.i-have-adhd-always # 每个新会话自动生效rm ~/.claude/.i-have-adhd-always # 关闭常驻
原理:项目装了 SessionStart Hook,每次会话启动检查这个文件在不在——在就注入规则,不在就什么都不做。
📝 写在最后
i-have-adhd 最独特的地方,是把主观的「输出风格偏好」做成了可工程化、可测试、可评测的产品——大多数同类方案停留在「一段提示词」,而它做到了「一份事实源 + 多平台适配 + 一致性测试 + 盲评评测」。如果你想立刻告别 AI 的啰嗦回答,5 分钟就能装好;如果你想学「专业级小型开源项目该长什么样」,它更是一份值得逐行研读的范本。