dsh-tjing-reading(竹居):在 DSH 侧边栏里读 EPUB、PDF 与电子书

前言

在 DSH 里查资料、调模型时,常见做法是另开阅读器或浏览器标签页翻书。资料一旦离开当前工作区,目录跳转、划线与进度往往对不上,问模型时也很难把「当前在看的段落」和对话绑在一起。社区插件 dsh-tjing-reading(界面名 竹居)把书架和阅读器放进 DSH 侧边栏:支持 EPUB、PDF、无 DRM 的 Kindle 格式与纯文本,并附带选段翻译、以及基于当前图书检索片段的「问书」能力。数据默认落在浏览器 IndexedDB,不经插件自有服务端上传全书。

这是什么

dsh-tjing-reading 由维护者 hijoywell 开源(MIT,当前 package 版本 1.0.13)。定位是一句:在 DSH 侧边栏中阅读多种电子书格式,排版接近微信读书风格,并提供目录、书签、高亮、进度记忆、划词翻译与 AI 问书。实现为纯 JavaScript,安装时不需构建;README 写明已在 DSH 0.2.1 – 0.2.2(桌面端与 web profile)上验证。

社区目录页:hijoywell/dsh-tjing-reading
源码与说明:GitHub · hijoywell/dsh-tjing-reading

支持的格式与边界

格式 说明
EPUB 2 / 3 书脊、NCX/nav 目录、图片、主题与可调排版
PDF 22 级缩放、连续滚动、首页封面缩略图
MOBI / AZW3 (KF8) 仅无 DRM;组合文件会自动打开 KF8 一半
TXT 自动识别 UTF-8、UTF-16(含 BOM)与 GB18030;可按标题模式识别章节并在目录中跳转

不支持:带 DRM 的 MOBI/AZW3、KFX、.azw。Kindle 书需以正确的 .mobi 或 .azw3 扩展名导入。

核心功能

下面按使用路径归纳 README 中已列出的能力。

导入与书架
通过文件选择器导入,或将文件拖入书架;支持 EPUB、PDF、MOBI/AZW3、TXT。

阅读器
微信读书式排版:字号、行高、页边距、多套主题(默认、绿、羊皮纸、深色)。PDF 纸张颜色随主题变化;缩放比例在打开时相对宽度固定,折叠侧边栏不会重算页面缩放。

导航与记录
目录与章节跳转、书签与高亮;再次打开同一本书会回到上次阅读位置。

划词翻译
选中段落可一键译为中文,所用模型由 DSH 宿主侧配置决定。

问书
AI 助手仅基于从当前打开图书中检索到的片段作答,流式输出并附带引用段落;未配置模型时会提示设置,而不是静默失败。

界面
中英双语 UI。

安装与启用

桌面端由 desktop profile 管理插件,需在 UI 中安装,而非仅靠 CLI。

桌面端 — 设置 → 插件 → 添加插件,填入:

github:hijoywell/dsh-tjing-reading

其他 profile(web、tui、自定义):

dsh plugin --profile web add github:hijoywell/dsh-tjing-reading

README 注明尚未发布到 npm,dsh plugin add dsh-tjing-reading 会失败,须使用上述 GitHub 地址。安装后重启 DSH,侧边栏会出现竹居图标。

插件在宿主进程中加载客户端与部分 API(如 /api/bookshelf/ai/chat、翻译与模型列表)。安装前宜自行查看仓库源码与 MIT 许可证,并确认与当前 DSH 版本匹配;README 建议宿主低于 0.2.1 时先升级 DSH,否则侧边栏入口可能不出现。项目未在 package 中声明窄版 engines.dsh 范围,是为避免宿主升级后因版本窗过窄而拒绝加载——仍以实际验证版本为准。

典型用法

README 给出的三步可直接照做:

  1. 在侧边栏点击竹居,导入 EPUB、PDF、MOBI/AZW3 或 TXT。
  2. 打开图书阅读;顶栏切换主题、字号与行高,内容面板处理章节跳转与书签。
  3. 选中文字可高亮或翻译;在「问书」面板提问时,会将问题与当前书中相关检索片段一并发送。

数据存放与隐私

图书文件、书签、高亮与阅读进度保存在浏览器 IndexedDB,插件说明中写明不会上传到自有服务器。IndexedDB 按来源(origin)隔离,换浏览器、换端口或换 profile 时书架为空,属于浏览器安全模型而非插件误删数据。

「问书」时仅发送为该次问题检索到的少量片段,而非整本书;宿主侧不存储图书正文。翻译与问答同样走宿主配置的模型。

技术要点(可选了解)

  • 仅使用标准 Web API:DecompressionStream 处理 EPUB、Canvas 渲染 PDF、IndexedDB 持久化;pdf.js(Apache-2.0)内联在 client.js,无运行时 npm 依赖。
  • 宿主侧入口为 index.js,客户端为 client.js(书架、阅读器与各格式解析);开发时若改 src/ 或 vendor/,需执行 node tools/build-formats.mjs 重新嵌入格式代码块。

结尾

若你希望在一屏工作流里读技术书、论文 PDF 或讲义,并在同环境内划词翻译、只对当前书检索片段提问,dsh-tjing-reading 把阅读与 DSH 对话叠在侧边栏里,值得从社区目录或 GitHub 按官方命令安装试用。

  • 目录页:https://www.skillhub.cn/plugins/hijoywell/dsh-tjing-reading
  • 仓库:https://github.com/hijoywell/dsh-tjing-reading
羽毛球分组比赛记分
小程序二维码

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

小夜