Repository navigation
v2.1.4 · 用它需要装什么:一句 Python,外加一个守着这句话的门禁
v2.1.4(2026-09-26)
这版回答一个最朴素的问题:用它,我需要装什么?
说明书补上了答案
| 需要什么 | Python 3.8 或更高(Mac / Linux / 大部分 Windows 开箱即有) |
| 要不要装库 | 不用 —— 脚本只用 Python 自带的库,不需要 pip install 任何东西 |
| 没装行不行 | 行 —— AI 会手写 HTML 兜底,内容一样全 |
没装的差别只有两处(都属「自动化」而非「内容」):
- 卡原文自动嵌入 —— 把用到的卡整篇嵌进交付页,供你点开
- 反模式层自动挂载 —— 根据你的自述自动匹配「你这次错在哪一类」
这两件事兜底时要靠 AI 手工做,不如管线稳定。所以:只想试一下 → 不用管;长期用 → 装个 Python。
那句承诺,现在有人守了
说明书写下「不需要 pip 装任何东西」—— 这类承诺和别的文档承诺一样会腐化:
哪天有人给某个脚本加一行 import requests,这句话当场变假,而没有任何东西会报。
→ 新增门禁 12:文档让你跑的脚本,必须只用标准库、且语法能过。
这道门禁的射程比门禁本身更要紧。 第一版写成「扫包内所有 .py」,当场报红 5 种第三方依赖 ——
但逐个看全是不该管的:dist/ 里的历史快照,以及本地 6 个读书工具(提取 PDF、OCR
扫描页、渲染卡,用 pymupdf / pypdf / rapidocr / markdown)。它们从不随包发布。
拿它们判红就是喊狼来了 —— 而本项目的既有纪律是:喊狼来了比没有门禁更坏。
正确射程跟承诺的语义对齐(承诺是对读者说的 → 只覆盖「我让你跑的那些脚本」),
而不是跟「能扫到什么」对齐。
★ 顺带修掉一个更坏的问题
反证这道门禁时,我给渲染器注入一行 import requests,想看它判不判红。结果整个脚本崩了 ——
门禁 4(管线冒烟)会真的 import 渲染器,于是抛异常,后面 8 道门禁一道都没跑,
你只会看到一段 traceback。
这比「某个检查报红」坏得多:报告根本不存在 —— 而且偏偏发生在最需要报告的时候。
→ 现在每道门禁都包了异常保护:崩了 → 该道判红 → 其余继续跑。修完再反证,
报告完整,而且新门禁精确指出了真因。
(语义上要分清:崩溃 ≠「未查」。未查是「依赖不在,本包本就不该有」;
崩溃是「检查本身出问题」→ 判红。)
顺带修的两处
VERIFICATION.md末尾的「这些纪律的来路」此前是空节(只有标题),而那张跨全书的速查表
被留在第二十六节里 —— 标题与内容身首分离。已归位,并把本轮两条新纪律补进表。规约 34 → 36 节SKILL.md兜底段补明「不许因为走了兜底就把这两层省掉」
Full Changelog: v2.1.3...v2.1.4