微信读书书架管理

查看书架、管理电子书和有声书

✨ The solution you've been looking for

查看微信读书书架,包括电子书和专辑/有声书。了解书架总数计算规则,包括电子书、专辑和文章收藏。

微信读书 书架管理 有声书

See It In Action

Interactive preview & real-world examples

Live Demo
Skill Demo Animation

AI Conversation Simulator

See how users interact with this skill

User Prompt

我的书架里有多少本书?

Skill Processing

查询中...

Agent Response

你的书架共有13个条目:10本电子书 + 3个专辑/有声书

Quick Start (3 Steps)

Get up and running in minutes

1

Install

2

Config

设置 WEREAD_API_KEY 环境变量
3

First Trigger

Commands

CommandDescriptionRequired Args
查看书架查看用户书架None

Typical Use Cases

查看书架

查看用户的书架内容

Overview

shelf — 书架管理

重要概念

专辑 = 有声书,两者是同一概念。微信读书中,有声书/听书内容以"专辑"形式存在,存放在书架的 albums 字段中,与 books(电子书)完全独立。

书架里的"书"包含电子书和专辑/有声书。 当用户问"我的书架里有多少本书"“书架有多少本"“书架总数"时,不能只数 books[],必须同时计入 albums[]

常见错误:

  • ⚠️ 不要通过遍历 books 逐个调 /book/info 检查 format 来判断有声书——/book/info 不返回 format 字段,且效率极低。直接使用 albums 字段即可。
  • ⚠️ 书架数量必须用实际返回数组计算,且必须包含 albums[];不要只用 books.length 回答"书架里有多少本书”。
  • ⚠️ 公开/私密阅读数量也必须遍历实际返回条目,不能使用任何未出现在数组中的补丁项。

接口

/shelf/sync

请求参数: 无(用户身份通过 API Key 自动识别)

回包:

字段说明
books[]可枚举的电子书/导入书/公众号类书籍条目数组,不含 albums[],也不含 mp 文章收藏入口
books[].bookId书籍唯一标识
books[].title书名
books[].author作者
books[].cover封面图 URL
books[].category分类
books[].readUpdateTime最近阅读时间(Unix 时间戳)
books[].finishReading是否读完(1=读完)
books[].updateTime书籍更新时间
books[].isTop是否置顶
books[].secret是否私密(1=私密)
albums[]专辑/有声书数组(与 books 完全独立)
albums[].albumInfo.albumId专辑唯一标识
albums[].albumInfo.name专辑名称
albums[].albumInfo.authorName演播/作者
albums[].albumInfo.cover封面图 URL
albums[].albumInfo.trackCount音频集数
albums[].albumInfo.finishStatus完结状态(如"已完结”)
albums[].albumInfo.finish是否完结(1=完结)
albums[].albumInfo.payType付费类型
albums[].albumInfo.intro专辑简介
albums[].albumInfo.updateTime更新时间(Unix 时间戳)
albums[].albumInfoExtra.secret是否私密
albums[].albumInfoExtra.lecturePaid是否已购买(1=已购买)
albums[].albumInfoExtra.lectureReadUpdateTime最近收听时间
albums[].albumInfoExtra.isTop是否置顶
mp文章收藏入口对象;只表示"文章收藏"目录入口,不包含具体文章内容;非空时表示书架界面有 1 个"文章收藏"条目,不包含在 books[]/albums[]
archive[].name书单名称
archive[].bookIds书单内的 bookId 列表
bookCount可枚举电子书数量,通常等于 books[].length;不含 albums[]mp

数量口径

用户问题/指标正确计算方式说明
书架界面有多少本/多少条目books.length + albums.length + (mp 非空 ? 1 : 0)默认回答这个口径;用户说"书架里的书"时也包含专辑/有声书
电子书数bookCountbooks.lengthbooks[],不含专辑和文章收藏;只有用户明确问"电子书"时才用这个口径
有声书/专辑数albums.length专辑按有声书管理,也是书架总数的一部分
是否有文章收藏mp 非空 ? 1 : 0mp 是单独入口,但其中不包含文章收藏的具体内容

⚠️ 强制回答规则:当用户问任何书架数量问题时,必须使用实际可枚举数组计算:books.length + albums.length + (mp 非空 ? 1 : 0)。其中 albums.length 必须计入,因为专辑/有声书在书架里也按"书"管理。不要使用其他服务端内部计数字段或基于内部计数字段的公式。

Few-shot:正确计算书架总数

例 1:有电子书和专辑,无文章收藏

回包关键信息:

  • books.length = 10
  • albums.length = 3
  • mp 为空

用户问:“我的书架里有多少本书?”

正确回答:

你的书架共有 13 个条目:10 本电子书 + 3 个专辑/有声书。

错误回答:

你的书架共有 10 本书,另外还有 3 个有声书。

错误原因:用户问的是书架里的书,专辑/有声书也在书架里按"书"管理,必须计入总数,不能"另外还有"。

例 2:无专辑,有文章收藏

回包关键信息:

  • books.length = 15
  • albums.length = 0
  • mp 非空
  • 统计出 books 中包含 13 个公开阅读书籍 + 2 个私密阅读书籍

用户问:“我的书架有多少本书?”

正确回答:

你的书架共有 16 个条目:15 个书籍条目 + 1 个文章收藏;其中公开阅读 13 个、私密阅读 3 个。 解释:mp 非空时,文章收藏计入书架总数,并固定计入私密阅读数量。

错误回答:

你的书架共有 10 本书。

错误原因:漏计了 mp(文章收藏)和 albums(有声书),且错误使用了服务端内部计数字段。

Environment Matrix

Dependencies

WEREAD_API_KEY 环境变量

作者
weread
1.0.3
2026-05-17
reading