用 pyspelling 源感知过滤器检查文档与代码注释拼写
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/spell-check-docs-and-code-comments-with-source-aware-filters-using-pyspelling。
技能介绍
痛点:合并成一个文本流会带来大量噪音
项目里通常同时存在 Markdown 文档、Sphinx 文档、HTML 页面,以及散落在源码里的注释和 docstring。把这些内容无差别地拼接成一个大文本再做拼写检查,结果是满屏误报:代码片段、URL、变量名、HTML 标签都会被当成拼写错误;而真正需要关注的文档段落,反而被淹没在噪音里,review 时根本看不过来。
工作方式:按源过滤,而不是一刀切
这个技能基于 pyspelling,核心思路是先定位来源,再决定检查什么:
- 源感知提取:分别处理 Markdown、Sphinx、HTML 和代码注释,而不是把项目扁平化成一段文本。
- 自定义过滤规则:比如扫描 Python 文件里的 docstring 时,可以排除模块中特定的内容区域(变量名、代码示例),避免无意义的告警。
- 按需组合:同一份过滤逻辑可以复用在不同的源类型上,适合把拼写检查接入现有 CI 流程。
适用边界与注意点
- 需要预先安装 Python、
pyspelling,以及字典后端(如Aspell或Hunspell),否则工具链无法运行。 - 过滤器需要自己按项目结构编写,技能不会自动适配所有代码布局;源类型或注释格式变化时,过滤规则也要同步调整。
- 它解决的是“检查什么”的问题,不替代字典本身的质量——专业术语仍可能被标记为误拼,需要在过滤规则里显式豁免。
文档参考:https://facelessuser.github.io/pyspelling/
使用场景
- 团队把拼写检查接入 CI,需要只检查 Markdown 文档正文并排除代码块。
- Sphinx 文档站构建后要扫描 RST 生成的 HTML,过滤 HTML 标签和链接。
- Python 模块需要检查 docstring,但想排除变量名、类型注解等代码内容。
- 多语言文档仓库要按来源类型分类检查,避免把 URL 和路径当成拼写错误。
适合人员
- 开源库维护者:希望提交前检查 README 与 docstring 的拼写。
- 技术文档工程师:需要分别处理 Markdown、Sphinx 与 HTML 的拼写一致性。
- CI 平台工程师:要为不同仓库配置可复用的源感知拼写检查。
- 项目维护者:希望减少代码注释中变量名和 URL 带来的误报。