Yolkbun31 downloadsTurn Douban and Fanqie notes into an iBooks-style bookshelf, and send excerpts back to your notes with back-links.
把豆瓣与番茄,收进自己的书架。 An iBooks-style bookshelf for Obsidian
“A room without books is like a body without a soul.”
— Marcus Tullius Cicero
书架不只是文件的容器。它是你与读过的世界之间,一条可以走回去的路。
Ex Libris 是拉丁语“某某的藏书中”,指贴在书封内侧的那张小纸片——藏书票。 这个插件做的事就是同一件:把散落在豆瓣和番茄里的东西,一张一张盖上“我的”印章,收进自己的书架。
English: Ex Libris Bookplate turns Douban and Fanqie into an iBooks-style shelf inside Obsidian. Search Douban without logging in, optionally read entries imported by
obsidian-douban, read Fanqie chapters with excerpts and back-jumps, and export only when you ask. Local-first, no telemetry.
Ex Libris Bookplate 是一个 Obsidian 桌面插件(Windows),把三种东西放进同一面书架:
obsidian-douban 读取你原来的标记与评分。obsidian:// 回跳链接,落进你指定的笔记。它不是又一个“稍后读”列表,也不是下载器。它关心的是:读过的书,能不能在需要的时候被重新找到。
详细安装、字段、侧车与故障排查见 使用指南。
| 能力 | 说明 |
|---|---|
| iBooks 风格书架 | 2:3 封面、书脊、悬停、来源徽标、占位封面、阅读进度条 |
| Bases 视图 | 注册 ex-libris-shelf,可在 .base 里选封面宽度与进度开关 |
| 分类分开 | 番茄小说归为「小说」,豆瓣书归为「书」;筛选片独立计数 |
| 豆瓣双通道 | 内建搜索(书/影/剧/音) + 可选联动 obsidian-douban(只读) |
| 番茄阅读器 | 38em 单栏、翻章、断点续读、书评、键盘快捷键 |
| 摘录回跳 | Ctrl+Shift+E 插入引用 + 出处 + obsidian:// 回跳 |
| 选中批注 | 选中文字可 高亮 / 改字体颜色 / 复制;只有高亮或改色才自动导出批注 |
| 可控导出 | 单章 / 整本;正文默认不落盘,只在导出时写入 |
| 连载追更 | 目录刷新间隔(0 = 每次打开都拉),或手动“刷新当前书目录” |
| 本地优先 | 无账号、无遥测;token 不落盘;侧车只监听 127.0.0.1 |
![]() iBooks 风格书架 |
![]() 番茄搜索 / 批量加入 |
![]() 从链接加入 |
![]() 阅读器(真实番茄正文) |
![]() 摘录带出处与回跳 |
![]() 设置与侧车状态 |
首次运行且没有侧车时,会弹一次可关闭的安装引导(可勾选“不再提示”,也可在设置里重新打开):

截图来自测试 vault(Obsidian 1.15.0,Windows,100% 缩放)。截图中的标签仍显示旧中文名;
0.1.2起社区显示名改为 Ex Libris Bookplate(Obsidian 要求 Basic Latin)。
在 Obsidian → 设置 → 第三方插件 → 浏览,搜索 Ex Libris Bookplate,安装并启用。
从 最新 Release 下载三个文件:
| 文件 | 放到 |
|---|---|
main.js |
<vault>/.obsidian/plugins/ex-libris/ |
manifest.json |
同上 |
styles.css |
同上 |
<vault>/.obsidian/plugins/ex-libris/
main.js
manifest.json
styles.css
bin/fqsidecar.exe # 可选,只有番茄阅读需要
然后在 Obsidian → 设置 → 第三方插件启用 Ex Libris Bookplate,重启 Obsidian。
Obsidian 的安装器只会放三个插件文件,不会安装侧车。需要番茄阅读时:
sidecar-0.1.0 Release 下载 fqsidecar.exe;<vault>/.obsidian/plugins/ex-libris/bin/fqsidecar.exe;它不会自动下载、自动安装或自动更新侧车。 首次缺少侧车时只会弹一次安装引导; 不装也能用书架、豆瓣、摘录、进度和导出笔记,只有番茄阅读提示不可用。
npm install
npm run build
powershell -NoProfile -File scripts/install.ps1 -VaultPath "D:\YourVault" -Enable
侧车源码、fqapp 适配层和构建脚本在独立仓库
Yolkbun/ex-libris-sidecar,本仓库不包含侧车源码和二进制。
Ctrl+P → 从链接加入书架,粘贴 fanqienovel.com/page/<id>(整段分享文案也可以)。Ctrl+P → 搜索番茄小说并加入;勾选批量加入,或右键单本加入。Ctrl+P → 搜索豆瓣并加入;支持书/影/剧/音,不需要 obsidian-douban,也不需要侧车。加完若书架没显示,执行 重建书架缓存。重复书会跳过,不覆盖你改过的字段。 详细步骤见 使用指南 §3 添加内容。
| 操作 | 方式 |
|---|---|
| 章节目录 | 阅读器顶部 目录 按钮,或按 T |
| 翻章 | ← / → 或 j / k |
| 导出本章 | Ctrl+E / 阅读器顶部按钮 |
| 摘录选中文字 | Ctrl+Shift+E,插入到 ## 摘录 下 |
| 高亮 / 改色 / 复制 | 选中文字后浮出工具条;高亮/改色自动写批注笔记,复制不落盘 |
| 回跳原文 | 点摘录里的 obsidian://ex-libris?... 链接 |
| 导出整本 | 命令 导出整本番茄书(唯一会落盘正文的路径) |
| 连载更新 | 命令 刷新当前书目录,或设置 目录刷新间隔 |
摘录格式:
> [!quote] 摘录
> 正文一段……
> — 《十日终焉》· 第 1 章 空屋 · [回跳](obsidian://ex-libris?book=7143038691944959011&chapter=1)
| 命令 | 作用 |
|---|---|
打开书架 |
打开书架视图 |
从链接加入书架 |
粘贴番茄链接 |
搜索番茄小说并加入 |
搜索 + 复选批量 + 右键单本 |
搜索豆瓣并加入 |
搜索豆瓣书/影/剧/音并加入书架 |
刷新当前书目录 |
立即重拉当前/选中番茄书的目录 |
打开番茄目录 |
打开当前阅读器的章节列表 |
重启番茄侧车 |
显示 /health 结果 |
导出当前章节 / 导出整本番茄书 |
导出正文 |
把番茄书挂靠到豆瓣条目 |
只写 fq_related |
添加书架预设 |
状态/类型/来源/标签 |
本地化所有远程封面 |
断网可读 |
清理章节与封面缓存 / 重建书架缓存 |
维护 |
在 .base 里把视图类型选为 Ex Libris 书架;选项有 coverWidth(100–220)与 showProgress。
示例见 examples/Library.base。
两种豆瓣方式可以二选一,也可以共存:
| 内建豆瓣搜索 | 联动 obsidian-douban |
|
|---|---|---|
| 登录豆瓣 | 不需要 | 需要 |
| 数据来源 | 公开搜索(书/影/剧/音) | 你标记过的书影音 |
| 状态/评分 | 默认 想读 / 想看 |
保留原来的 myState / myRating |
| 网络 | 搜索时访问豆瓣 | 导入时由 douban 插件访问 |
| 写入 | 新建轻笔记 | 只读,不改豆瓣笔记 |
开启方式:设置 → Ex Libris → 联动 obsidian-douban(默认开启)。
关闭后只显示番茄条目和内建豆瓣搜索添加的条目(带 ex_libris: douban-search)。
完整步骤、字段映射、重复条目处理见 使用指南 §3.3c。
item_version 才返回内容;本项目用同一 App 的书评接口,UI 明确写“书评”。<vault>/.obsidian/plugins/ex-libris/
data/progress.json # 阅读位置,5s 节流原子写
data/meta.json # 预设 / 侧车状态 / stderr 尾巴
data/annotations.json # 高亮/改色记录(重开章节恢复视觉)
cache/chapters/** # 正文缓存,可整目录删除
cache/toc/*.json
cache/covers/*.jpg
FQ_TOKEN,不落盘;日志里替换成 ***。cache/ 与显式导出目录;普通阅读和复制不落盘。annotations/ 笔记与 data/annotations.json,这是“确实发生编辑”后的本地产物。127.0.0.1,无窗口、无托盘、不写注册表。| 场景 | 目标 | 内容 |
|---|---|---|
| 打开/搜索/加入番茄书 | 本机侧车 → 番茄上游 | 搜索、目录、正文、书评 |
| 豆瓣搜索 | 豆瓣公开搜索接口 | 关键词、书名/影名、封面 |
| 封面显示 | 豆瓣/番茄图床 | 只下载图片;可关闭本地化 |
| 豆瓣笔记 | 无 | 只读 vault 里的 frontmatter |
侧车启动时会匿名注册一个设备 id,存在 data/device_pool.json,不同步、不上传。
设置里的“侧车路径覆盖”可以指向 vault 外的 exe;不设置时不会读取外部文件。
npm install
npm run dev # esbuild watch
npm run build # bundle + tsc --noEmit
npm test # 45 个无头测试
测试覆盖渲染纯函数、frontmatter 补写、筛选、摘录、缓存清理、原子写、路径穿越;
插件加载/视图注册/Bases/书架渲染;侧车 token、检索、正文、书评、退出与重启;
阅读器翻章、进度、断点续读、回跳;真实 bin/fqsidecar.exe 生命周期。
当前:45 passed / 0 failed。真实 Obsidian 1.15.0 中已验证书架、阅读器、豆瓣搜索与番茄接口。
每个版本都有独立 release notes:先写 release-notes/<version>.md 并更新
CHANGELOG.md,scripts/make-release.ps1 缺 notes 会直接报错。
bin/fqsidecar.exe 存在。
bin/;插件不会自动安装。
obsidian-douban 联动。
cache/ 与显式导出目录,不会进入笔记正文。
Ex Libris Bookplate is a desktop Obsidian plugin that turns Douban and Fanqie into an iBooks-style bookshelf. It is Windows-only because Fanqie reading uses a local sidecar executable.
obsidian-douban; optional read-only
linkage with obsidian-douban can be toggled in settings.Install: download main.js, manifest.json, styles.css from the latest release into
<vault>/.obsidian/plugins/ex-libris/, enable the plugin, and restart Obsidian. Fanqie reading needs
the optional sidecar from ex-libris-sidecar,
manually placed at bin/fqsidecar.exe; the plugin never downloads, installs, or updates it.
Network / filesystem: the sidecar calls the Fanqie upstream from 127.0.0.1; Douban search uses
Douban's public suggest endpoint; covers come from Douban/Fanqie image hosts. The plugin checks for and
spawns the sidecar with child_process; a user-configured path may point outside the vault. No telemetry.
License: GPL-3.0-or-later. Not affiliated with ByteDance / Fanqie, Douban, Obsidian, or Clarivate / Ex Libris. For personal study and research only; you are responsible for complying with local laws and the terms of any service you use.
LICENSE。Yolkbun/ex-libris-sidecar(GPL-3.0,
含 ch6vip/fqapp 的完整对应源码与署名)。obsidian-douban 导入的笔记只读。豆瓣数据版权归豆瓣及相应权利人。NOTICE。本项目与 ByteDance / 番茄小说、豆瓣、Obsidian、Clarivate / Ex Libris 均无关联, 也未获得其授权或背书。仅用于个人学习与研究,处理你有权访问的内容;不提供、不托管、不分发书籍正文。