VS Code 阅读中心
在 VS Code 底部状态栏按页阅读当前账号有权访问的内容。当前版本支持微信读书,后续计划以独立内容源的方式扩展更多阅读服务。
非官方声明
本扩展为非官方第三方工具,与腾讯、微信读书及相关内容版权方不存在隶属、合作、授权或官方认可关系。本扩展仅为用户提供本地阅读辅助能力。用户应确保其使用方式符合微信读书服务协议、适用法律及相关内容版权要求。
使用边界
- 插件不会绕过付费、会员、订阅或账号权限,只能访问当前账号本身有权访问的内容。
- 不提供整本书批量下载、全书离线缓存、EPUB/PDF/TXT 导出、批量复制正文或公开正文接口。
- 不支持共享、公开传播或跨用户传递受版权保护的正文。
- 用户应自行承担使用第三方接口或登录信息所产生的账号安全和服务协议风险。
- 如相关权利方提出合理要求,项目维护者可能调整、限制或移除相关功能。
功能概览
- 在 VS Code 状态栏中间区域显示正文。
- 上一页、下一页、上一章和下一章。
- 自动记住上次阅读的书籍、章节和页码。
- 从书架重新选择书籍,从目录自由选择章节。
- 可配置状态栏文字长度、操作按钮和正文点击行为。
- 支持老板键快速显示或隐藏正文。
- 登录信息保存在 VS Code
SecretStorage,不写入普通配置文件。
- 已读取章节只保存在当前扩展进程的内存中,关闭 VS Code 后不会形成长期正文缓存。
使用前准备
开始前需要准备:
- VS Code
1.90.0 或更高版本。
- 可正常访问微信读书网页版的账号。
- 当前账号已经购买、订阅或通过会员获得目标内容的阅读权限。
- 微信读书 Skill API Key,格式通常以
wrk- 开头。
- 自动登录需要电脑上已安装 Google Chrome;没有 Chrome 时可以使用手动配置。
微信读书 Skill 可参考腾讯提供的项目安装:
npx skills add Tencent/WeChatReading -g
安装 Skill 和配置本扩展是两个步骤。仅执行上述命令不会自动把 API Key 写入 VS Code,本扩展仍需要通过命令单独保存 API Key。
安装扩展
从 Marketplace 安装
扩展发布后,在 VS Code 扩展面板中搜索 VS Code 阅读中心,点击“安装”。
从 VSIX 安装
如果你拿到的是 .vsix 文件:
- 打开 VS Code。
- 点击左侧“扩展”图标。
- 点击扩展面板右上角的
…。
- 选择“从 VSIX 安装…”。
- 选择
vscode-reading-hub-0.1.0.vsix。
- 安装结束后,按提示重新加载 VS Code。
也可以在终端执行:
code --install-extension vscode-reading-hub-0.1.0.vsix
第一次配置
第一次使用需要依次完成 API Key 配置和网页登录。最简单的顺序是:
阅读:配置服务 API Key
阅读:登录当前阅读服务
阅读:开始阅读
如何打开插件命令
以下教程中的所有命令都通过 VS Code 命令面板执行:
- Windows/Linux 按
Ctrl+Shift+P。
- macOS 按
Cmd+Shift+P。
- 输入命令名称,例如
阅读:开始阅读。
- 点击匹配的命令,或者按回车执行。
第一步:配置 Skill API Key
- 打开命令面板。
- 输入并执行
阅读:配置服务 API Key。
- 在输入框中粘贴以
wrk- 开头的微信读书 Skill API Key。
- 按回车保存。
- 看到“微信读书 API Key 已安全保存”即表示完成。
API Key 会保存到 VS Code SecretStorage。输入框采用密码模式,不会直接显示完整内容。
如果提示“API Key 必须以 wrk- 开头”,请检查:
- 是否误粘贴了空格、引号或命令文本;
- 是否拿错了其他平台的 Token;
- 是否复制了完整 API Key。
第二步:登录微信读书
推荐先使用自动登录。自动登录失败时,再使用手动配置。
方法 A:自动登录(推荐)
- 打开命令面板。
- 执行
阅读:登录当前阅读服务。
- 阅读安全提示后点击“开始登录”。
- 插件会打开一个独立的 Chrome 窗口。
- 在该窗口中扫码登录微信读书。
- 登录完成后,在同一个窗口打开任意一本书。
- 在网页阅读器中翻一页,使网页产生正文阅读请求。
- 保持窗口打开,等待 VS Code 提示“微信读书自动登录成功”。
- 成功提示出现后即可关闭独立 Chrome 窗口。
自动登录使用临时、独立的 Chrome 用户目录,不会读取你日常 Chrome 配置中的 Cookie。插件只捕获完成阅读请求所必要的微信读书 Cookie 和网页授权头,并保存到本机 VS Code SecretStorage。
如果一直停留在“等待微信读书扫码登录和阅读请求”:
- 确认已经扫码并真正进入了书籍正文页面;
- 必须在正文页面翻一页,仅打开书架通常不会产生目标请求;
- 确认独立 Chrome 窗口没有被提前关闭;
- 重试前先关闭上一次打开的独立 Chrome 窗口;
- 如果电脑没有 Chrome,请使用下面的手动方法。
方法 B:手动粘贴 cURL(备用)
手动方式适用于自动登录无法捕获请求的情况。
使用 Chrome 打开 微信读书网页版。
扫码登录,并确认网页端可以完整阅读目标书籍。
打开一本书并进入正文。
按 F12,或者右键页面选择“检查”,打开开发者工具。
点击开发者工具顶部的 Network(网络)。
建议勾选 Preserve log(保留日志)。
在过滤框中输入:
/web/book/read
回到正文页面翻一页。
在 Network 请求列表中找到名称为 read、地址包含 /web/book/read 的请求。
右键该请求,选择 Copy → Copy as cURL。
回到 VS Code,打开命令面板。
执行 阅读:配置网页登录态。
点击“粘贴登录态”。
将刚才复制的完整 cURL 粘贴到密码输入框并按回车。
看到“微信读书网页登录态已安全保存”即表示完成。
某些浏览器复制菜单可能显示为 复制 → 以 cURL 格式复制。应复制完整请求,不要只复制 URL。
cURL 中包含 Cookie 和登录授权信息,相当于临时账号凭据。不要发送给其他人,不要截图公开,不要保存到笔记、代码仓库、Issue 或聊天记录中。
开始阅读
完成 API Key 和登录配置后:
- 打开命令面板。
- 执行
阅读:开始阅读。
- 首次使用会显示书架列表。
- 选择一本书。
- 插件读取目录、阅读进度和当前章节。
- 正文会显示在 VS Code 底部状态栏。
以后再次执行 阅读:开始阅读 时,插件会优先打开上次阅读的书籍、章节和页码,不要求每次重新选择。
如果状态栏内容太靠左或没有严格处于屏幕几何中心,这是 VS Code 状态栏布局机制造成的。VS Code 只提供左、右两组对齐方式,扩展通过较低优先级尽可能把正文放在底栏中部区域。
阅读操作
命令面板
| 命令 |
作用 |
阅读:开始阅读 |
从上次阅读位置开始;第一次使用时选择书籍 |
阅读:书架 |
打开书架并重新选择书籍,列表会定位到当前书籍 |
阅读:选择章节 |
打开当前书籍目录,列表会定位到当前章节 |
阅读:上一页 |
显示当前章节的上一段状态栏正文 |
阅读:下一页 |
显示当前章节的下一段状态栏正文 |
阅读:上一章 |
跳转到上一章 |
阅读:下一章 |
跳转到下一章 |
阅读:刷新 |
重新请求当前章节,并尽量保持当前页码 |
阅读:老板键(显示/隐藏) |
快速隐藏或恢复状态栏正文 |
阅读:显示/隐藏操作按钮 |
立即切换状态栏两侧的 « ‹ › » 操作按钮 |
阅读:允许/禁止点击正文翻页 |
立即切换“点击状态栏正文进入下一页”功能 |
阅读:登录当前阅读服务 |
重新执行自动登录 |
阅读:配置服务 API Key |
更新 Skill API Key |
阅读:配置网页登录态 |
手动更新 Cookie 或 cURL 登录态 |
阅读:清除登录信息和缓存 |
清除登录凭据、阅读位置和内存缓存 |
默认快捷键
| 操作 |
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 |
上一页、下一页和章节快捷键只在底栏阅读器可见时生效。隐藏正文后,这些快捷键会立即释放,减少与 VS Code 其他操作的冲突。
如果快捷键与其他扩展冲突:
- 打开 VS Code 设置。
- 搜索
vscodeReading.enableDefaultKeybindings。
- 关闭“启用阅读器默认快捷键”。
- 打开“键盘快捷方式”。
- 搜索
阅读:,为需要的命令设置自己的按键。
状态栏按钮
操作按钮默认隐藏。开启后排列为:
« ‹ 正文 › »
正文默认不可点击,避免误触翻页。可以在设置中单独开启点击正文进入下一页。
也可以直接通过命令面板执行 阅读:显示/隐藏操作按钮 和 阅读:允许/禁止点击正文翻页,不需要进入设置页面。两条命令再次执行时会恢复到相反状态。
插件设置
打开 VS Code 设置,搜索 VS Code 阅读中心 或 vscodeReading。
| 设置项 |
默认值 |
说明 |
vscodeReading.statusBarMaxLength |
50 |
每页状态栏正文的目标最大字数,可设置为 20–160 |
vscodeReading.showControlButtons |
false |
是否显示 « ‹ › » 操作按钮 |
vscodeReading.clickContentToNext |
false |
是否允许点击正文进入下一页 |
vscodeReading.enableDefaultKeybindings |
true |
是否启用插件提供的默认快捷键 |
vscodeReading.proxy |
空 |
可选 HTTPS 代理;留空时使用 VS Code 的 http.proxy,仍为空时直接连接 |
修改文字长度后,对后续加载或刷新的章节生效。需要立即重新分页时,可以执行 阅读:刷新。
阅读位置与缓存
- 插件会分别记录每本书最后阅读的章节和页码。
- 阅读位置保存在 VS Code 本地扩展状态中。
- 已获取的章节正文只缓存在当前扩展进程的内存中,以减少重复请求。
- 不会预抓取整本书,也不会把完整正文长期写入磁盘。
- 关闭或重新加载 VS Code 后,进程内正文缓存会消失,但书籍、章节和页码记录会保留。
更新登录信息
出现以下情况时,通常需要重新登录或更新 cURL:
- 提示网页登录态无效;
- 提示章节不可读,但网页版当前账号可以完整阅读;
- 付费章节只返回开头少量内容;
- 微信读书网页端要求重新扫码;
- 登录 Cookie 已过期。
优先重新执行 阅读:登录当前阅读服务。如果自动登录仍失败,再执行 阅读:配置网页登录态 并粘贴新的 /web/book/read cURL。更新后执行 阅读:刷新。
常见问题
提示“尚未配置微信读书 API Key”
执行 阅读:配置服务 API Key,输入有效的 wrk- API Key。
提示“尚未配置微信读书网页登录态”
执行 阅读:登录当前阅读服务,或使用 阅读:配置网页登录态 手动粘贴 cURL。
提示 TLS、socket disconnected、ECONNRESET 或请求超时
插件会自动重试两次短暂的网络连接错误。如果仍然失败:
- 先再次执行原命令,确认是否只是临时网络波动;
- 检查浏览器能否打开微信读书网页版;
- 使用代理时,在设置中填写
vscodeReading.proxy,例如 http://127.0.0.1:7890;
- 也可以配置 VS Code 自带的
http.proxy,插件会在专用代理为空时使用它;
- 检查代理软件是否正在运行,以及代理端口是否与设置一致;
- 不使用代理时,清空上述代理设置后重新加载 VS Code。
代理会承载阅读请求,请只使用自己信任的代理服务,不要使用来源不明的公共代理。
书架为空
- 检查 Skill API Key 是否有效;
- 确认微信读书账号书架中确实有书;
- 更新 API Key 后重新执行
阅读:书架。
正文为空或提示没有权限
- 先在微信读书网页版确认当前账号能否阅读该章节;
- 如果网页版也只能试读,本扩展无法提供完整正文;
- 如果网页版可以完整阅读,请重新登录或更新 cURL;
- 更新后执行
阅读:刷新。
付费章节只有前几句
这通常表示网页登录态或网页授权头已经过期。请在微信读书网页版打开该付费章节,确认网页能显示完整正文,然后重新复制该页面翻页产生的 /web/book/read cURL。
正文出现 � 或乱码
部分 EPUB 使用自定义字体。插件检测到替换字符时,会尝试通过系统 Chrome 渲染网页完成本地字符还原。请确认:
- 电脑已安装 Chrome;
- 当前登录态仍然有效;
- 网页端能正常显示该章节;
- Chrome 没有被安全软件阻止启动。
完成后执行 阅读:刷新。如果网页版本身也乱码,则不是插件能够修复的问题。
翻到章节末尾后直接进入下一章
这是正常行为。状态栏“页”是插件按照文字长度切分的显示片段,并不是原书纸质页码。最后一页之后会进入下一章。
状态栏没有显示正文
- 执行
阅读:老板键(显示/隐藏);
- 确认 VS Code 状态栏没有被隐藏;
- 在菜单“查看”→“外观”中启用状态栏;
- 重新执行
阅读:开始阅读。
Cmd+, 打开了 VS Code 设置
说明阅读器当前不可见、默认快捷键已关闭,或快捷键被其他扩展覆盖。先执行 阅读:开始阅读,然后检查 vscodeReading.enableDefaultKeybindings 和 VS Code 键盘快捷方式冲突。
清除登录信息和数据
需要退出账号、换账号或彻底重置时:
- 打开命令面板。
- 执行
阅读:清除登录信息和缓存。
- 在确认窗口点击“清除”。
该命令会清除:
SecretStorage 中的 API Key、Cookie 和网页登录授权信息;
- 本地保存的当前书籍、章节和页码;
- 扩展进程内的章节正文缓存;
- 当前阅读界面和临时状态。
清除后再次开始阅读,需要重新配置 API Key 和登录信息。
隐私与安全
- 登录信息只保存在 VS Code
SecretStorage。
- 插件不会在日志中输出完整 Cookie、Authorization、Token、请求头或正文响应。
- 书籍 ID、章节 ID 和阅读页码保存在本机,用于恢复阅读位置。
- 正文只用于本地状态栏展示,不会上传到插件作者自己的服务器。
- 必要请求仅发送到实现阅读功能所需的微信读书相关服务地址。
完整说明见 PRIVACY.md。
开发与本地调试
git clone https://github.com/lishao666/vscode-reading-hub.git
cd vscode-reading-hub
npm install
npm run compile
用 VS Code 打开项目目录,按 F5 启动 Extension Development Host。然后在新窗口中依次执行:
阅读:配置服务 API Key
阅读:登录当前阅读服务
阅读:开始阅读
运行测试和打包:
npm test
npx tsc --noEmit
npx vsce package
维护者的 Visual Studio Marketplace 与 Open VSX 双市场同步发布流程见 PUBLISHING.md。
许可证与第三方权利
本项目采用 MIT License,该许可证仅适用于本项目自身源代码,不授予用户对微信读书、腾讯商标、书籍正文、腾讯接口或其他第三方内容的任何权利。
致谢
网页阅读协议和正文分片兼容思路参考了 MIT 许可的 Pay4att/vscode-wechat-book Marketplace 发布包。本项目重新设计了凭据存储和阅读界面。