VS Code 阅读中心
在 VS Code 状态栏按页阅读当前账号有权访问的内容。支持微信读书和番茄小说,分别保存书架缓存、当前书籍、章节及页码。
本扩展是非官方第三方工具,与腾讯、微信读书、字节跳动、番茄小说及相关版权方不存在隶属、合作、授权或官方认可关系。
功能
- 在状态栏显示章节名称和分页正文。
- 上一页、下一页、上一章、下一章及目录选章。
- 自动恢复每个书源上次阅读的书籍、章节和页码。
- 书架按书名搜索,完整书架和完整目录本地缓存。
- 书架与目录底部提供手动刷新入口。
- 后续两章静默预加载,前台阅读请求优先。
- 老板键、可选操作按钮、点击正文翻页及自定义快捷键。
- 微信读书 ReaderState、HTTPS 连接和正文请求复用。
- 番茄后台 Chrome、Context 和工作页面复用,空闲 15 分钟自动关闭。
- 多个 VS Code 窗口共用一个番茄后台 Chrome;主窗口退出后自动接管。
- 番茄 WOFF2 动态字体解析、字形指纹复用及系统 OCR 兜底。
- 登录凭据保存在 VS Code
SecretStorage,不会写入工作区。
使用边界
- 只能读取当前账号本身有权访问的内容,不绕过登录、付费、会员、SVIP 或版权限制。
- 不提供整本下载、批量导出、EPUB/PDF/TXT 生成、公开正文接口或跨用户内容共享。
- 网页内部接口可能随服务升级而变化;Marketplace 安装或审核通过不代表相关服务官方授权。
- 用户应自行确认使用方式符合服务协议、版权要求和适用法律。
系统要求
- VS Code
1.90.0 或更高版本。
- macOS 或 Windows。Linux 可使用主要阅读功能,但番茄未知动态字形没有系统 OCR 兜底。
- 自动登录需要安装 Google Chrome。
- Windows 番茄后台运行阶段在 Chrome 不可用时可尝试 Microsoft Edge。
- 微信读书需要腾讯微信读书 Skill API Key,通常以
wrk- 开头。
微信读书 Skill 项目:
npx skills add Tencent/WeChatReading -g
安装
Marketplace
在 VS Code 扩展面板搜索 VS Code 阅读中心,然后点击“安装”。
VSIX
在扩展面板右上角选择“从 VSIX 安装…”,选择发布页下载的最新 .vsix 文件;也可以运行:
code --install-extension vscode-reading-hub-x.y.z.vsix
升级时直接安装新版本 VSIX 即可,不需要先卸载旧版本。
快速开始
- 打开命令面板:macOS 使用
Cmd+Shift+P,Windows/Linux 使用 Ctrl+Shift+P。
- 执行
阅读:切换书源,选择微信读书或番茄小说。
- 按提示配置并登录当前书源。
- 登录成功后插件会自动开始阅读;没有阅读记录时会展示完整书架供选择。
- 后续执行
阅读:开始阅读,会直接恢复上次位置。
微信读书
配置 API Key
执行 阅读:配置服务 API Key,输入以 wrk- 开头的 API Key。API Key 保存到 VS Code SecretStorage。
自动登录
- 执行
阅读:登录当前阅读服务,选择微信读书。
- 在独立 Chrome 窗口扫码登录。
- 打开任意书籍正文并翻一页。
- 插件捕获网页阅读请求所需的 Cookie 和授权头后完成登录。
自动登录使用独立临时浏览器目录,不读取日常 Chrome 配置。
手动登录
自动登录无法捕获请求时:
- 在微信读书网页版打开正文和开发者工具
Network。
- 翻一页并找到
/web/book/read 请求。
- 右键选择
Copy as cURL。
- 执行
阅读:配置网页登录态 并粘贴完整 cURL。
cURL 包含账号凭据,不要发送给他人或提交到代码仓库、Issue 和日志。
番茄小说
登录
- 执行
阅读:登录当前阅读服务,选择番茄小说。
- 插件打开独立 Chrome 窗口。
- 完成登录并打开任意小说正文。
- 插件确认当前账号能够访问正文后保存登录态。
日常阅读使用不可见的后台 Chrome。Chrome 不只是登录窗口,还用于运行番茄官方网页安全脚本、生成请求参数、调用书架/目录/正文接口、捕获动态字体和续期登录状态。
书架与目录
- 书架使用番茄完整书架 ID 接口和书籍详情接口,一次性展示完整书架。
- 目录使用番茄目录接口和书籍页返回的完整章节数据,一次性展示全部章节。
- 完整结果写入本地缓存,再次打开时优先使用缓存。
- 只有点击底部“刷新书架”或“刷新章节目录”时才主动更新对应缓存。
动态字体
番茄正文可能使用动态字体编码。扩展依次尝试:
- 读取字体元数据中的原字符映射。
- 解压 WOFF2 并通过字形轮廓指纹复用历史识别结果。
- 对仍未知的段落使用系统 OCR:macOS 使用 Vision,Windows 使用
Windows.Media.Ocr。
- 无法识别的少量字符原样保留,不阻断整章。
多窗口
- 同一用户环境只会有一个番茄主实例和一个后台 Chrome。
- 其他 VS Code 窗口通过本机 Unix Socket 或 Windows 命名管道请求主实例。
- 阅读进度会通知其他窗口,用于同步后续恢复位置。
- 主窗口关闭后,仍在运行的窗口自动接管。
- IPC 只在本机当前用户环境中使用,不连接插件作者的服务器。
命令
| 命令 |
作用 |
阅读:切换书源 |
切换微信读书或番茄小说;登录成功后自动开始阅读 |
阅读:开始阅读 |
恢复上次位置;没有书籍记录时选择书籍 |
阅读:书架 |
展示完整书架、搜索书名或刷新书架 |
阅读:目录 |
展示完整目录、选择章节或刷新目录 |
阅读:刷新 |
重新获取当前章节正文 |
阅读:上一页 / 阅读:下一页 |
状态栏分页 |
阅读:上一章 / 阅读:下一章 |
切换章节 |
阅读:老板键(显示/隐藏) |
隐藏或恢复正文 |
阅读:显示/隐藏操作按钮 |
切换状态栏 « ‹ › » 按钮 |
阅读:允许/禁止点击正文翻页 |
切换点击正文进入下一页 |
阅读:登录当前阅读服务 |
登录或更新当前书源登录态 |
阅读:清除登录信息和缓存 |
清除凭据、阅读记录及本地缓存 |
快捷键
| 操作 |
macOS |
Windows/Linux |
| 开始阅读 |
Cmd+Option+; |
Ctrl+Alt+; |
| 上一页 |
Cmd+, |
Ctrl+Alt+, |
| 下一页 |
Cmd+. |
Ctrl+Alt+. |
| 上一章 |
Cmd+Option+↑ |
Ctrl+Alt+↑ |
| 下一章 |
Cmd+Option+↓ |
Ctrl+Alt+↓ |
| 显示/隐藏 |
Control+Cmd+M |
Ctrl+Alt+M |
快捷键只在阅读器相应状态下生效。发生冲突时可关闭 vscodeReading.enableDefaultKeybindings,然后在 VS Code 键盘快捷方式中重新绑定。
设置
| 设置项 |
默认值 |
说明 |
vscodeReading.statusBarMaxLength |
50 |
每个状态栏分页的目标最大字数,范围 20–160 |
vscodeReading.showControlButtons |
false |
显示 « ‹ › » 操作按钮 |
vscodeReading.clickContentToNext |
false |
点击正文进入下一页 |
vscodeReading.enableDefaultKeybindings |
true |
启用扩展默认快捷键 |
vscodeReading.proxy |
空 |
微信读书请求代理;留空时使用 VS Code http.proxy |
vscodeReading.performanceLogging |
false |
在“阅读中心性能”输出频道记录不含正文和凭据的耗时 |
缓存与隐私
- 微信读书正文、ReaderState 和完整书架缓存在扩展进程内存或 VS Code 本地状态中。
- 番茄完整书架、完整目录、最近读取或预加载的 20 章正文及字体映射保存在扩展全局存储目录。
- 番茄下一批最多两章会静默预加载,不会下载整本书。
- Cookie、授权头和 API Key 保存在 VS Code
SecretStorage。
- 性能日志默认关闭;开启后不记录正文、Cookie、Token 或请求头。
- 执行
阅读:清除登录信息和缓存 可删除上述登录信息、阅读记录和缓存。
完整说明见仓库内的 PRIVACY.md。
常见问题
开始阅读时为什么会打开书架?
只有当前书源没有保存的书籍记录时才打开书架。已有记录时直接读取缓存目录并恢复章节;恢复失败会显示实际错误,不会自动要求重新选书。
番茄后台 Chrome 是否可见?
只有明确执行登录时显示 Chrome 窗口。日常书架、目录、正文和动态字体处理使用不可见后台 Chrome。
多个窗口是否会启动多个 Chrome?
不会。同一用户环境使用全局锁和本机 IPC,只由主窗口持有一个番茄后台 Chrome。
书架或目录不是最新数据
打开对应选择框,点击底部“刷新书架”或“刷新章节目录”。正常打开优先使用完整缓存,避免每次重复请求。
正文为空、只有试读内容或提示权限不足
先在对应服务网页版确认当前账号能够完整阅读该章节。扩展不会绕过账号权限;网页版可读但扩展不可读时,重新登录并执行 阅读:刷新。
番茄出现少量乱码
先执行 阅读:刷新。首次遇到新动态字体时可能需要 OCR;Windows 请确认系统安装了简体中文语言功能。Linux 没有原生 OCR 兜底。
网络超时、ECONNRESET 或 TLS 错误
检查网页版访问和代理设置。微信读书可配置 vscodeReading.proxy;请只使用可信代理。
VS Code 关闭时仍有后台 Chrome
当前版本会在扩展释放时立即取消番茄排队任务并关闭后台页面、Context 和浏览器。如果系统仍残留进程,请重启 VS Code 后重试。
许可证与第三方权利
项目源代码采用 MIT License。该许可证不授予任何第三方商标、书籍正文、服务接口或平台内容权利。