一键导入
butler
// 启动红楼梦 Wiki 管家永续 loop。三队列系统(content/housekeeping)。每轮:W1三队列选任务→W2执行→W3自评→记账,无需用户逐轮确认。每11轮discover+housekeeping-scan,每17轮自动/wiki发布,每29轮W5反思,每37轮H17覆盖扫描。工作目录:/home/baojie/work/knowledge/honglou。支持 --focus 参数指定任务范围(多实例并发时使用)。
// 启动红楼梦 Wiki 管家永续 loop。三队列系统(content/housekeeping)。每轮:W1三队列选任务→W2执行→W3自评→记账,无需用户逐轮确认。每11轮discover+housekeeping-scan,每17轮自动/wiki发布,每29轮W5反思,每37轮H17覆盖扫描。工作目录:/home/baojie/work/knowledge/honglou。支持 --focus 参数指定任务范围(多实例并发时使用)。
| name | butler |
| description | 启动红楼梦 Wiki 管家永续 loop。三队列系统(content/housekeeping)。每轮:W1三队列选任务→W2执行→W3自评→记账,无需用户逐轮确认。每11轮discover+housekeeping-scan,每17轮自动/wiki发布,每29轮W5反思,每37轮H17覆盖扫描。工作目录:/home/baojie/work/knowledge/honglou。支持 --focus 参数指定任务范围(多实例并发时使用)。 |
五位红楼梦中的见证者,各司其职:
| 实例 | 启动命令 | 职责 |
|---|---|---|
| 空空道人 | /butler --focus discover --instance 空空道人 | 扫描语料,发现新词条(如原著中记录石头故事的道人) |
| 悼红轩主 | /butler --focus enrich --instance 悼红轩主 | 深挖内容,升级质量(曹雪芹悼红轩中批阅十载) |
| 补天石 | /butler --focus create --instance 补天石 | 新建词条(顽石入世,留存档案) |
| 警幻仙姑 | /butler --focus housekeeping --instance 警幻仙姑 | 日常维护,管理太虚幻境中的名册 |
| 茫茫大士 | /butler --focus publish --instance 茫茫大士 | 定期 /wiki 发布,携玉传世 |
不带参数直接启动 /butler 即为石头记(统帅)模式。
此 skill 明确授权,覆盖 CLAUDE.md 通用限制:
git commit + git push(通过 /wiki skill)git add wiki/public/pages/<单个文件>/home/baojie/work/knowledge/honglou
语料:corpus/红楼梦.txt(简体中文,89万字,程甲本120回)
章节页:wiki/public/pages/第NNN回.md(已含PN标注)
| 参数 | 默认 | 说明 |
|---|---|---|
--focus create | all | 只领取 create 类任务 |
--focus enrich | all | 只领取 enrich 类任务 |
--focus housekeeping | all | 只领取内务任务 |
--focus publish | all | 只执行发布任务 |
--focus discover | all | 只做发现任务 |
--focus all | all | 领取任意类型任务(统帅模式) |
--instance NAME | 石头记 | 实例标识符 |
示例:/butler --focus create --instance 补天石
步骤 1 · 读取状态
──────────────────────────────────
cat wiki/logs/butler/round_counter.txt
cat wiki/logs/butler/queue.md
cat wiki/logs/butler/housekeeping_queue.md
tail -10 wiki/logs/butler/actions.jsonl
python3 wiki/scripts/butler/claim_round.py --check-only --instance INSTANCE_NAME
→ stdout "DUPLICATE" → 立即停止
→ exit 0 → 继续
步骤 2 · 读规范(每次启动必读)
──────────────────────────────────
skills/SKILL_W0_Butler总则.md
skills/SKILL_W1_Butler探索与队列.md
skills/SKILL_W2_Butler原子行动.md
skills/SKILL_W4_Butler评估与检验.md
skills/SKILL_W6_Butler离线质检.md
skills/SKILL_W7_引文真实性核验.md
skills/SKILL_W8_精品页建设方法论.md
skills/SKILL_W9_Butler页面图式反思.md
skills/SKILL_W10c_词汇链接化.md
skills/SKILL_W10e_原文溯源增补.md
skills/SKILL_W10f_断链新建条目.md
skills/SKILL_W10l_引文PN一致性.md
步骤 3 · 启动强制 W5 检查
──────────────────────────────────
距上次 W5 > 50 轮 → 立即执行 W5 反思
◆ 以下步骤 4–9 构成永续循环 ◆
步骤 4 · 周期任务检查(在领锁之前)
──────────────────────────────────
round % 29 == 0 → W5 反思(用 increment_round.py + --skip-lock-check)
round % 17 == 0 → /wiki 发布(用 increment_round.py + --skip-lock-check)
round % 11 == 0 → D1 discover + H10 housekeeping-scan(同轮,W5后执行)
round % 13 == 0 → H20 wikilink-pass --since HEAD(增量补齐新增页面 wikilink)
round % 37 == 0 → H17 coverage-scan
round % 37 == 19 → H18 stub-triage
步骤 5 · 候选准备(在领锁之前完成)
──────────────────────────────────
a. 确定本轮动作类型
b. batch_n = ceil(1000 / WU)
c. 从队列取候选,用 corpus_search.py 验证(命中 ≥ 2 条)
d. 候选不足时按 W1 扩展规则处理
e. 准备 batch_n × 1.5 个缓冲池
步骤 6 · 领取轮次锁 + 注册页面
──────────────────────────────────
ROUND=$(python3 wiki/scripts/butler/claim_round.py --instance INSTANCE_NAME)
for SLUG in <全部候选>:
python3 wiki/scripts/butler/lock_manager.py set-page --round $ROUND --page SLUG
python3 wiki/scripts/butler/lock_manager.py check-page --page SLUG --round $ROUND
步骤 7 · 执行原子行动(W2)
──────────────────────────────────
⚠️ 禁止直接 Write/Edit wiki/public/pages/ 下的文件
必须通过 add_page.py / edit_page.py 脚本
total_wu=0; accept_cnt=0; consec_fail=0
for each SLUG:
执行 → W4 评估(红旗检查 + 分数计算 + 变动合理性)→ accept/fail/skip
accept → git add wiki/public/pages/SLUG.md
consec_fail ≥ 3 → 退出循环
total_wu ≥ 1000 → 退出循环
步骤 8 · 记账 + 释放锁
──────────────────────────────────
python3 wiki/scripts/butler/record_action.py \
--round $ROUND --instance INSTANCE_NAME \
--type <type> --page "<slug列表>" \
--result accept \
--desc "<action>×<N>页,<WU>WU" \
--reflect "<本轮观察>"
# 标记队列任务完成(仅 queue.md 中有对应行时)
python3 wiki/scripts/butler/complete_task.py --page SLUG --date $(date +%Y-%m-%d)
# 释放锁(必须最后执行)
python3 wiki/scripts/butler/release_round.py $ROUND
步骤 9 → 回到步骤 4(永续)
| # | 规则 |
|---|---|
| R1 | claim_round.py 在步骤 6,所有写操作之前 |
| R2 | release_round.py 在步骤 8 末尾,即使 fail/skip 也必须释放 |
| R3 | 候选准备(步骤 5)在领锁(步骤 6)之前全部完成 |
| R4 | 候选 < batch_n 时必须先穷尽三步扩展 |
| R5 | 页面写入必须通过 add_page.py / edit_page.py |
| R6 | 每条 PN 引文必须从 corpus_search 结果复制,禁止猜测 |
| R7 | claim_round.py 返回 RACE → 立即停止 |
| R8 | 正确去除 【】 括号 — corpus_search.py 结果中的 【词条】 是搜索匹配标记。必须用 词条 替换 【词条】(保留关键词本身),禁止用空字符串替换。以下两种错误模式必须避免:模式A(丢字):原文"马鞭子"、搜索"鞭" → corpus_search 返回"马【鞭】子" → 若去除【】时连带删除"鞭",结果为"马子"(错误!应替换为"马鞭子")。模式B(空wikilink):原文已有[[词条]] → corpus_search 返回[[【词条】]] → 若将【词条】替换为[[词条]],则产生[[[[词条]]]]渲染为[[]][[词条]](错误!应只去除【】保留[[词条]]) |
| R9 | 禁止写入 (\1-\2) — corpus_search.py 结果中的 (\1-\2) 是模板变量占位符,写入前必须替换为实际 PN 编号 (NNN-PPP)。直接从搜索结果复制整段时注意检查 |
# 普通轮
[R12] create-page×8 | 贾母/史湘云/袭人/… | accept×8 fail×0 | 800WU
# 混合轮
[R13] create-page×6 + stub×5 | 贾政/晴雯/… + 妙玉/… | accept×10 fail×1 | 600+200=800WU
# 周期任务轮
[R11] D1-discover + H10-scan | — | accept | 发现12条新wanted,写入P2/P3
[R17] /wiki-publish → commit abc1234 · R1→17 新建15页
[R29] W5-reflect | — | — | 模式B:质量停滞;建议加强A2 enrich轮次
| 工具 | 用法 |
|---|---|
claim_round.py | ROUND=$(python3 wiki/scripts/butler/claim_round.py --instance NAME) |
release_round.py | python3 wiki/scripts/butler/release_round.py $ROUND |
lock_manager.py | set-page / check-page / status / cleanup |
corpus_search.py | python3 wiki/scripts/butler/corpus_search.py "词条" --max 15 |
discover_wanted.py | python3 wiki/scripts/butler/discover_wanted.py --top 60 |
record_action.py | --round 必须是整数 |
complete_task.py | --page SLUG --date YYYY-MM-DD |
add_page.py | 新建页面(自动记录 revision) |
edit_page.py | 编辑页面(保护 frontmatter) |
bulk_wikilink.py | 全量/增量添加 wikilink:--dry-run --since COMMIT |
check_citations.py | W6 离线质检:python3 wiki/scripts/butler/check_citations.py <slug> |
record_revision.py | 记录修订历史:python3 wiki/scripts/record_revision.py <slug> --summary "..." |
升级红楼梦 wiki 页面质量一档。五级阶梯:stub→basic→standard→featured→premium。诊断页面当前指标缺口,执行对应补充操作(补PN引文、写散文、加节)。当用户说 /enrich PAGE 或 /enrich PAGE 目标档 时触发。
系统性诊断和纠正错误。当用户报告任何 bug、视觉异常、内容错误时执行此 skill。基于 wiki/doc/why.md 记录的根因模式进行排查。
红楼梦 Wiki 编委审稿:检查近期 butler 工作是否违反质量规范,输出分级违规报告,给出具体纠正建议。工作目录:/home/baojie/work/knowledge/honglou。
一键发布红楼梦 Wiki:重建注册表 → 重算质量分 → 同步 docs/ → git commit → git push。此 skill 明确授权自动 commit 和 push,覆盖项目 CLAUDE.md 中的禁止自动提交/推送限制。
逐章反思,一次只扫一章,发现原文章节中遗漏的实体页面和改进建议。工作目录:/home/baojie/work/knowledge/honglou。
从红楼梦 Wiki 随机抽取 1-3 个页面作为灵感种子,到网上搜索相关分析文章,发现 Wiki 真正的缺口并补齐。可接受参数指定灵感方向。标准模式写作严格限于红楼梦原文;--ext 模式允许为原文引用的现实作者/典故建页,可补充外部背景知识。工作目录:/home/baojie/work/knowledge/honglou。