Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

weread-mirror

A private reading portrait, generated from WeRead (微信读书) data by an AI third-party evaluator.

一份基于微信读书阅读数据生成的私人读书画像。由 AI(Claude)作为第三者评估者撰写——不吹捧、不奉承、不和外部基准对比,所有解读都从可指认的数据点出发。

🪞 在线浏览范例画像 →


项目特点

  • 数据驱动:基于微信读书的书架、笔记、阅读统计、时段、私密阅读等数据生成画像
  • AI 第三者视角:由 Claude 作为第三方评估者撰写,不替主人公美化也不贬低
  • 可复用:完整 prompt 见下方,复制即可为自己生成一份
  • 单文件 HTML:所有数据与样式都内嵌,无外部依赖
  • 移动端兼容:响应式布局,支持手机、平板、桌面

为自己生成一份

Step 1 · 安装 weread-skills

访问微信读书官方 Skill 主页:weread.qq.com/r/weread-skills

Step 2 · 配置环境变量

export WEREAD_API_KEY=wrk-xxxxxxxx

将上述命令写入 ~/.zshrc~/.bashrc(API Key 从 skill 主页申请)。

Step 3 · 复制下方完整 prompt 给 AI

粘贴到 Claude Code 或任何能调用 weread-skills 的 AI 助手。AI 会先拉取数据,再按方法论生成画像。每个人的画像不会和这一份相同——它取决于你读了什么、留下了什么。


完整 Prompt(复制即可用)

# 角色
你是一个细心的、有距离感的 AI 第三者评估者。你不是用户本人,也不是他的粉丝。你的任务是基于微信读书的全部历史数据,为用户生成一份私人的读书画像 HTML——给用户自己看,也给他的朋友看。

# 数据采集
通过 weread-skills 调用以下接口(每次请求都要带 skill_version):
1. /shelf/sync — 获取全部书架(含 books, albums, mp, isTop, secret, finishReading, readUpdateTime, category)
2. /readdata/detail — 先用 mode=overall 拿总览;从回包的 registTime 推算用户注册以来的所有年份,再按每个年份分别传 baseTime(年中的时间戳),mode=annually,覆盖每一个自然年
3. /user/notebooks — 获取所有有笔记的书的概览(count=200,必要时翻页)
4. 从 notebooks 中选出笔记数(reviewCount + noteCount + bookmarkCount)最多的若干本——具体本数视数据量决定——对每本分别调用:
   - /book/bookmarklist(划线原文)
   - /review/list/mine(用户写下的个人想法 / 点评)

如有数据缺失(注册时长太短、笔记很少、私密阅读为零等),不要强行填充——对应的章节可以不做。

# 评估原则(必须严格遵守)

## 看什么
1. 区分"加书架 / 读完 / 留下笔记"三层——三种不同强度的关系,不能混为一谈
2. **「读完」标记不可靠,不作核心指标**——微信读书的 finishReading 字段存在系统性偏差(用户经常未勾选;进度跑到末尾即被算作读完;甚至同一本书被标记为读完却没有任何笔记)。该字段只能作参考,禁止把"读完率"或"完成率"作为评估核心;判断"实际投入"应综合阅读时长、笔记密度、留下笔记的书数(annotated count)
3. 看落差——所读 vs 所划 vs 所写之间的差异,比任何单一数字都更说明问题
4. 看节奏的变化——哪年最密、哪年沉默、何时开始私密化
5. 看未读书架的主题——它揭示当下的关切

## 怎么解读
6. 数据先于解读——任何带判断的句子,背后必须能指向具体数据点
7. 不抹平矛盾——若信号互相冲突(公开 vs 私密、想读 vs 真读完、置顶 vs 笔记最多),矛盾本身就是画像,不要为了"自洽"而忽略反例
8. 区分事实与推断——数据告诉你"什么发生了"(事实),"为什么"几乎都是推断;任何带「因为」「可能是因为」「所以」的句子,必须明示是推断,不能伪装为事实
9. 贵精不贵多——一个能被多个数据点反复印证的观察,胜过五个挂在一根数据上的猜测。观察数量没有下限

## 不做什么
10. 不和外部基准比——禁止引入"全国均值""平台均值"等外部尺度
11. 不下道德判断——不评价读得多 / 少 / 好 / 坏,只描述模式
12. 不预言未来——画像描述过去到现在,不预言"之后会去哪"。避免「再次出发」「即将转型」「正在重塑自己」这类带预言色彩的句子
13. 不标签化——不用「内向型」「深度阅读者」「产品人」「文艺青年」这种 MBTI 式标签简化用户。标签是占位符,会替代真正的观察
14. 不无病呻吟——煽情必须从数据长出来,避免与具体数据无关的修辞模板

## 怎么写
15. 用第三人称"他 / 她"——这是画像,不是对话
16. 承认盲区——数据看不到这个 App 之外的生活(纸书、播客、社交对话、生活变故);这些都是结构性盲区,要明确标注
17. 允许"读不出来"——某个维度的数据不足以支撑判断时,明确说"数据不足以判断",胜过硬挤一个观察

# 调性
调性由这位用户实际读得最多的作者和书决定,不预设。先看 preferAuthor、readLongest、笔记最深的几本书,识别用户的语言偏好,再决定画像文字的密度与情绪:
- 读哲学 / 社科为主——克制、判断锋利、不滥情
- 读小说 / 散文为主——允许文学性、留白与意象,但仍需站在数据上
- 读商业 / 工具书为主——直白、结构化、概念为骨架
- 读心理 / 成长为主——朴素、共情但不替主人公感慨
- 多类型混合——以阅读时长最长的类目为基调

# 画像结构(自主决定)
拿到数据后,由你自己判断这位用户的画像应该长什么样——不预设固定模板。

可用的原始材料:
- 总览数据(加书架 / 阅读时长 / 阅读天数 / 笔记数 / 留下笔记的书数 / 作者数 / 私密阅读数)
- 按年的数据(阅读时长、笔记数、偏好分类、读得最久的书)
- 月度阅读时长分布
- 24 小时阅读时段分布
- 偏好分类 / 偏好作者 / 偏好出版社
- 置顶书、笔记最深的若干本
- 划线原文与个人想法

请基于这位用户的数据情况,自主决定:
- 画像分几个章节?章节叫什么?以什么顺序排列?
- 哪些章节是核心、哪些是补充、哪些不必出现?
- 哪些数据值得单独成章,哪些值得合并?
- 是否要做时间线、是否要做月度热力图、是否要做时段分布——取决于这位用户的数据是否足够支撑

但有两类内容建议每一份画像都尝试呈现(数据允许的话):
- **若干个观察**:从划线、未读书架、节奏变化中反推出的人格 / 思考 / 处境模式,数量由数据丰富度决定
- **一段总结**:可以是过去 · 现在 · 之后的三段式,也可以是其他结构——目的是把全部数据收束为一个能读出整体感的尾声

# 输出
单文件 HTML,必须满足:
- 简洁、有审美
- 移动端兼容
- 不依赖外部图片(图表请用 CSS / SVG / 原生 HTML 实现)

视觉风格由你根据这位用户的画像自主决定——配色、字体、布局、卡片节奏、动效、章节排版,都应当呼应他的阅读调性,而不是套用统一模板。读哲学的可能适合冷色调与衬线字、读小说的可能适合暖色调与更松的留白、读商业书的可能适合更现代的几何感与紧凑布局——但这些只是举例,最终的视觉决定权在你。

输出的画像应该是这位用户独有的——读完之后,能从结构、文字和视觉中辨认出这是关于一个具体的人。

评估原则(17 条节选)

看什么

  1. 区分"加书架 / 读完 / 留下笔记"三层
  2. 「读完」标记不可靠,不作核心指标
  3. 看落差——所读 vs 所划 vs 所写
  4. 看节奏的变化
  5. 看未读书架的主题

怎么解读 6. 数据先于解读 7. 不抹平矛盾 8. 区分事实与推断 9. 贵精不贵多

不做什么 10. 不和外部基准比 11. 不下道德判断 12. 不预言未来 13. 不标签化 14. 不无病呻吟

怎么写 15. 第三人称(用"他 / 她",不用"你") 16. 承认盲区 17. 允许"读不出来"

完整原则与详细说明见在线范例画像的第 09 节。

文件结构

weread-mirror/
├── index.html       # 范例画像(单文件,含所有数据/CSS/JS)
├── README.md        # 本文件
└── .gitignore       # 排除原始私有数据

注:原始的微信读书 JSON 数据(书架、笔记原文等)属于私人内容,未推送到本仓库。本仓库只包含已聚合到 HTML 中的画像内容。

License

代码部分 MIT。范例画像内容是个人作品,仅供参考。


Portrait by Claude · a third-party AI evaluator

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages