前言¶
在 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 分類收錄