dsh-weread-moyu:在 DSH 界面背后挂一层微信读书正文

前言

在 DeepSeek Harness(DSH)里写提示词、看回复时,主界面往往占满视线。有人想在同一窗口里顺便读电子书,又不想单独开浏览器或客户端把注意力切走。dsh-weread-moyu 的思路是:登录微信读书后,把当前书页正文铺成全屏底层的低对比度文字层,聊天与工作区浮在上层,视觉上仍像在用 DSH,背后却在自动滚动阅读。

这是什么

dsh-weread-moyu(npm 包名同名)是由 alanwang87 维护的 DSH Web GUI 插件,归类为联网工具。宿主半通过 /weread-moyu/api/* 拉取微信读书书架与章节正文;客户端 bundle 在页面最底层渲染阅读层,并把 DSH 主题变量改成半透明玻璃效果。右下角保留两个极淡控件:小书图标用于「看清当前页」,小圆点打开设置面板。

当前版本为 0.1.8(见仓库 package.json),要求 DSH >= 0.2.0,许可证 MIT。插件以当前 DSH 进程权限运行,安装前建议自行浏览仓库源码与许可证。

核心功能

登录与持久化

支持扫码登录(优先)或在面板里粘贴浏览器中 weread.qq.com 的 Cookie(至少含 wr_vid、wr_skey、wr_rt)。登录态写入 ~/.dsh/weread-moyu/session.json,权限 600,README 说明不会进日志。

背景层与界面融合

阅读层使用 position: fixed 铺满视口、z-index: 0、pointer-events: none,正文居中约 62 字符宽、行高 1.9,默认透明度 18%,可在 4%–35% 调节。插件覆盖 DSH 的 --dsw-alias-bg-base/layer-* 等变量,使 html/body/#root 透明,背景压在 AppFrame 之下。

自动滚动与章节衔接

背景提供四档速度(暂停 / 慢 / 正常 / 快),约每 30–60ms 上移 1px;章末自动续下一章,必要时自动换书。非正文页(封面、版权等)会自动跳过。

控制面板

面板内可完成登录/退出、书架浏览(125 本以内分页)、章节目录(显示「第 N 章」、共 N 章、跳到指定章)、透明度/字号/速度、启用背景、点击穿透,并提示内容来自真实书页或内置演示文本。宿主未就绪时会降级为《古文观止》选段演示,网络失败则指数退避静默重试。

整本缓存与离线

选中书后可「缓存整本」,章节写入 ~/.dsh/weread-moyu/cache/<bookId>/,支持进度、取消、清除与断点续传。缓存完成后 /content 读本地,未登录也可读已缓存书;书架有「离线缓存」分组。单本上限约 2000 万字,缓存目录上限 500MB。

Peek 浮层

点右下角小书按钮弹出连续滚动阅读浮层,滚到底自动加载下一页/章;支持 A-/A+ 调字号、拖拽缩放、Esc 关闭,关闭后背景层同步到当前阅读位置。

技术边界

客户端 bundle 手写、不 require 第三方包;宿主半仅使用 node: 内建模块。宿主 API 仅接受 loopback(127.0.0.1 / ::1),响应带 cache-control: no-store。二次开发可参考 README 中的路由表(如 GET /weread-moyu/api/status、GET /weread-moyu/api/content 等)。

安装与启用

README 中的示例安装针对作者本机 Desktop profile,重装或更新时使用:

dsh plugin --profile desktop add "file:D:\Alan\插件"

该命令会把包放入 profile 的 node_modules、写入 dsh.profile.bundles,并由 bundle patch 插入插件行。安装或更新后必须完全退出并重新打开 DSH,客户端 bundle 只在启动时的 boot graph 下发,运行中的页面不会热加载新插件。

带到其他电脑时,仓库 docs/DISTRIBUTION.md 列出三种方式:拷贝目录或 tarball 后在本机执行 install.ps1 或 dsh plugin --profile desktop add <tgz路径>;发布 npm 后另一台执行 dsh plugin --profile desktop add dsh-weread-moyu;或公开 GitHub + Release/npm 后向 awesome-dsh-plugin 提 PR 上架市场。DSH 账号不会自动同步插件,微信读书登录态需在新机器上重新扫码,不建议明文拷贝 session.json。

卸载示例:

dsh plugin --profile desktop remove dsh-weread-moyu

必要时从 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 中移除 dsh-weread-moyu,再重启;登录与缓存目录可删 ~/.dsh/weread-moyu/。

典型用法

  1. 重启 DSH 后打开任意会话,确认右下角出现淡色小书按钮与控制圆点。
  2. 打开面板,扫码或 Cookie 登录微信读书。
  3. 在书架选书,在目录选章或使用「跳到第 N 章」;建议把透明度调到 12%–22%,按需调字号与滚动速度后关闭面板。
  4. 需要离线:在章节区点「缓存整本」,等进度完成;内容来源显示「本地缓存」后不再请求微信读书。
  5. 需要集中读一段:点小书按钮打开 peek 浮层,读完 Esc 关闭,背景会跟上当前位置。
  6. 暂时不用背景时,在面板关闭「启用背景」即可。

适用场景与注意

适合已在 DSH Desktop 环境工作、并希望用微信读书账号在同一窗口「衬底阅读」的个人用户。插件只读取账号本可访问的内容,未购或未解锁章节仅能试读(preview: true),这是上游限制;Cookie 存于本机明文文件,仅发往 weread.qq.com。若微信读书 Web 协议变更,维护者会在 docs/weread-protocol.md 中记录细节。

DeepSeek Harness 的生态理念是「一切皆插件」;社区目录站点(如 SkillHub)与 DeepSeek、幻方无官方从属关系,本文介绍的是社区成员开源插件,非官方应用商店条目。

链接

  • 社区目录页:https://www.skillhub.cn/plugins/alanwang87/dsh-weread-moyu
  • 源码与 README:https://github.com/alanwang87/dsh-weread-moyu
羽毛球分组比赛记分
小程序二维码

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

小夜