MyLibrary-Plus

一个你真的会
回来翻的论文库。

文献管理器很擅长归档论文,极不擅长让你回来再读。 MyLibrary-Plus 是架在 Zotero 之上、自己托管的一层:图优先的时间线, PDF 与自己的笔记共用一套批注,外加一个把整条批注线程交给 AI agent 的 JSON 接口。

本地优先 · 不联网 SQLite + 一个 data/ 目录 MIT Python 3.10+ 自带示例库
时间线:论文卡片显示图、标签、短评和阅读标记
时间线——每张卡片带首页和图 1–3,可滑动切换。

它能做什么

下面这些全部跑在你自己机器上:一个 SQLite 文件、内容寻址的 PDF,Web 界面只绑 127.0.0.1

图优先的时间线

论文按时间倒序排成一片带图的卡片流,点开是全屏灯箱;可打标签、写一句话短评、标记阅读状态,也能按标签或「有讲义」筛选、搜索。

批注只有一个地方

在 PDF 里选文字、在讲义里选文字,或者框选一整张图,都进同一个侧栏:标签、时间戳、回复、收藏、未读状态。

讲义模式

左边 PDF、右边你的 Markdown 笔记:KaTeX 公式、嵌图、背景知识框、[[双链]] 到共享概念笔记并带反向链接。一篇论文可以挂多份讲义。

讲义里的活组件

```widget 围栏块可以嵌你自己写的 HTML/JS——滑块、演示、示意图——从该论文的资产目录供给,并跟随全站主题。

夜览模式

全站 系统 / 浅色 / 深色 三态切换,首帧之前就应用、不闪白;时间线、阅读器、讲义、面板和交互组件都有配套深色配色。

Zotero 离线导入

zotero_import.py -c "分组名" 直接读 Zotero 的 SQLite,复用本地已有的 PDF——付费墙论文也能抽出图,全程不联网。

给 AI 用的批注接口

GET /api/papers/{id}/annotations/context 返回论文 + 批注 + 使用说明的 JSON;agent 用 role: "assistant" 把回复写回线程。

自带示例库

examples/data/ 是一套公共论文组成的小库,配 verify.py:刚 clone 下来就能把每个界面、每条路由跑通,再放自己的论文。

界面

截图全部来自仓库自带的示例库,不是任何人的真实库。

PDF 阅读器与批注侧栏
阅读器 + 批注侧栏(PDF 与讲义的批注在同一列表)。
框选一张图作为一条区域批注
整张图作为一条区域批注。
讲义模式:左 PDF,右渲染后的讲义
讲义模式——PDF 与渲染后的笔记并排。
讲义里嵌入的交互组件
```widget 块嵌进来的活组件。
讲义模式上下分屏
同一个分屏,切成上下。
深色模式下的时间线
夜览模式——同一个应用,深色配色。

2 分钟跑起来

  1. git clone https://github.com/george-wyy/MyLibrary-Plus.git && cd MyLibrary-Plus
  2. python3 -m venv .venv && .venv/bin/pip install -e .
  3. cp -R examples/data ./data——或者从空库开始,加自己的论文
  4. ./mylibrary serve,打开 http://127.0.0.1:8765
# 不用导入任何东西,先看每个界面
cp -R examples/data ./data
./mylibrary serve

# 或者让自带的检查脚本证明安装没问题
python3 examples/verify.py --serve

# 换成自己的论文
./mylibrary add "Attention Is All You Need"
python zotero_import.py -c "阅读清单"
数据不出你的机器。 Web 界面没有任何鉴权,默认只绑 127.0.0.1。想在手机上看,走私有 overlay 网络(如 Tailscale) 或带鉴权的反代——仓库里两种都有文档。

它站在哪一层

Zotero 继续当存储和 BibTeX 后端;MyLibrary-Plus 是你重新遇到论文、看图、批注、 再把线程交给 agent 的那一层。讲义就是你自己写的 Markdown——没有锁定,也没有账号。

为「被 agent 驱动」而设计

批注不是死胡同——它是本地 API 上一份结构化的上下文。

# 某篇论文的全部批注 + 使用说明
curl localhost:8765/api/papers/$PAPER_ID/annotations/context

# 把回复写回线程(侧栏里会显示为助手回复)
curl -X POST localhost:8765/api/papers/$PAPER_ID/annotations/$ID/replies \
     -H 'content-type: application/json' \
     -d '{"content": "关键在于残差通路…", "role": "assistant"}'

Agent 能读的文档

docs/ai-integration.md 逐条列出路由和载荷;docs/architecture.md 讲清数据模型和文件布局。

可信的检查脚本

examples/verify.py 会真的把应用拉起来,逐条验证 README 里宣传的路由——每次发布前用的就是这道闸。

一切都是文件

讲义是 data/lectures/*.md,概念笔记是 data/notes/*.md,论文在一个 SQLite 文件里。Agent 不用打开浏览器就能写这三样。