Skip to content

v2.1.4 · 用它需要装什么:一句 Python,外加一个守着这句话的门禁

Choose a tag to compare

@shenquan520 shenquan520 released this 26 Sep 14:30
· 20 commits to main since this release

v2.1.4(2026-09-26)

这版回答一个最朴素的问题:用它,我需要装什么?

说明书补上了答案

需要什么 Python 3.8 或更高(Mac / Linux / 大部分 Windows 开箱即有)
要不要装库 不用 —— 脚本只用 Python 自带的库,不需要 pip install 任何东西
没装行不行 行 —— AI 会手写 HTML 兜底,内容一样全

没装的差别只有两处(都属「自动化」而非「内容」):

  1. 卡原文自动嵌入 —— 把用到的卡整篇嵌进交付页,供你点开
  2. 反模式层自动挂载 —— 根据你的自述自动匹配「你这次错在哪一类」

这两件事兜底时要靠 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