按豆瓣「想读」书单排出的书架:封面与评分、与本地电子书自动配对,可在面板内阅读 EPUB/PDF/TXT,并支持公版书下载。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/shushuiu/dsh-bookshelf/releases/download/v1.0.0/dsh-bookshelf-1.0.0.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:shushuiu/dsh-bookshelf
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
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
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 10290
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 10290
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 7336
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 7093
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
omdsh-dev/DSH-better-sidebar★ 5036
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1792
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。