dsh-bookshelf:在 DSH Web GUI 里管理本地 PDF 与 EPUB

前言

在 DSH(DeepSeek Harness)里做开发或长会话时,技术文档、电子书常常散落在磁盘各处。用系统自带阅读器切窗口,和 Web 工作区里的对话、工作区文件很难对齐;把书当成普通附件上传,既不符合「本地库」的用法,也不便保存进度与书签。

dsh-bookshelf 是面向 DSH Web 界面的客户端插件:在左侧边栏增加 Bookshelf,在主面板提供书架网格,并内置 PDF.js 与 EPUB 阅读器;阅读数据落在本机 $DSH_HOME/bookshelf,重载页面或重启后仍可恢复。下面介绍它是什么、能做什么,以及如何安装与使用。

这是什么

  • 名称:dsh-bookshelf(GitHub:Chriszzx/dsh-bookshelf,维护者 Chriszzx)
  • 分类:客户端插件(dsh.client.platform 为 web,向 Web GUI 注入 ui-bookshelf 等能力)
  • 许可:MIT(package.json 标注版本 0.3.0)
  • 一句话:面向 DeepSeek Harness Web GUI 的本地 PDF/EPUB 书架,带内置阅读器与本机 Books 右侧边栏能力(见项目简介与 README)

插件不采集遥测、不上传书籍;删除书架条目不会删除你链接或导入的原始文件。

核心功能

资料中已核实的能力如下。

导入与书架

  • Import books 菜单:
  • Import book files…:文件选择器或拖拽,将文件复制进书架(不删除原件)。
  • Link a folder…:对文件夹做软链接纳入书架;Windows 在无符号链接权限时改为分阶段复制并标记为 copy。
  • Apple Books import(仅 macOS):搜索本机书库并链接已下载的 EPUB/PDF;EPUB 源目录可按需打包。
  • Shelf:封面网格、搜索、排序、重命名、删除。

阅读器

  • PDF.js:适应页宽/页面/自定义缩放,单页或连续滚动,页书签,进度恢复。
  • EPUB:分页或滚动、目录、版式、明/暗主题、自动双页、全屏、书签、进度恢复。

与对话、工作区联动(EPUB)

Page discussion:将当前可见页捕获到所选工作区下的 .dsh-bookshelf/<id>.md,打开带 @file 草稿的原生会话(默认不发送消息),并在静态 Books 右侧边栏标签中展示该页。

界面与数据

  • 中英文界面。
  • 库、封面、进度、书签与默认项存放在:
$DSH_HOME/bookshelf/{library.json,books,state.json,defaults.json,covers}

切换面板可保留当前打开的书、搜索/排序与滚动位置;整页刷新后回到书架视图,阅读进度仍保留。

安装与启用

环境要求

README 与 package.json 一致要求:

  • DSH:>=0.2.0-rc.2 且 <0.3.0
  • Node:^22.19.0 || >=24.0.0
  • 官方 bundle 平台:darwin、win32(macOS 或 Windows)

安装前请确认本机 DSH 与 Node 版本满足上述范围;插件以当前 DSH 进程权限访问文件系统,安装前建议浏览源码与 MIT 许可证。

从 GitHub 安装

dsh plugin --profile web add github:Chriszzx/dsh-bookshelf

bundle 会插入 ui-bookshelf;替换客户端文件后需重新加载 Web 页面。

若使用本地检出目录(非本文推荐路径,仅摘自 README):

dsh plugin --profile web add /absolute/path/to/dsh-bookshelf

典型用法

  1. 在侧边栏打开 Bookshelf,进入 Import books。
  2. 按需选择:
    - Import book files… — 选一个或多个 EPUB/PDF,或直接拖到书架上。
    - Link a folder… — 选文件夹,预览其中的书,以软链接(或 Windows 回退复制)加入书架。
    - Apple Books(macOS)— 搜索本机书库并链接已下载的书。
  3. 在书架网格中打开书,使用内置阅读器阅读;EPUB 需要讨论当前页时,使用 Page discussion 在工作区生成 Markdown 并打开会话草稿。

进度与书签保存在 Host 侧,而非浏览器临时存储。

平台与注意事项

README 平台表摘录如下(Linux 未声明书架与阅读器支持):

平台 书架 + 阅读器 文件导入 文件夹链接 Apple Books
macOS 是 是 软链接 是
Windows 是 是 需开发者模式等权限,否则复制 否
Linux 未声明 — — 否

Windows 文件夹链接:需要 SeCreateSymbolicLinkPrivilege;否则 Host 自动保存分阶段复制并标记 copy。可开启 设置 → 隐私和安全性 → 面向开发人员 → 开发人员模式(之后注销再登录),或以提升权限运行 DSH 以获得真实软链接。纯文件导入与拖拽不需要符号链接权限。

Apple Books:仅 macOS;书库不可用时需为 DSH 授予完全磁盘访问;未下载的书显示为不可用。

隐私:删除条目会移除书架内文件、封面与阅读状态,不会跟踪或删除链接源;Page discussion 文件留在工作区 .dsh-bookshelf/,除非你发送引用它们的消息,否则不会进入模型上下文。

社区目录 SkillHub 插件页 与 GitHub 仓库 为独立信息来源,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」思路,安装与升级以 README 与仓库发布为准。

结尾

dsh-bookshelf 把本地 PDF/EPUB 收进 DSH Web 工作流:统一书架、内置阅读、本机持久化进度,并在 EPUB 场景下把当前页接到工作区与 Books 侧栏。若你主要在 macOS 或 Windows 上使用 DSH Web GUI,且需要边读边在同一界面里起草基于书页的对话,可按上文命令安装并在重载页面后从 Bookshelf 开始导入。

  • 目录页:https://www.skillhub.cn/plugins/Chriszzx/dsh-bookshelf
  • GitHub:https://github.com/Chriszzx/dsh-bookshelf
羽毛球分组比赛记分
小程序二维码

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

小夜