书屿(dsh-weread-shelf):在 DSH 左侧栏管理微信读书书架

前言

在 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.json
  • https://ghproxy.net/https://raw.githubusercontent.com/SaltedFish-ZZJ/dsh-weread-shelf/main/market/index.json

步骤:

  1. 打开 设置 → 插件 → 发现(Discover)→ 索引源 → 添加
  2. 填入上述 jsDelivr 地址(索引只接受最终 http(s) URL,且不跟随重定向)
  3. 在发现里搜索「书屿」并安装(各版本 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 轮。

典型用法

  1. 在书屿设置中连接 wrk- Key,必要时修正 Obsidian 库路径与子目录。
  2. 在书架按分组或筛选找书,需要时用书城检索;查看「今日带」与统计页掌握阅读节奏。
  3. 对某书点 打开阅读,在独立窗口阅读;返回 DSH 使用陪读台就划线、想法提问,或将内容 存进知识库。
  4. 在全局「问屿」跨书提问;或在 DSH 对话里通过只读工具查书架、笔记与统计。
  5. 阅读告一段落时,对单书使用 整本存进知识库 做归档与 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 路径后即可从书架到归档连贯使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜