- Главная
- Плагины
- Улучшения UI
- dsh-bookshelf
dsh-bookshelf
shushuiu/dsh-bookshelf
A Douban 想读 shelf with covers and ratings, matched against a local ebook folder, with an in-panel EPUB/PDF/TXT reader and public-domain downloads.
Установка
dsh plugin --profile web add github:shushuiu/dsh-bookshelfREADME
书架 · dsh-bookshelf
A DeepSeek Harness plugin: your Douban 想读 list as a shelf, paired with your own ebook folder, readable inside the panel.
把豆瓣某个用户的「想读」书单变成书架,自动和你自己目录里的电子书配对,直接在面板里读。没有的书可以去公版书库下载,或跳到正版渠道。
功能
- 豆瓣想读书单:书名、封面、作者、出版社、年份、评分、ISBN、简介,按想读时间排序,可搜索。
- 和本地书库自动配对:扫描你指定的目录(epub / pdf / txt / mobi / azw3…),按 ISBN 优先、书名其次和豆瓣书目对上。
- 面板内直接读:EPUB 解析成章节排版(跟随明暗主题),TXT 自动识别 UTF-8 / GB18030,PDF 用浏览器内置阅读器。
- 封面即续读:点封面进阅读页并跳回上次读到的位置,卡片上会标「续读 第 N 节」。
- 双语对照:阅读器右上角
译开关,只翻译当前这一章,译文以小一号灰字排在每段下面,逐段对照。 - 论文 PDF 也能读:把文字层抽出来,按页切成章节,一样可以双栏阅读、双语对照;右侧并排显示这一页的原样扫描图,图表不丢。
- 资料区:没和豆瓣书目对上的文件(论文、说明书、随手丢进来的 TXT)单独一栏,PDF 用第一页当封面,可显示 / 重命名 / 删除。
- 公版下载与正版渠道:从 Project Gutenberg 直接下载 EPUB;Open Library、微信读书、豆瓣阅读、京东、当当的入口。
- 对话里也能用:内置
bookshelf工具,可以直接问「我书架上哪本书讲过 X」「读一下《人月神话》第 3 章」。
安装
需要 Harness ≥ 0.2.0、Node ≥ 22。
从插件市场装:
-
插件 → 发现 → 管理索引源… -
填入这条索引地址,点「添加」:
https://cdn.jsdelivr.net/gh/shushuiu/dsh-bookshelf@main/publish/index.json -
回到「发现」刷新,搜「书架」→ 安装
从本地目录装:把整个目录放到任意位置,让 agent 用 plugin_manager 的 install_bundle 指向这个目录的绝对路径,然后重启 Harness。侧边栏出现「书架」即装好。
可选依赖:论文 PDF 的封面缩略图和文字提取需要 poppler,装一下:
brew install poppler
没有它也能用——PDF 仍可原样阅读,只是资料区显示纯文字封面、阅读页没有「提取文字」。
第一次打开
- 侧边栏「书架」→ 右上「设置」→ 填自己的豆瓣 ID(个人主页地址
book.douban.com/people/<ID>/wish里那串数字)。插件不预置任何人的 ID。 - 书库目录默认是
~/Documents/书架(自动创建),也可以换成任意目录。 - 第一次刷新只拉书单,封面和简介在后台一本一本补(约 1.5 秒一本,29 本一分钟左右),面板会自己更新,不用点。
书架页
- 卡片按想读时间排序,顶部可以搜索书名/作者。
- 点封面进阅读页并从上次的位置继续;点书名或作者区域打开详情页。
- 详情页里有简介、评分和四个正版渠道链接;没配对到本地文件的书可以「导入本地书」,文件会存进书库目录并自动配对(同名不覆盖,存成
书名 (2).epub)。 - 工具栏的「导入本地书」不用先选中某本书。
阅读器
- 整本书铺成一条连续的双栏流,翻到一章末尾会顺势进下一章,页码是全书页码。
- 翻页:
←→、PageUpPageDown、滚轮都可以。一次滚动手势只翻一页,触控板滑一下不会连翻十几页。 - 右上角可以切衬线 / 黑体、调字号(13–26px),选择会记住。
- 章节下拉是目录跳转;关掉再打开会回到上次读到的章节和页码。
双语对照:点右上角 译。只翻译当前章,进入新章节才会请求下一章,关掉就停。原文是英文译成中文,原文是中文译成英文。译文有本地缓存,同一段第二次阅读不再走网络。
论文 PDF:右上角多一个「提取文字」,把文字层抽出来变成可排版的章节,可以双栏阅读和双语对照(只翻当前页);「原文 PDF」随时切回原版。右侧的原页图默认整页居中显示,头部可以在「放大 / 整页」之间切换,也可以直接点图放大;窗口窄的时候会改成上下堆叠。
资料区
没和豆瓣书目配对上的文件会出现在书架下方,按修改时间倒序:
- PDF 封面取第一页(标题优先取 PDF 自己的
/Title,没有就从正文里挑标题行,认不出来就退回文件名),标题下面显示页数和大小。 - 操作在卡片标题下方:显示 / 重命名 / 删除。
- 重命名只改名字、保留扩展名,重命名后阅读进度跟着走。
- 删除不是真删,文件被移到书库目录下的
.trash/,需要时可以从 Finder 拖回来。
设置
| 项 | 含义 | 默认 |
|---|---|---|
| 豆瓣用户 ID | 个人主页 /people/ 后面那段 | 空,首次使用时填 |
| 书库目录 | 你的电子书目录 | 空 → ~/Documents/书架 |
界面里保存的偏好会覆盖 cordis.patch.yml 里的配置;想回到文件里的值,删掉 $DSH_HOME/storages/bookshelf/prefs.json 即可。
数据在哪
全部在 $DSH_HOME/storages/bookshelf/,插件目录本身不含任何个人数据:
shelf.json:豆瓣书目和打开过的书的详情缓存prefs.json:界面里保存的偏好covers/:封面、论文封面与 PDF 原页缓存translations.json:译文缓存
书库目录本身只被索引和读取,不会被复制或移动。
常见问题
豆瓣要求人机验证 / 403:豆瓣对匿名请求有频控。命中后面板顶部会提示,已有书架不会被清空;插件在 20 分钟内不再重试,避免把封禁拖长,过一会儿点「刷新」即可。
论文没封面、不能提取文字:缺 poppler,brew install poppler 后重新打开。
译文失败:底部会显示原因,点一下重试。翻译走匿名 Google 端点,需要能访问 translate.googleapis.com。
书名识别成乱码或编号:资料区卡片可以直接重命名,改名后进度跟着迁移。
「在 Finder 中显示」没反应:这个功能用的是 macOS 的 open,其他系统会提示不支持,不影响阅读。
边界
不接 Z-Library 之类的影子书库:那些站点分发的多数是未经授权的版权内容,自动化下载属于侵权。插件只读你自己的文件,以及公版书库(Project Gutenberg / Open Library)的合法内容,其余书目给出正版渠道入口。
开发与发布
目录结构、本地调试、打包与发布流程见 DEVELOPING.md。
许可
MIT
Похожие плагины
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-TUI
ccch1mneyyy/dsh-tui
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui