mit einem Klick
serendipity
// 从本 Wiki 随机抽取 1-3 个页面作为灵感种子,到网上搜索相关分析文章,发现 Wiki 真正的缺口并补齐。可接受参数指定灵感方向。标准模式写作严格限于三体原文;--ext 模式允许为原文引用的现实作者/作品建页,可补充外部背景知识。工作目录:/home/baojie/work/knowledge/three-body。
// 从本 Wiki 随机抽取 1-3 个页面作为灵感种子,到网上搜索相关分析文章,发现 Wiki 真正的缺口并补齐。可接受参数指定灵感方向。标准模式写作严格限于三体原文;--ext 模式允许为原文引用的现实作者/作品建页,可补充外部背景知识。工作目录:/home/baojie/work/knowledge/three-body。
将任意文本源(书籍、文档、笔记、语料)转化为结构化 wiki 百科页面。识别并提取三种知识:fact(列表/表格型)、narrative(叙述型实体页)、skill(程序型 how-to 页)。通过 add_page.py 写入 wiki。支持永续迭代模式,自动追踪进度、捕获跨域洞察。
启动三体 Wiki 管家永续 loop。三队列系统(content/housekeeping)。每轮:W1三队列选任务→W2执行→W3自评→记账,无需用户逐轮确认。每11轮discover+housekeeping-scan,每17轮自动/wiki发布,每29轮W5反思,每37轮H17覆盖扫描/H18存根排序。工作目录:/home/baojie/work/knowledge/three-body。支持 --focus 参数指定任务范围(多实例并发时使用)。
三体 Wiki 编委审稿:检查近期 butler 工作是否违反质量规范,输出分级违规报告,给出具体纠正建议。工作目录:/home/baojie/work/knowledge/three-body。
逐章反思,一次只扫一章,发现原文章节中遗漏的实体页面和改进建议。工作目录:/home/baojie/work/knowledge/three-body。
一键发布三体 Wiki:重建注册表 → 重算质量分 → 同步 docs/ → git commit → git push。此 skill 明确授权自动 commit 和 push,覆盖项目 CLAUDE.md 中的禁止自动提交/推送限制。
把项目当前所有变更按内容分组,一组一组地调用 /msg 生成提交消息并输出 git commit 命令,由用户逐组执行后再继续下一组。
| name | serendipity |
| description | 从本 Wiki 随机抽取 1-3 个页面作为灵感种子,到网上搜索相关分析文章,发现 Wiki 真正的缺口并补齐。可接受参数指定灵感方向。标准模式写作严格限于三体原文;--ext 模式允许为原文引用的现实作者/作品建页,可补充外部背景知识。工作目录:/home/baojie/work/knowledge/three-body。 |
从 Wiki 自身出发,借外部视角照亮盲区。
先从现有 Wiki 随机抽取种子页面,以它们为起点去网上搜索相关分析文章,再反过来发现 Wiki 的缺口。外部分析只提供选题灵感,词条正文必须严格基于三体原文(corpus/cn/)。
| 调用方式 | 说明 |
|---|---|
/serendipity | 随机从 Wiki 抽取 1–3 个种子页面 |
/serendipity 叶文洁 | 以"叶文洁"为灵感方向,定向探索 |
/serendipity 文革 红岸 | 以多个关键词为方向 |
/serendipity --ext | 外部素材模式:系统扫描原文引用的现实作者/作品,为 corpus 中有 ≥1 次命中的外部引用建页 |
/serendipity --ext 雨果 莎士比亚 | 以指定外部人名/作品为目标,在 --ext 模式下定向搜索 |
无参数时 — 从 Wiki 随机抽取 1–3 个页面:
python3 -c "
import json, random
pages = json.load(open('wiki/public/pages.json'))['pages']
# 过滤掉章节页、列表页、分类页,只留实体/概念类
candidates = [p for p in pages if not p['id'].startswith(('三体I-','三体II-','三体III-','列表','分类'))]
seeds = random.sample(candidates, min(3, len(candidates)))
for s in seeds:
print(s['id'], '|', s.get('type','?'), '|', s.get('description','')[:40])
"
有参数时 — 将参数关键词直接作为种子方向,跳过随机抽取。
输出示例:
种子页面:
1. 红岸基地 | place | 叶文洁工作多年的军事天文基地…
2. 钢印族 | concept | 接受思想钢印、坚信人类必败的…
3. 云天明 | person | 程心的暗恋对象,买下一颗星星送给她…
读取种子页面正文,提取其中 2–3 个尚未充分展开的关联概念作为搜索关键词。
基于种子,构造 2–3 个搜索 query,从不同角度切入:
| 角度 | 构造方式 |
|---|---|
| 人物/概念深挖 | 三体 [种子词] 分析 深度解读 |
| 比较/类比 | 三体 [种子词] [相关词] 知乎 |
| 冷门细节 | 三体 [种子词] 细节 考据 设定 |
| 学术/文化 | 刘慈欣 [种子词] 文化 哲学 解读 |
随机性保障:同一次 session 中,避免重复上次已探索过的 query 角度。
同时发出 2–3 个 WebSearch 查询(并行)。
从结果中挑选 1–2 篇最有趣或最冷门的文章(不选最热门的),WebFetch 精读全文。
精读提取要点:
从文章中提炼 3–8 个候选词条话题,格式:
候选话题:
1. [词条名] — 从文章哪个论点联想到 — 与种子「XX」的关联
2. ...
过滤原则:
python3 -c "
import json
ai = json.load(open('wiki/public/pages.json'))['alias_index']
candidates = ['话题A', '话题B', '话题C']
for c in candidates:
result = ai.get(c, 'MISSING')
print(c, '->', result)
"
分类:
MISSING → 真正缺口,进入步骤 6python3 wiki/scripts/butler/corpus_search.py "话题名" --max 10
标准模式入选标准:
--ext 模式入选标准(外部素材):
严格依据原文撰写,遵循 CLAUDE.md 规范:
(3-47-098)[[词条名]]--ext 模式特殊规则:外部素材页(type: person / book)允许在"背景"小节补充该作者/作品的现实信息,但必须:
stub,除非原文有多次引用且叙事分量显著可选校验引文来源:
grep -n "关键句" "corpus/cn/三体III:死神永生.txt" | head -5
/wiki
## /serendipity 探索报告
### 灵感种子
- 「红岸基地」(place)— 随机抽取
- 「钢印族」(concept)— 随机抽取
### 浏览的文章
1. [标题](URL) — 知乎/豆瓣/… — 主要角度一句话
### 候选话题筛查
| 话题 | Wiki 现状 | corpus 命中 | 决策 |
|------|----------|------------|------|
| 银河系人类 | MISSING | 8 | ✅ 建页 |
| 宇宙法家 | MISSING | 0 | ❌ 外部框架 |
| 终极飞船 | stub | 3 | ✅ 扩写 |
### 本次产出
- 新建词条:X 个(词条名列表)
- 扩写词条:Y 个
- 跳过:Z 个
| 来源 | 特点 |
|---|---|
| 知乎 | 长文深度分析,专业爱好者多 |
| physixfan.com | 物理/科学角度的严肃解析 |
| 光明网/中国作家网 | 文学评论、思想史角度 |
| 豆瓣书评 | 文学感受型,有时挖掘情感细节 |
| 清华/中科院学报 | 学术角度(较少但质量高) |
| 个人博客 | 最具随机性,有奇特视角 |