| name | enrich |
| description | 升级当前 wiki 页面质量一档(stub→basic→standard→featured→premium)。诊断页面当前指标缺口,执行对应补充操作(扩写散文、补充引用、加节)。当用户说 /enrich PAGE 或 /enrich PAGE 目标档 时触发。 |
/enrich — 页面质量升级
用法
/enrich PAGE → 升一档(当前质量 → 下一档)
/enrich PAGE standard → 升至 standard
/enrich PAGE featured → 升至 featured
⚠️ 散文质量强制规范
所有内容生成操作必须遵守 ref/散文质量强制规范.md:
- 禁令一:每段 prose 最多使用 1 个
——
- 禁令二:每段 prose 不得超过 200 字
违反上述禁令会被 edit_page.py 代码级硬拦截(退出码 7/8),不可绕过。
质量档位门槛
| 档位 | 散文字数 | h2 节 | PN 引注 | blockquote | wikilink | 图/公式 |
|---|
| stub | < 100 | 0 | 0 | 0 | 任意 | 否 |
| basic | 100–299 | ≥ 1 | ≤ 1 | 0 | 任意 | 否 |
| standard | ≥ 300 | ≥ 2 | ≥ 2 | 0 | ≥ 3 | 否 |
| featured | ≥ 600 | ≥ 3 | ≥ 5 | ≥ 1 | ≥ 5 | 否 |
| premium | ≥ 1200 | ≥ 5 | ≥ 10 | ≥ 3 | ≥ 10 | 是 |
指标定义:
- 散文:≥ 50 字、非列表/标题/表格的段落总字数
- h2 节:正文
## 数量
- PN 引注:带段落编号的原文引用条数
- blockquote:来自 corpus_search.py 的
> 格式原文引用段数
- 图/公式:frontmatter
image: 字段或正文含 KaTeX $...$
执行步骤
第一步:诊断
读页面,统计:节数、散文字数、wikilink数、原文引用段数。与目标档门槛对比,列出缺口。
第二步:确定目标档
- 若用户未指定 → 当前档 +1
- 若已是 featured → 检查是否可升 premium
第三步:按缺口执行
| 缺口 | 操作 |
|---|
| 节不足 | 按页面 type 添加标准节(见下方模板) |
| 散文不足 | 扩写叙述性内容(历史背景、技术细节、影响) |
| 原文引用不足 | 运行 corpus_search.py 查找相关段落,以 blockquote 引用 |
| wikilink不足 | 为人名/系统/概念添加 [[wikilink]] |
| 相关插图 | 检查是否已有 :::image 块或 frontmatter image: 字段;若无,按 PN 邻近从 images.json 查候选并嵌入(见下方插图步骤) |
操作优先级:先补原文引用(素材来源) → 再写散文 → 最后加节 → 检查插图。
插图检查与嵌入(images.json 不存在时跳过)
grep -E ":::image|^image:" <页面文件> && echo "已有图片" || echo "无图片"
python3 -c "
import json, os, sys
f = 'docs/wiki/images.json'
if not os.path.exists(f): sys.exit(0)
pn = '$PN' # 页面最相关 PN,从 PN 引注中取第一个
imgs = json.load(open(f))
hits = [i for i in imgs if str(i.get('pn','')) == pn or str(i.get('chapter','')) == str(int(pn.split('.')[0]))][:3]
for img in hits:
print(img.get('path',''), img.get('caption',''))
" 2>/dev/null
嵌入格式(路径使用 images/ 前缀,RFC-memex-0044):
:::image
src: images/<文件名>
alt: <图片说明>
:::
约束:每词条 1–3 张;只引用 docs/wiki/images/ 已有文件;无 images.json 或目录为空时自动跳过。
原文引用格式与全文依据规则
铁律:每句有据。enrich 扩写的每一句话都必须有原文依据:
- 先运行
corpus_search.py 收集相关段落
- 扩写时,每个断言都必须标注其来源 PN
- 允许对原文进行转述和拼接,但不得添加原文没有的信息
- 逐句验证:写完后,每个句子都能 traced back 到 corpus 中的某个位置
引用方式:
- 原文引用:使用 blockquote +
(PN)
- 转述/拼接:使用
(PN) 标注来源
- 通用知识(如"马铃薯是块茎作物"):不加 PN,但必须是原文明确提到的内容
python3 wiki/scripts/butler/corpus_search.py "关键词" --max 5
禁止捏造:引用内容必须从 corpus_search.py 结果中复制,不得自行编写"原文"。
第四步:写入
通过 edit_page.py --enrich 写入修改(Append-Only 原则):
cat <<'CONTENT' | python3 wiki/scripts/edit_page.py SLUG - --summary "enrich: stub→basic" --author enrich --enrich
[完整页面内容]
CONTENT
第五步:验证
确认 quality 已升至目标档。若未达到,检查哪个指标仍不足,继续补。
各类型标准节模板
person(人物)
## 生平 — 出生/教育/职业经历
## 主要贡献 — 对AI发展的核心贡献
## 代表作品 — 重要论文/著作/系统
## 历史评价 — 同时代和后世的评价
## 相关人物 — 师承/合作/竞争关系
concept(概念/技术)
## 背景与起源 — 提出的历史背景
## 核心思想 — 基本原理
## 发展历程 — 重要节点
## 代表成果 — 关键系统/论文/人物
## 影响与局限 — 对AI发展的影响和不足
event(事件)
## 背景 — 时代背景
## 经过 — 事件详情
## 参与者 — 主要人物
## 影响与意义 — 历史意义
system(系统/程序)
## 概述 — 是什么
## 开发背景 — 为何开发
## 技术原理 — 核心技术
## 历史影响 — 对AI发展的意义
theory(理论)
## 基本内容 — 核心论点
## 提出背景 — 历史语境
## 技术实现 — 如何应用
## 批评与争议 — 反对意见
写作文风禁令
❌ 严禁万能破折号链式文风。 典型违规模式:
X 是一种重要技术——它能够处理大规模数据——同时保持高效运算——并在多个领域广泛应用——对AI发展产生了深远影响。
这种"A——B——C——D"的无限串联是最常见的 AI 生成腔,必须消灭。
修改方法:
- 每个子句独立成句,用句号断开
- 因果/转折用"因此"、"然而"、"但"等连词
- 并列用逗号或分号,不用破折号
—— 只在修辞性插入和真正的语气转折时使用
禁止事项
- ❌ 禁止删除或替换已有章节(Append-Only)
- ❌ 禁止捏造原文引用
- ❌ 禁止编写无原文依据的断言——每一句正文都必须能追溯到 corpus_search.py 的命中结果
- ❌ 禁止 git commit
- ❌ 禁止万能破折号链式文风(见上方"写作文风禁令")