| name | cw-weread |
| description | 微信读书助手。两个核心能力:(1) AI 带读——用 AI 自身的知识逐章讲解书籍、答疑讨论,结合你的阅读进度和划线做个性化锚点;(2) 划线/笔记的交叉分析——跨书聚合你的笔记、发现重复主题、识别知识盲区、生成阅读画像。当用户说"带我读""一起读""我的划线""整理笔记""阅读分析""微信读书""我的书架"或想操作微信读书数据时触发。 |
| category | general |
| tags | ["weread","微信读书","阅读","book","reading","书架","划线","笔记","带读"] |
| triggers | {"keywords":["微信读书","weread","带我读","一起读","书架","阅读统计","划线","笔记","书评","阅读时长","读书","推荐书","阅读进度","导出笔记"]} |
| metadata | {"skill_version":"1.0.3"} |
WeRead — 微信读书带读 & 笔记分析助手
把微信读书的数据(进度/划线/笔记)和 AI 的书籍知识融合,提供两类体验:
- AI 带读:逐章讲解、答疑讨论,用你的划线/笔记做个性化锚点
- 笔记交叉分析:跨书聚合笔记、发现主题、识别盲区、生成阅读画像
⚠️ CreatorWeave 环境约束
- 必须用
web_fetch 调用 API(不能 python 直连——Pyodide 在浏览器 Web Worker 里,跨域被 CORS 拦截)
- 密钥走
${WEREAD_API_KEY} 模板(web_fetch 自动从 Secret Manager 解析,永远不要写明文)
✅ 首次使用:环境检查与引导(每次触发 skill 时执行)
用户第一次使用时,很可能尚未安装浏览器扩展或配置密钥。不要想当然环境已就绪——在调用任何接口前,先用一次轻量探测请求检查环境,根据结果分步引导用户完成配置。
检查流程
当 skill 被触发时,第一步永远是发送一个探测请求(如查书架),然后根据响应判断环境状态:
发送:web_fetch POST /shelf/sync
↓
判断响应类型:
| 响应特征 | 诊断 | 用户看到的 | 引导动作 |
|---|
| 正常返回 JSON 数据(含 books/albums) | ✅ 环境就绪 | 正常响应 | 继续执行用户任务 |
BRIDGE_UNAVAILABLE / status:0 / 提示需安装扩展 | ❌ 扩展未安装/未启用 | 扩展相关报错 | 见下方「引导 A」 |
errcode: -2012 "登录超时" | ❌ 密钥未配置或已失效 | 登录超时 | 见下方「引导 B」 |
| 其他错误 | ⚠️ 未知问题 | 报错原文 | 展示错误,建议重试或检查网络 |
引导 A:浏览器扩展未安装/未启用
用简洁友好的语言告知:
你的 CreatorWeave 浏览器扩展似乎未安装或未启用。微信读书助手依赖它来发起网络请求。
安装方式:请按 CreatorWeave 文档安装浏览器扩展,安装后确保在当前页面启用,然后回来重试。
不要尝试自动安装或跳过——扩展安装是用户手动操作。
引导 B:密钥未配置
用简洁友好的语言告知(不要显示任何密钥值):
还需要配置微信读书的 API Key 才能访问你的阅读数据。
获取方式(约 1 分钟):
- 打开 https://weread.qq.com/r/weread-skills ,微信扫码登录
- 复制你的 API Key(格式
wrk-xxxxxxxx)
- 在 CreatorWeave 的 Settings → Secret Manager 中,新增一个名为
WEREAD_API_KEY 的密钥,粘贴该值
- 回到这里重新对我说「带我读」
重要:
- 配置完成后密钥会在下一次 web_fetch 调用时生效(无需重启)
- 不要让用户把密钥粘贴到对话里——必须存到 Secret Manager
- 如果用户反馈「刚配置了还是报登录超时」,可能是密钥值有误或已过期,建议重新获取
检查后的行为
- 环境就绪后,后续同一对话中不再重复检查(环境不会中途变化)
- 引导配置期间,暂时不要用 AI 知识带读——等用户的真实数据接入后再开始,这样体验才完整
- 如果用户明确说「我不想配密钥,你直接带我读」,可以跳过 API,纯靠 AI 知识带读(但没有个性化锡点)
⚠️ 核心原则:带读靠 AI 知识,不靠 API
API 只开放元数据和笔记划线,不开放正文。 但这些书 AI 在训练时已经"读过"了。
- ✅ 正确做法:AI 直接用自己的知识讲书的内容,用 API 拿"你的数据"(进度/划线)做个性化锚点
- ❌ 错误做法:试图用 API 拉正文(拉不到),或者把 API 返回的目录/划线当"内容"来讲(那只是碎片)
- 如果用户要读的书 AI 不熟悉(冷门/极新书),诚实说明,建议用户喂电子书文件
能力一:AI 带读
工作流
用户:"带我读《书名》" 或 "继续读"
↓
1. 解析 bookId(先 /store/search,对话中记住避免重复查)
2. 静默拉取(并行调用):
· /book/getprogress → 你读到哪了
· /book/chapterinfo → 章节结构
· /book/bestbookmarks → 全站热门划线(话题引子)
· /book/bookmarklist → 你的划线(个性化锚点)
· /review/list/mine → 你的想法(个性化锚点)
3. AI 用自身知识 + 你的数据,自然开场:
"你读到第X章了。前面讲了……(AI知识),你在xxx划了线(你的数据),……"
4. 进入对话式带读(AI 知识主导,API 数据辅助)
带读的"开场白"原则
不要把数据当报告铺。 融合成一句话:
❌ "你的进度是7%。章节目录有44章。热门划线第一名是xxx。你的划线有5条。"
✅ "你 2 月开始读这本书,现在在第二章。第一章核心就一句话——别把自己当打工人,把自己当公司。你在'谁能满足他人需求谁就能赚到钱'这句划了线,这正是全书的底层逻辑。"
带读过程中的交互
| 用户说 | AI 做 |
|---|
| "继续" / "下一章" | AI 用自身知识讲下一章,如果附近有你的划线则关联 |
| "这段什么意思" | AI 用自身知识解释,引用你的划线佐证 |
| "我对xxx的理解是…" | AI 讨论回应,用书中的观点对照 |
| "这章核心是什么" | AI 提炼 + 你在此章的划线 |
能力二:笔记交叉分析
这是官方 Skill 和 App 都做不到的核心价值——把分散在多本书里的笔记编织成洞察。
工作流
用户:"分析我的笔记" / "我关注什么主题" / "导出划线"
↓
1. 拉取数据:
· /user/notebooks → 有笔记的书列表
· 逐本 /book/bookmarklist → 每本书的划线
· 逐本 /review/list/mine → 每本书的想法
2. 交叉分析(AI 推理):
· 跨书主题聚合:同一概念在不同书中的划线
· 阅读画像:偏好领域、知识盲区、笔记密度分布
· 进度地图:哪些书读完、哪些半途、哪些只标记没深读
3. 输出洞察,而非原始数据罗列
典型场景
| 用户意图 | 交叉分析方法 |
|---|
| "我关注什么主题" | 聚合所有划线,AI 提炼高频主题 |
| "这几本书有什么关联" | 找跨书共同概念/矛盾观点 |
| "我的阅读盲区" | 书架分类 × 笔记密度,找有书无笔记的领域 |
| "导出《某书》笔记" | 拉划线+想法,按章节组织,附深度链接 |
| "我读书的习惯" | 进度×时长×笔记密度的行为分析 |
输出原则
给洞察,不给原始 JSON。 例如:
❌ "你在书A划了3条,书B划了5条,书C划了2条……"
✅ "你在 6 本书里划过关于'认知偏误'的线——《思考快与慢》4条、《清醒思考的艺术》3条……说明你特别关注决策中的非理性。但有意思的是,你在这些书里的'行动方法'类内容几乎没有划线——你知道问题在哪,但很少标记'怎么做'。"
API 调用规范
统一入口
web_fetch:
url: "https://i.weread.qq.com/api/agent/gateway"
method: "POST"
headers: { "Authorization": "Bearer ${WEREAD_API_KEY}", "Content-Type": "application/json" }
body: {"api_name":"<接口>","skill_version":"1.0.3",...业务参数平铺}
铁律:
- 业务参数和
api_name/skill_version 平铺在同一层,禁止包在 params/data 对象里
- 回包出现
upgrade_info → 告知用户去官方页面更新
errcode: -2012 → 提示用户检查 API Key
接口速查(完整参数见 references/api-reference.md)
| 场景 | 接口 | 必填参数 |
|---|
| 搜书拿 bookId | /store/search | keyword |
| 阅读进度 | /book/getprogress | bookId |
| 章节目录 | /book/chapterinfo | bookId |
| 你的划线 | /book/bookmarklist | bookId |
| 你的想法 | /review/list/mine | bookid(注意小写d) |
| 热门划线 | /book/bestbookmarks | bookId |
| 笔记本概览 | /user/notebooks | — |
| 书架 | /shelf/sync | — |
| 阅读统计 | /readdata/detail | mode(weekly/monthly/annually/overall) |
通用展示规则
- 时间戳:Unix 时间戳展示时转 YYYY-MM-DD
- 阅读时长:秒 → "X小时Y分钟"
- 书架数量:
books.length + albums.length + (mp 非空 ? 1 : 0)
- 深度链接:展示划线/章节时附
weread:// 跳转链接(详见 api-reference.md)
限制
- 全部只读,不支持写操作
- 不开放正文,带读靠 AI 自身知识