前言¶
在 AI 编码代理的协作中,盲目修改、跳过验证或臆想接口是常见问题。本插件通过一套可核对的判据,约束代理在动手写代码、调用接口或重构之前进行确认。
它是面向 AI 编码代理的八荣八耻工作准则 — DSH 原生 Skill,含安装与配置指南。
核心功能¶
该插件提供以下能力:
- 规则约束:提供九条可核对的 AI 编码工作准则,要求代理在操作前进行核对。
- 执行报告:生成执行报告,包含基线与变更记录,要求每次用户提出需求时留痕。
- 强制必读:支持在
AGENTS.md中配置,强制开工前必读。 - 坑点查询:包含已知坑点查询表,通过独立文件管理。
安装¶
使用 DSH 插件管理命令安装:
dsh plugin --profile <profile> add github:wangcangxing/ai-eight-honors-eight-shames
该插件通过 dsh.bundle 机制注册,正文只有一份,不复制 SKILL.md。
工作机制¶
报告生成与目录判定¶
插件要求在工作区根目录生成两类报告文件:
- 执行报告-首次运行.md:记录基线信息。首次运行时,若文件存在则读取优先级高于变更记录;若不存在,进行受限扫描(跳过
node_modules、.git等目录)后建立。超过 ≈30 KB 或 ≈200 行时会提示整理建议。 - 执行报告-变更记录-
.md :按时间戳归档。每次对话追加记录,有改动记改动,无改动写明未修改。文件写满 ≈256 KB 时机械归档。
工作区根判定¶
插件通过优先级逻辑判定工作区根目录:
- 该目录有
.git、package.json等项目标记,或已有报告。 - 该目录只是容器,但任务明确指向某子目录。
- 判定不出来时,列一次一级目录兜底(不递归)。
已知坑点¶
独立文件 执行报告-已知坑点.md 存储坑点信息。严禁全量读取,需通过查询命令按关键词获取。每条坑一行(为什么 → 怎么做),编号稳定。
工作准则¶
插件定义了九条核心准则:
- 以瞎猜接口为耻,以认真查询为荣。
- 以模糊执行为耻,以寻求确认为荣。
- 以臆想业务为耻,以人类确认为荣。
- 以创造接口为耻,以复用现有为荣。
- 以跳过验证为耻,以主动测试为荣。
- 以破坏架构为耻,以遵循规范为荣。
- 以假装理解为耻,以诚实无知为荣。
- 以盲目修改为耻,以备份重构为荣。
- 以交付无踪为耻,以留痕成报为荣。
第 9 条细则:报告放在工作区根。除报告文件外,严禁在工作区目录下写入工程文件。工程文件应放入以工程命名的子目录中。
配置与集成¶
AGENTS.md 强制加载¶
为了让代理在开工前强制阅读这些准则,可在 AGENTS.md 中写入指令:
## 开工前必读
在写或改任何文件、调用不熟悉的接口、重构、或声明「完成」之前,先用 `skill` 工具加载 `ai-eight-honors-eight-shames`,按其全文执行。核心底线:先查证再调用、有歧义先问、业务只认事实、先复用再新造、结论必须带证据、按约定写、区分事实与推断、可回滚再改、工作区根怎么定:① 有 `.git`/`package.json` 等标记或已有报告 → 用它;② 只是容器而任务指向某子目录 → 用子目录;③ 判不出来才列一次一级目录兜底。首次任务启动先查找 `执行报告-首次运行.md`:有就以它加最新那份变更记录为唯一基线、不再全量扫描;没有才受限扫描(跳过 node_modules/.git/dist/build/.vscode 等)后建立。每次有新需求或提问都留一条简要记录;有改动就记改动,没改动业务文件就写明「除本报告外,本次对话未对任何文件进行修改」(两类报告都是元机制,不计入业务文件修改)。报告顶部记核对时间与文件数,过期就局部刷新。`执行报告-变更记录-<时间戳>.md` 一族按时间戳归档:同一轮只读文件名最大的那份,且有界读(最新条目在最前,只读到覆盖核对时间的那一条);写满 ≈256 KB 就机械归档、另起一个带新时间戳的继续写。`执行报告-首次运行.md` 超过 ≈30 KB / ≈200 行时本次任务提一次整理建议、等人类确认;它只写长期固定内容(目录结构 / 各文件作用 / 约定),会变的信息一律进流水。「已知坑点」独立成文件 `执行报告-已知坑点.md`:严禁全量读取,用一条查询命令按关键词取条目(每条坑一行:为什么 → 怎么做),基线顶部留一行指针。
补丁文件¶
插件依赖 cordis.patch.yml 补丁进行注册。
生态与维护¶
- 许可证:MIT
- 仓库:github.com/wangcangxing/ai-eight-honors-eight-shames
- 社区收录:已在 awesome-dsh-plugin 的 skill 分类收录