把「读过什么」变成
「我在思考什么」。
WeRead Intelligence 把微信读书的书架、阅读时长、进度、划线和想法整理成可验证的事实层,再生成阅读热力图、主题版图、认知轨迹、知识网络、全文检索、回顾卡片与 Obsidian 知识库。
不是一个 Dashboard。
是一条阅读知识管线。
统计由代码计算,解释由 AI 生成,但解释必须回到原始书籍、划线、想法和时间证据。Renderer 只呈现,不负责编造。
Collect
Agent Gateway 拉取书架、笔记、进度、阅读统计。
Normalize
统一事实层,并默认排除明确标记的私密书。
Analyze
确定性指标、全文检索、Recall Queue、Blindspot facts。
Interpret
Reading Map、Cognitive Shift、Profile、Counter Reading。
Reuse
报告、Obsidian、Feynman 回顾、Book → Skill。
仓库内 UI 预览
这个提交到 Git 的静态文件使用合成数据,作为无个人数据环境下的 fallback preview。线上 GitHub Pages 会由 workflow 重新生成当前 Public Reading Archive;公开范围以 docs/publication-policy.md 与 validator 为准。
Reading Heatmap
用真实 dailyReadTimes 展示阅读连续性;这个视图完全不需要 AI。
Reading Map
主题大小代表投入,连接代表有证据支撑的跨主题关系。
决策
广泛探索
多个主题并行,建立问题清单。
结构化学习
开始跨书连接同一概念。
证据意识
从“记住观点”转向“寻找反例”。
知识复用
把读过的框架变成可调用 Skill。
从可视化,到可调用知识。
项目把社区常见的 Dashboard、笔记导出和画像能力统一到共享事实层,不让每个 Skill 重复抓 API、重复发明数据口径。
Heatmap / Map / Graph
阅读热力、主题版图、认知变迁、知识图谱和 Evidence-based Profile。
Local Search
SQLite 本地检索书名、作者、章节、划线和自己的想法,中文短词自动 fallback。
Recall / Feynman
先回答,再展开证据。优先回顾久未接触、来自不同书籍的内容。
Blindspot
用集中度和参与落差找值得核对的区域,再提出反例方向,而不是给人贴标签。
Obsidian Sync
增量同步,程序只管理自己的区域,USER_EDIT_ZONE 永不覆盖。
Book → Skill
把自己的划线和想法提炼成可复用的工作方法,而不复制书籍正文。
三分钟跑起来
建议把真实数据放在仓库外部。页面和仓库示例都不需要你的 API Key。
export WEREAD_DATA_DIR="$HOME/.local/share/we-read"
export WEREAD_API_KEY="wrk-..."
# 2. 拉取并建立事实层
python scripts/export_notes.py
python scripts/fetch_enrich.py
python scripts/build_visualization_context.py
# 3. 立即可用的确定性能力
python scripts/renderers/heatmap.py
python scripts/build_search_index.py --rebuild
python scripts/build_recall_queue.py
# 4. 汇总报告
python scripts/renderers/report.py
本地优先,不拿隐私换漂亮图。
阅读记录可以透露非常私人的兴趣与想法,因此安全边界是产品功能的一部分,而不是 README 最后一段。
默认做什么
- 明确 secret=1 的书默认排除
- API Key 不写入产物和日志
- 搜索索引和生成报告默认 gitignore
- 仓库内 fallback preview 使用合成数据;线上 Page 按 publication policy 生成
- AI 解释保留 evidence / counterEvidence
默认不做什么
- 不自动公开你的划线和想法
- 不把书架等同于“读过”
- 不从阅读记录推断敏感属性
- 不让同步程序覆盖 Obsidian 手写区
- 不把启发式版权判断当法律结论