用 AI 把 Zotero 论文库变成“会聊天的图书馆”——AIZotero 实战指南


为什么要给 Zotero 再配一个 AI 助手?

很多科研人、工程师、研究生把 Zotero 当成“第二大脑”——文献一键抓取、标签随便打、PDF 直接预览。可当论文攒到上千篇,新问题就冒出来了:

  • “这篇 40 页的 paper 到底讲了什么?”
  • “半年前读的某篇论文,结论里那段公式怎么推导?”
  • “老板突然问:‘我们组有没有人研究过量子纠错?’”

传统做法是:打开 PDF → 全文搜索 → 头脑风暴 → 打开笔记 → 手动整理。
AIZotero 的做法是:让 AI 直接读论文,然后和你聊天


AIZotero 是什么?

一句话版本:
AIZotero = 本地 Zotero 图书馆 + AI 聊天窗口 + 全文搜索 + 本地记忆

它不会把 PDF 上传到云端,也不会修改 Zotero 的任何数据,只是在你的电脑上开一个“会说话的阅读室”。

主要能力一览

能力 一句话说明 技术关键词
本地连接 自动识别电脑里的 Zotero 7 aiohttp
AI 解析 把 PDF 转成 Markdown,再让 AI 总结 markitdown, OpenAI API
聊天记忆 你和 AI 的对话自动存 SQLite SQLite
实时搜索 标题、摘要、标签多维度秒搜 FastAPI
数学公式 完美渲染 LaTeX KaTeX

5 分钟快速上手(含常见问题)

1. 环境检查

依赖 最低版本 检查方法
Python 3.13 python --version
Node.js 18 node -v
Zotero 7+ 打开“关于”确认
包管理器 UV + PNPM uv --version && pnpm -v

FAQ:我只有 Python 3.11 怎么办?
答:建议用 pyenvconda 新建 3.13 环境,不会影响老项目。

2. 安装步骤(全部本地完成)

# 1️⃣ 克隆仓库
git clone https://github.com/your-org/aizotero.git
cd aizotero

# 2️⃣ 装后端依赖(推荐用 uv)
uv sync            # 等价于 pip install -r requirements.txt,但更快

# 3️⃣ 装前端依赖
cd frontend
pnpm install

3. 启动开发模式

开两个终端:

# 终端 A:后端(FastAPI)
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

# 终端 B:前端(Vite + Vue3)
cd frontend
pnpm dev

浏览器打开 http://localhost:5173,出现“AI Paper Assistant”即成功。

FAQ:端口被占用怎么办?
答:改端口即可:uvicorn app.main:app --reload --port 8001


第一次使用的三件小事

  1. 配置 AI 服务
    点击右上角齿轮 → 填入 OpenAI 兼容的 base_urlapi_key → 保存。
    (没有 API?可以本地部署 Ollama 做免费替代)

  2. 连接 Zotero
    只要本地已安装 Zotero 7,AIZotero 会自动发现;第一次会提示授权,点击“允许”即可。

  3. 开始阅读

    • 列表页:搜索、标签过滤、批量操作。
    • 点击任意论文 → 左侧 PDF,右侧 AI 聊天。
    • 问一句:“这篇论文的创新点是什么?”AI 会引用原文段落并给出中文摘要。

深入功能:你可能关心的 7 个问题

1. AI 真的“看懂”了 PDF 吗?

流程拆解:

PDF → markitdown → Markdown → OpenAI → 答案
  • 图表会被转成文字描述,公式用 $$...$$ 保证可渲染。
  • 如果论文扫描版,文字识别先过 OCR,再由 AI 纠错。

2. 聊天数据存在哪?

  • 路径:aizotero/data/cache/chat.db
  • 格式:SQLite,每条记录包含 paper_id, question, answer, timestamp
  • 隐私:永远不会离开本机,换电脑把文件夹拷走即可。

3. 如何导出对话?

在聊天窗口右上角 → Export as Markdown → 得到标准 .md 文件,可直接放 Obsidian、Notion 继续加工。

4. 搜索到底有多快?

实测 3000 篇论文,关键词搜索 < 200 ms。
原理:FastAPI 的异步路由 + SQLite FTS5 全文索引。

5. 数学公式会乱码吗?

不会。AIZotero 使用 KaTeX 渲染,常见符号覆盖率 99.9%,甚至能识别手写体 \mathcal{H}

6. 能离线用吗?

  • 纯离线:只要把 AI 服务换成本地 LLM(如 Ollama 的 llama3)。
  • 半离线:PDF 解析和 AI 回答需要网络,但 Zotero 元数据读取完全离线。

7. 会不会把论文“泄露”给 AI 厂商?

不会。

  • PDF → Markdown 的转换在本地完成。
  • 只有 Markdown 文本被发送到 AI 接口,可自建。
  • 代码开源,可自行审计。

技术架构:一张图看懂数据流向

层级 技术 职责
前端 Vue3 + TypeScript + TailwindCSS v4 交互界面、拖拽布局
后端 FastAPI + SQLite + aiohttp API、搜索、缓存
文档解析 markitdown + ThreadPoolExecutor PDF → Markdown
AI 接口 OpenAI 兼容 问答、总结
存储 SQLite 聊天记录、缓存

开发者的 4 个常用命令

# 跑单测
uv run pytest -v

# 自动格式化
uv run black . && uv run ruff check . --fix

# 前端类型检查
cd frontend && pnpm type-check

# 一键提交(已配置 lefthook)
git add .
uv run lefthook run pre-commit
git commit -m "feat: add tag filter"

真实场景:3 位用户的 1 天

角色 任务 传统流程 AIZotero 流程 节省时间
研一学生 写开题报告 打开 20 篇 PDF → 人工摘要 选中 20 篇 → 一键 AI 总结 2h → 15 min
算法工程师 复现论文 手动抄公式 → 反复对照 直接问 AI:“公式 (3) 的推导步骤?” 30 min → 3 min
产品经理 竞品调研 印象笔记 + 微信文件传输 边读边问 AI,对话导出 Markdown 1 day → 2 h

常见问题 FAQ(持续更新)

Q:Windows 可以用吗?
A:可以。Windows 10/11 实测通过,安装步骤完全一致。

Q:M1/M2 芯片的 Mac 需要额外配置吗?
A:不需要。UV 和 PNPM 会自动拉取 arm64 原生依赖。

Q:支持 Zotero 6 吗?
A:不支持。Zotero 7 的本地 API 与 6 差异较大,建议升级。

Q:PDF 超过 100 MB 会卡吗?
A:不会。转换阶段使用多线程,100 MB 论文 < 30 秒完成。

Q:如何卸载?
A:直接删除 aizotero 文件夹即可,不会留下注册表或隐藏文件。


下一步:把 AIZotero 变成自己的“第二大脑”

  1. 建标签体系:给论文打“方法 / 数据集 / 基线”三类标签,AI 回答会引用标签。
  2. 定期导出对话:每周把 .md 丢进 Obsidian,形成个人知识库。
  3. 写阅读笔记:在 AI 回答后面手动补充实验细节,AI 会记住上下文。

结语

AIZotero 不是“又一个 AI 工具”,而是把 Zotero 已经做得很好的“管理”能力,延伸到“理解”和“对话”。
如果你每天要和论文打交道,它会像一位 24 小时在线的研究助理——安静、高效、不占工位。

开源地址、安装脚本、使用视频都在 GitHub:
github.com/your-org/aizotero
欢迎提 Issue,也欢迎 Star 让项目走得更远。