微信读书阅读助手
功能说明
本技能对接微信读书 API,用于阅读笔记的同步、整理与复用。主要能力如下。
基础功能
- 书架管理:查看微信读书书架中的书籍列表
- 带着问题读:根据你想解决的问题,推荐相关书籍的重点章节与核心观点
- 划线同步:同步指定书籍的划线与想法(笔记)
- 知识卡片整理:将划线与想法整理为「实践案例」和「通用知识」两类卡片,写入 Obsidian
- 阅读统计:查看阅读时长、阅读偏好等统计数据
- 书籍搜索与推荐:搜索书籍、查看热门划线、获取个性化推荐与相似书
进阶功能
- 催读复习:列出未读完的书籍并提醒继续阅读
- 一键思维导图:生成指定书籍的章节结构与热门观点脑图
- 书评 / 朋友圈文案:基于真实划线撰写书评或朋友圈文案
- 跨书关键词:从所有笔记中提取高频关键词,归纳长期阅读主题
- 主题对比:将多本书围绕同一主题横向对比
结构化陪练
调用书籍中的思维模型,分步骤引导分析你的真实问题,并生成行动方案。
使用方式
唤起技能后,直接以自然语言说出需求即可,例如:
- "看看我的书架"
- "带着问题读《非暴力沟通》,我想改善团队沟通"
- "同步《非暴力沟通》的划线"
- "整理《非暴力沟通》的知识卡片"
- "催我读"
- "给《华尔街之狼》画个脑图"
- "写篇《认知觉醒》的书评"
- "用《非暴力沟通》的方法分析我的团队协作问题"
前置条件
- 微信读书 API Key(WEREAD_API_KEY):可先安装「微信读书」技能完成授权后自动复用,或自行配置
- Obsidian 仓库路径:用于存放整理后的知识卡片
> 以下内容为 AI 运行规则,普通用户无需阅读。
零、AI 首次引导规则
核心痛点:用户(尤其陌生人)不知道该说什么、唤起哪个功能。 因此 AI 必须主动引导,绝不干等。
- 触发时机:用户以含糊方式唤起本技能时——如「读书」「微信读书」「用读书助手」「帮我读」「微信读书阅读助手」等未指明确切功能的指令,或刚加载技能尚未明确需求。
- 动作(必须):AI 先读取
references/welcome.md,并输出其中的功能引导菜单(必须包含开头的「🚀 新手推荐路线」三步走闭环,优先引导用户走完这个最小闭环,不要一上来堆所有进阶功能;其余「核心三件事 + 进阶玩法」示例句必须保留),最后以 "你想先试哪个?直接照上面任一句说就行~" 收尾,等待用户选择。绝不要反问"你想干嘛"或干等。 - 已明确指令时:若用户已说出具体功能(如「整理《XX》的知识卡片」「催我读」「给《XX》画个脑图」),直接进入对应工作流,无需重复输出完整菜单。
- 老用户简化:同一对话中已用过本技能,再次唤起可简化为简短提示(如「继续刚才的?还是换个别的功能?」),不必每次铺满菜单。
- 随时唤菜单:用户说「你能干啥」「帮助」「功能」「怎么用」时,重新输出 welcome.md 菜单。
一、微信读书 API 连接(依赖微信读书 Key ✅)
前置依赖(首次使用必看):
- 本技能需要微信读书 API Key(WEREAD_API_KEY)。最简单方式:先安装「微信读书」技能(weread-skills,在 SkillHub / WorkBuddy 技能市场可装)并按其指引完成授权,本技能会自动复用同一 Key;也可自行将 Key 写入本技能目录下的 .env(WEREAD_API_KEY=wrk-xxx)。
- 知识卡片默认写入 Obsidian。首次使用时请告诉我你的 Obsidian 仓库路径,我会在其中创建 微信读书阅读助手/ 知识库目录(结构见第三步)。
本技能对接微信读书 API,可读取书架、划线、想法、阅读统计、热门划线、推荐,并能聚合出进阶功能所需数据。
调用方式(唯一可靠入口):使用内置客户端脚本,密钥从环境变量 WEREAD_API_KEY 或同目录 .env 自动读取(不要把 Key 写进技能或打印到回复)。
# 用任意 Python3 环境运行(系统 python3 或 Agent 托管 Python 均可);脚本路径相对本技能目录
PY="python3" # 或指向你本机 Python 的绝对路径
CLIENT="scripts/weread_client.py"
FEAT="scripts/reading_features.py"
# 基础接口
$PY $CLIENT /shelf/sync
$PY $CLIENT /book/info --params '{"bookId":"40405120"}'
$PY $CLIENT /store/search --params '{"keyword":"三体","scope":10}'
# 进阶功能聚合(v5 新增)
$PY $FEAT resume # 催读复习:未读完的书清单
$PY $FEAT allnotes # 跨书关键词:聚合所有笔记
$PY $FEAT mindmap --params '{"bookId":"823426"}' # 思维导图:章节结构
$PY $FEAT compare --params '{"bookIds":["823426","522205"],"theme":"说服"}' # 主题对比
$PY $FEAT hotspots --params '{"bookId":"823426"}' # 热门划线 Top20
- 网关:
https://i.weread.qq.com/api/agent/gateway(POST,JSON) - 鉴权:
Authorization: Bearer $WEREAD_API_KEY,Key 由脚本从环境变量或同目录.env读取 - 版本号:每次请求自动带
skill_version: "1.0.4" - 参数平铺:业务参数与
api_name、skill_version同级,不要包在params对象里 - 时间戳:回包里所有 Unix 时间戳展示时转
YYYY-MM-DD;阅读时长(秒)转x小时y分钟 - deepLink:回包有
deepLink时,展示为[打开阅读]({deepLink}),不要手拼weread://
常用接口速查
| 接口 | 用途 | 关键参数 | 分页 |
|---|---|---|---|
/shelf/sync |
书架列表(含 finishReading、readUpdateTime) |
无 | 无 |
/book/info |
书籍详情 | bookId | 无 |
/book/chapterinfo |
章节目录(含子标题 anchors) |
bookId | 无 |
/book/bestbookmarks |
热门划线 Top20 | bookId, chapterUid(0=全书) | 无 |
/book/bookmarklist |
我的划线 | bookId | 无 |
/review/list/mine |
我的想法/点评 | bookid(小写!), synckey, count | synckey 游标 |
/user/notebooks |
笔记本概览(有笔记的书,含 readingProgress) |
count, lastSort | lastSort 游标 |
/store/search |
搜索书籍 | keyword, scope(0全部/10电子书/14听书/16网文), maxIdx | maxIdx 偏移 |
/readdata/detail |
阅读统计 | mode(weekly/monthly/annually/overall), baseTime | 无 |
/book/recommend |
个性化推荐(为你推荐) | count, maxIdx | maxIdx 偏移 |
/book/similar |
相似书推荐 | bookId, count, maxIdx, sessionId | maxIdx 偏移 |
> 进阶聚合命令($FEAT)见下文「四、五大进阶功能」;完整字段说明见 references/weread-api.md。
二、三步走工作流(核心)
第一步:带着问题读书 🎯
触发:「我要读《XX》」+ 想解决的问题 / 「推荐《XX》的重点章节」
执行:
1. /shelf/sync 找到 bookId(用户给书名时先查;给 bookId 直接用)
2. /book/info 取详情(简介、评分、字数)
3. /book/chapterinfo 取完整目录
4. /book/bestbookmarks 取热门划线 Top20(提炼大众验证过的核心观点)
5. 结合用户问题,给每章打"与问题的关联度",推荐 3–5 章
输出格式:
## 🎯 你的问题:[用户问题]
## 📚 推荐重点章节(按优先级)
1. ⭐⭐⭐⭐⭐ 第X章:[章节名]
推荐理由:[这章怎么解决你的问题]
核心剧透:[从热门划线提炼的相关观点]
...
## 💡 提前剧透核心观点(5个)
1. ...
## 📖 阅读建议
先读第X章→第Y章→第Z章,带着"[具体问题]"去读,遇到有用的立刻划线。
原则:推荐 3–5 章不贪多;每章必须有明确理由;剧透观点来自热门划线而非编造;给阅读顺序。
第二步:划线同步 📝
触发:「同步《XX》的划线」/「看看我的笔记」
执行:
1. 确认 bookId
2. /book/bookmarklist 取所有划线(updated[],含 markText、chapterUid)
3. /review/list/mine 取所有想法/点评(reviews[],含 content、abstract 原文、chapterName);注意参数是小写 bookid
4. 用 chapters 把划线按章节分组;想法能关联划线时放在对应划线下方
5. 统计:划线数、想法数、涉及章节数
输出格式:
## 📝 《[书名]》划线同步完成
- 划线:X 条 | 想法:X 条 | 涉及章节:X 章
## 按章节预览
### 第X章 [章节名](X条)
> [划线原文]
💭 想法:[想法内容]
笔记数口径:统计"笔记总数"=reviewCount + noteCount + bookmarkCount;"可导出内容"=划线+想法(书签只计数量,不可导出内容)。
第三步:AI 整理知识卡片 🗂️
触发:「整理知识卡片」/「生成知识卡片」(通常会先自动跑第二步)
执行:
1. 先同步划线+想法(第二步)
2. 对每条内容深度分析:提炼核心观点、判断适用场景
3. 自动分类:
- 实践案例 → 00_实践案例/:有明确步骤、可直接套用、解决眼前具体问题
- 通用知识 → 01_通用知识/:底层原理、思维模型、概念定义,短期不用但长期复用
4. 按模板生成结构化卡片(见 references/knowledge-card-template.md)
5. 写入 Obsidian 知识库(路径见下),并回写 03_索引MOC/读书索引.md
Obsidian 落库路径(首次使用请指定你的 Obsidian 仓库路径,我会自动创建):
{{OBSIDIAN_VAULT}}/微信读书阅读助手/
├── 00_实践案例/ # 立刻能用的方法话术步骤
├── 01_通用知识/ # 底层原理思维模型
├── 02_书籍笔记/ # 每本书一份完整笔记
└── 03_索引MOC/ # 主题索引知识地图
> 说明:{{OBSIDIAN_VAULT}} 替换为你本机的 Obsidian 仓库根目录(例如 C:/Users/你的用户名/Documents/Obsidian Vault)。直接告诉我路径,我帮你建好整个知识库结构。
每张卡片:保留原文摘录、用 [[双向链接]] 串联、带 frontmatter(title/category/source/tags/created)。
分类判定口诀:
- 看到"怎么做/步骤/话术/模板" → 实践案例
- 看到"为什么/原理/概念/可迁移" → 通用知识
第四步(进阶):结构化思维模型陪练 🥊
理念:借鉴中信出版社 BookSkills「书 + AI 陪练」——不是"把书讲给你听",而是"拿书里的方法,处理你自己的真实问题"。把"知道"变成"做到"再到"内化"。
触发:「用《XX》的方法分析我的问题」/「陪练」
执行(结构化五步):
1. 真问题挖掘:追问帮用户挖出卡住他的真实症结(不是表面问题)
2. 结构化流程约束:按书的思维框架,固定顺序一步步引导,不让跳步
3. 关键杠杆识别:从一堆事里定位"最致命的 20%",先打这个点
4. 生成行动方案:输出"做什么 / 何时做 / 怎么验证"(带 owner+时间+验收)
5. 复盘迭代:用户执行后回来,记住背景/行动/结果,持续迭代
内置模型库见 references/thinking-models.md:《李诞工作手册》《把任何东西卖给任何人》《影响力》《非暴力沟通》《认知觉醒》《人性的弱点》《灰犀牛》等(每本含可复用陪练流程)。
陪练原则:追问而非回答;生成行动方案而非鸡汤;有记忆(记住背景/目标/复盘);是陪练不是老师。
三、五大进阶功能(v5 新增,微信读书官方 AI Skill 玩法)
> 数据底层均来自微信读书真实接口;聚合命令通过 $FEAT(reading_features.py)串联多接口完成。
功能1:催读复习 🔔
触发:「催我读」/「提醒我接着读」/「我读到哪了」/「哪些书没读完」
执行:
1. $PY $FEAT resume → 未读完的书清单(按最近阅读时间排序,含 readingProgress、readUpdateDate、deepLink)
2. 取列表前部 1–3 本(或用户指定),对每本:
- /book/chapterinfo 取前几章标题
- /book/bestbookmarks(chapterUid=0)或 /book/bookmarklist 取你在该书的划线 → 提炼"前三章精髓"
3. 生成催读卡片
输出格式:
## 🔔 该接着读了
1. 《活着》— 最后读 2026-08-07 | [打开阅读](deepLink)
前三章精髓:[从热门划线提炼的 2–3 个核心观点]
一句话提醒:[结合你的划线/问题,鼓励接着读]
...
备注:readingProgress 仅在"有笔记的书"上显示;未显示进度的书按"最近阅读时间"判断该不该催(越近越该催)。只提醒、不强推。
功能2:一键思维导图 🧠
触发:「给《XX》画个脑图」/「思维导图」/「《XX》的结构」
执行:
1. $PY $FEAT mindmap --params '{"bookId":"823426"}' → 章节结构(含子标题 anchors)+ 热门划线 Top20
2. AI 生成思维导图:中心=书名,一级=章节,二级=子标题/热门观点
3. 默认用 Mermaid 代码块呈现(用户要可视化可进一步生成 HTML)
输出格式(Mermaid 示例):
mindmap
root((影响力))
影响力的武器
互惠
承诺和一致
喜好
权威
稀缺
备注:章节多时只展开前 2 级,避免过载;热门观点挑 3–5 条最有代表性的。
功能3:书评 / 朋友圈文案 ✍️
触发:「写篇《XX》的书评」/「帮我写短书评」/「发朋友圈的文案」
执行:
1. 取该书划线+想法:/book/bookmarklist + /review/list/mine(参数小写 bookid)
2. /book/info 取简介、评分
3. AI 撰写
输出格式:
- 书评(约 500 字):一句话定位 + 核心观点 + 你的划线印证 + 适合谁读
- 朋友圈文案(≤3 行):1–3 条划线 + 一句感悟,可带书封/书名
备注:必须基于用户真实划线/想法,不替用户编造阅读体验;朋友圈文案口语、有温度。
功能4:跨书关键词提取 🔑
触发:「我最近都在关注什么」/「从我的划线里提取关键词」/「我的阅读主题」
执行:
1. $PY $FEAT allnotes → 聚合所有"有笔记的书"的划线+想法
2. AI 做词频/主题聚类:提取反复出现的关键词,归纳长期关注主题,点出"你真正在想的事"
3. 可选:生成「阅读主题画像」卡片存 Obsidian(放 02_书籍笔记 或 03_索引MOC)
输出格式:
## 🔑 你的阅读主题画像
高频关键词:说服 / 沟通 / 需求 / 情绪 / 影响力 ...
长期关注:你在"如何影响他人、如何表达"上投入最多
一句话:你读的书,都在帮你成为一个更会"让人行动"的人
备注:画像精度依赖你实际划线的量——划线越多越准。数据稀疏时如实说明"样本还少"。
功能5:主题交叉对比 📚
触发:「把我书架里讲[说服]的书对比一下」/「《XX》和《YY》核心观点有什么不同」
执行:
1. 确定主题或书单(用户给书名→先 /shelf/sync 或 /store/search 找 bookId)
2. $PY $FEAT compare --params '{"bookIds":["823426","522205"],"theme":"说服"}' → 每本书热门划线+我的划线
3. AI 横向对比:相同点 / 不同视角 / 各自适用场景 / 互补关系
输出格式:
## 📚 主题对比:[说服]
| 维度 | 《影响力》 | 《人性的弱点》 |
|------|-----------|--------------|
| 核心机制 | 六大原则(互惠/稀缺…) | 真诚关注/避免批评 |
| 适用场景 | 一次性说服、营销 | 长期关系经营 |
| 互补点 | 术;《人性的弱点》是道 |
一句话总结:[两者如何配合]
备注:可扩展到 3 本以上;优先用"热门划线"保证对比基于大众验证的共识观点。
四、能力映射总表
| 能力 | 对应接口/命令 | 说明 |
|---|---|---|
| 📚 书架管理 | /shelf/sync |
书架数量=books.length + albums.length + (mp非空?1:0),可跑 scripts/refresh_bookshelf.py 生成实时缓存 |
| 📝 笔记划线 | /book/bookmarklist + /review/list/mine + /user/notebooks |
单本书划线+想法;或笔记本概览看哪些书有笔记、各多少条 |
| 📊 阅读统计 | /readdata/detail |
mode:weekly/monthly/annually/overall;返回总时长、有效天数、读书排行、偏好分类/时段/作者 |
| 🔍 书籍搜索 | /store/search |
scope:0全部/10电子书/14听书/16网文;已验证可用(搜"三体"返回20条) |
| ⭐ 热门划线 | /book/bestbookmarks 或 $FEAT hotspots |
全书 Top20,含原文+划线人数;chapterUid=0 全书 |
| 🎯 个性化推荐 | /book/recommend + /book/similar |
recommend=为你推荐;similar=某本书的相似书 |
| 🔔 催读复习 | $FEAT resume |
未读完清单(书架 finishReading=0 + 笔记本 readingProgress 合并,按最近阅读排序) |
| 🧠 一键思维导图 | $FEAT mindmap |
章节结构(含子标题)+ 热门划线,AI 生成 Mermaid |
| ✍️ 书评/朋友圈 | /book/bookmarklist + /review/list/mine + /book/info |
AI 基于真实划线撰写 |
| 🔑 跨书关键词 | $FEAT allnotes |
聚合所有有笔记书的划线+想法,AI 聚类主题 |
| 📚 主题交叉对比 | $FEAT compare |
多本书热门划线+我的划线,AI 横向对比 |
五、工作流触发场景
| 用户说的话 | 执行 |
|---|---|
| 「微信读书阅读助手」/「调用读书技能」 | 提示选择三步走中的哪一步 |
| 「我要读《XX》,想解决[问题]」 | 第一步:带着问题读书 |
| 「看看我的书架」 | /shelf/sync |
| 「同步《XX》的划线」 | 第二步:划线同步 |
| 「整理《XX》的知识卡片」 | 第二步+第三步 |
| 「我这个月读了多少」 | /readdata/detail mode=monthly |
| 「搜一下[书/作者]」 | /store/search |
| 「《XX》有什么热门划线」 | /book/bestbookmarks 或 $FEAT hotspots |
| 「给我推荐几本书」/「类似《XX》的书」 | /book/recommend / /book/similar |
| 「催我读」/「哪些书没读完」 | 功能1:催读复习 $FEAT resume |
| 「给《XX》画个脑图」 | 功能2:一键思维导图 $FEAT mindmap |
| 「写篇《XX》的书评」/「发朋友圈文案」 | 功能3:书评/朋友圈 |
| 「我最近关注什么」/「我的阅读主题」 | 功能4:跨书关键词 $FEAT allnotes |
| 「《XX》和《YY》对比」/「讲[说服]的书对比」 | 功能5:主题交叉对比 $FEAT compare |
| 「用《XX》的方法分析我的问题」 | 第四步:结构化思维模型陪练 |
| 「从知识库找[主题]」 | 搜 Obsidian 库 |
六、重要原则
- 问题导向:先问清要解决什么问题,再推荐内容
- 最小有效剂量:推荐 3–5 章,避免信息过载
- 可操作性优先:实践类卡片必须有具体行动指引
- 原文保留:每张卡片保留原文摘录,方便回溯
- 双向链接:主动用
[[卡片名]]建立知识关联 - 密钥安全:Key 只在
.env中,由脚本读取;绝不在回复/日志打印 - 不编造数据:所有展示基于接口真实返回;接口失败给出温和提示(如"书架信息暂时没拉到,请稍后再试~")
- 陪练核心:追问而非回答,生成行动方案而非鸡汤
- 催读不骚扰:只列未读完、按最近阅读时间判断,不强制、不刷屏
- 画像要诚实:跨书关键词/主题画像精度依赖真实划线量,样本少就如实说
七、参考文件
references/weread-api.md— 接口字段速查(含$FEAT聚合命令)references/knowledge-card-template.md— 两类卡片模板 + 命名/标签规范references/thinking-models.md— 结构化陪练框架 + 内置思维模型库scripts/weread_client.py— 基础 API 客户端(读取 .env Key)scripts/reading_features.py— 五大进阶功能聚合脚本(v5 新增)references/FAQ.md— 常见问题(Key 配置、笔记显示不全、搜不到书、Obsidian 路径、反模式)references/welcome.md— 首次使用引导菜单(含糊唤起时主动输出,含新手推荐路线)scripts/refresh_bookshelf.py— 一键刷新书架缓存