前言¶
在 DSH 里做阅读相关的工作流,常见做法是浏览器书签加独立脚本,或者把笔记手工复制到 Obsidian。微信读书官方提供了 Agent Skill API,但要把书架浏览、独立阅读窗口、AI 问答和笔记归档串成一条线,仍需要自己拼界面和鉴权。维护者 SaltedFish-ZZJ 的客户端插件 书屿(仓库 SaltedFish-ZZJ/dsh-weread-shelf)把上述能力放进 DSH 左侧栏:接官方 wrk- Key 拉书架与划线,用 Chrome --app 独立窗口阅读(规避 iframe 拦截),陪读台与「问屿」走 DSH 或自定义 OpenAI 兼容接口,划线与 AI 回答可写入 Obsidian。下面按定位、功能、安装、配置与边界说明用法。
这是什么¶
书屿是 DSH 的 客户端(web)bundle 插件,分类上属于客户端面板,不是纯宿主路由扩展。它需要 DSH 桌面版 0.2.x(package.json 中 engines.dsh 为 >=0.2.0-rc.2)。当前仓库版本 0.9.9,许可证 MIT。社区目录页:skillhub.cn 插件条目;源码与说明:GitHub。
一句话定位:把微信读书书架搬进 DSH 左侧栏,并衔接独立窗口阅读、陪读 AI 与 Obsidian 归档。
核心功能¶
以下能力均来自 README 与 package.json 说明,按使用路径归纳。
书架与「今日带」¶
- 通过微信读书官方 Agent Skill API(Key 形如
wrk-xxxxxxxx)同步书架:全部书籍、书单文件夹,支持平铺 / 分类 / 进度 / 首字母四种分组,以及在读·读完·未开始筛选,并支持全站书城检索。 - 「今日带」展示日期、今天读到 / 本周读到 / 连续阅读、今天翻开的书,以及一条可轮换的「旧句重逢」划线。
阅读与陪读台¶
- 打开阅读:使用 Chrome
--app打开无地址栏的独立窗口;不用内嵌 iframe(微信读书会拦截 frame,且有第三方风险提示)。 - 陪读台:点「打开阅读」后可自动进入左右分栏——左侧针对当前书的 AI,右侧为该书的划线、想法与随手记(可在设置中关闭「打开阅读后自动进入陪读台」,默认开启)。
全局 AI「问屿」与 Agent 工具¶
- 问屿:跨书提问,做推荐、串联与主题检索。
- 向 DSH Agent 注册 4 个只读工具:
weread_shelf、weread_notes、weread_stats、weread_search,对话中可直接查书架、笔记与统计(示例:「我书架里有哪些经济类的书」)。
Obsidian 与统计¶
- 单条划线、想法、AI 回答或随手记可写入 Obsidian;整本书可一次归档(去重、按章节分组、维护书单 MOC)。
- 统计视图包含阅读日历热力图、连续天数、趋势图、24 小时极坐标钟、分类环形、周分布、笔记密度散点、书架进度环墙等。
数据与隐私(官方口径)¶
- 只调用官方网关
POST i.weread.qq.com/api/agent/gateway,17 个接口均为只读:不改进度、不加书架、不导出正文。 - 除微信读书与你在设置里指定的 AI 接口外,不向第三方发请求;写入 Obsidian 仅在你点击「存进知识库 / 整本存进知识库 / 随手记」时发生。
wrk-Key 与自定义 AI 接口 Key 存在 DSH credentials,不进本仓库与配置文件。
安装与启用¶
需要已安装 DSH 桌面版 0.2.x。插件为本地 bundle,启用后左侧栏出现「书屿」图标;首次打开需配置 API Key。
通过 DSH「发现」安装(推荐)¶
DSH 插件市场为索引驱动,无单独「上传」入口。本仓库提供 format-1 索引,推荐 URL:
https://cdn.jsdelivr.net/gh/SaltedFish-ZZJ/dsh-weread-shelf@main/market/index.json
备用:
https://raw.githubusercontent.com/SaltedFish-ZZJ/dsh-weread-shelf/main/market/index.jsonhttps://ghproxy.net/https://raw.githubusercontent.com/SaltedFish-ZZJ/dsh-weread-shelf/main/market/index.json
步骤:
- 打开 设置 → 插件 → 发现(Discover)→ 索引源 → 添加
- 填入上述 jsDelivr 地址(索引只接受最终
http(s)URL,且不跟随重定向) - 在发现里搜索「书屿」并安装(各版本
source为git+ 40 位 commit,安装时拉取固定 commit,不跟main漂移)
索引约束(README 摘录):相对图标须与索引同放在可解析的 https 路径;本仓库 market/icon.svg 与 market/index.json 一并发布。
从本地 bundle 安装¶
若你已有插件目录(例如自行下载的源码树),在 DSH 中二选一:
- 对 Agent 说明本地路径,由其调用
plugin_manager install_bundle安装并启用。 - 设置 → 插件 → 从本地路径安装,选中该目录。
装好后在左侧栏打开书屿,按提示完成首次 Key 配置。
获取微信读书 API Key¶
微信读书 App → 我 → 设置 → 微信读书 Skill → 获取 API Key(wrk- 前缀)。Key 保存在 DSH credentials,不写进 ~/.dsh-weread-shelf/settings.json。
配置与 AI 模型¶
面板右上角 设置 中常见项如下(README 表格):
| 项 | 说明 |
|---|---|
| 打开阅读后自动进入陪读台 | 默认开启 |
| Obsidian 库根 / 子目录 | 默认子路径 personal/书屿(相对库根) |
| 微信读书 API Key | 已连接 / 断开、替换 |
| 问屿的 AI | 跟随 DSH 当前模型,或自定义 OpenAI 兼容接口 |
普通配置写在宿主侧 ~/.dsh-weread-shelf/settings.json。库根默认 ~/Obsidian,若路径不同请在设置中改成你的 Obsidian 库。
默认 AI:走宿主 llm 与 DSH 当前选中模型,消耗 DSH token;wrk- Key 只拉数据。也可在「问屿的 AI」中配置 OpenAI 兼容 base URL(如 https://api.deepseek.com/v1)、模型名与接口 Key(存 credentials weread/ai-key)。单书上下文约 3.5k 字符,输出上限 1200 token,历史最近 8 轮。
典型用法¶
- 在书屿设置中连接
wrk-Key,必要时修正 Obsidian 库路径与子目录。 - 在书架按分组或筛选找书,需要时用书城检索;查看「今日带」与统计页掌握阅读节奏。
- 对某书点 打开阅读,在独立窗口阅读;返回 DSH 使用陪读台就划线、想法提问,或将内容 存进知识库。
- 在全局「问屿」跨书提问;或在 DSH 对话里通过只读工具查书架、笔记与统计。
- 阅读告一段落时,对单书使用 整本存进知识库 做归档与 MOC 维护。
适用场景与注意¶
适合谁:已在微信读书重度标注、希望与 DSH Agent 和 Obsidian 同一桌面闭环的用户;接受非官方 Skill 接口与「使用风险自负」免责声明(README 写明与腾讯 / 微信读书无官方关系,且 App 会提示勿用第三方插件)。
权限与安全:插件以当前 DSH 进程权限运行;/api/weread/* 注册在宿主 webServer(本机回环),README 注明尚未走 connection 层会话校验。安装前请阅读仓库源码与 MIT 许可证,自行判断是否满足环境要求。
已知边界(README「已知边界与路线图」摘录,便于设预期):
- 官方接口不提供全书正文,陪读 AI 基于简介、目录、划线与想法,不能代读全文。
- 网页阅读器无段落锚点,已去掉不可靠的「去原文」;
/open只接受 https 链接。 - 每次打开面板会重新拉书架,书多时可能偏慢;暂无本地增量缓存。
- 单账号;暂无独立安装包与崩溃日志收集。
开发侧:单文件客户端无构建步骤;npm test 跑离线 smoke 与 host 测试。Node 引擎要求 >=22。
结尾¶
书屿把微信读书书架、Chrome 独立窗口阅读、陪读 AI 与 Obsidian 写入收进 DSH 左侧栏,并为 Agent 暴露只读书架/笔记/统计/检索工具。安装优先走发现索引;配置 Key 与 Obsidian 路径后即可从书架到归档连贯使用。