使用 Google Gemini、小米 MIMO 或 DeepSeek 阅读 Zotero 中的 PDF,生成结构化笔记并写回文献条目。本仓库聚焦两件事:
- 完整版图形界面(根目录):
reader_gui.py+reader.py - 学生分发包(仅小米 MIMO):
student_pack/
zotero-ai-reader/
├── reader_gui.py # 推荐入口:图形界面(多模型可选,支持DeepSeek思考过程)
├── reader.py # 阅读核心(由 GUI 或命令行调用)
├── config_loader.py # 配置发现与交互加载
├── config.example.py # 配置模板 → 复制为 config.py
├── prompt.md # 提示词模板(可通过 GUI 直接编辑)
├── requirements.txt
├── student_pack/ # 学生独立小包(见 student_pack/README.md)
│ ├── gui_mimo_student.py
│ ├── reader_mimo_student.py
│ ├── config.example.py
│ ├── prompt.md
│ ├── requirements.txt
│ └── README.md
└── README.md
- Python 3.8+(建议 3.10+)
- 下面「账户与 API」中列出的服务账号(按你选用的模型准备即可)
-
注册与软件
- 打开 https://www.zotero.org/ 注册免费账号,并安装桌面客户端(Windows / Mac 均可)。
- 本工具通过 网络 API 操作你在 zotero.org 上同步的文献库,请确保已在客户端里登录同一账号并开启同步。
-
用户库 ID(
LIBRARY_ID)- 用浏览器登录 https://www.zotero.org/,点右上角进入个人主页或「我的文库」。
- 看浏览器地址栏:形如
https://www.zotero.org/username时,个人库 ID 多为 纯数字,也可在 https://www.zotero.org/settings/keys 页面附近说明里核对;若是群组库,请到对应群组页面查看其 Group ID(也是数字)。 config.py里个人库一般写:LIBRARY_TYPE = 'user';群组库写:LIBRARY_TYPE = 'group',LIBRARY_ID填该组的数字 ID。
-
API Key(
API_KEY)- 打开 https://www.zotero.org/settings/keys。
- 创建新密钥时务必勾选 允许访问文库(Allow library access),并允许 创建笔记 / 写入(界面可能写作 Notes 或 Write 相关选项,以官网当前文案为准)。只读 Key 会导致无法把 AI 笔记写回 Zotero。
-
本地 PDF 路径(
ZOTERO_STORAGE_PATH)- 本工具要在本机磁盘上找到 PDF 文本,需填你存放同步 PDF 的文件夹(例如自建的
zotero-pdf同步目录,或你了解的实际路径)。 - 与「Zotero 数据目录」不一定相同;以你电脑上 PDF 真实所在为准,在资源管理器里复制路径即可。
- 本工具要在本机磁盘上找到 PDF 文本,需填你存放同步 PDF 的文件夹(例如自建的
-
账号
- 使用常用 Google 账号 登录即可。
-
API Key(
AI_API_KEY)- 打开 https://aistudio.google.com/apikey(或 Google AI Studio 内「Get API key」)。
- 按页面提示创建 API Key,复制到
config.py的AI_API_KEY。 - 免费额度与地区政策以 Google 当前说明为准;若网页打不开,多半是网络或区域限制,需自行解决访问环境。
-
模型名称(
AI_MODEL)- 在
config.example.py里有默认示例;若调用报错「模型不存在」,请到 Google AI 文档 / 模型列表 查看当前可用模型名并改配置。
- 在
-
账号与控制台
- 打开 https://platform.xiaomimimo.com/ 注册/登录。
- 平台分为 普通账号 和 Token Plan (按量计费)。普通账号通常有一定试用额度;Token Plan 需充值且密钥以
tp-开头。
-
API Key(
XiaoMi_API_KEY)- 在控制台内创建或查看 API Key。
- 如果您的密钥以
tp-开头,程序会 自动识别 并切换到专属的高速接口(token-plan-cn.xiaomimimo.com)。您也可以在配置中手动通过MIMO_BASE_URL指定。
-
模型名称(
XIAOMI_MODEL)- 推荐模型:
mimo-v2-pro(逻辑强)、mimo-v1-pro等。 - 若有视觉需求,可配置
XIAOMI_VISION_MODEL = 'mimo-v2-omni'(请确认您的账号权限)。
- 推荐模型:
-
账号与控制台
- 打开 https://platform.deepseek.com/ 注册并获取 API Key。
-
配置说明
- 在
config.py中填入DEEPSEEK_API_KEY,可配置DEEPSEEK_MODEL = 'deepseek-reasoner'(也就是 R1 思考模型) 或deepseek-chat。 - 程序内置了**思维链(Chain of Thought)**功能支持:如果使用 DeepSeek-Reasoner(或其他模型配合特定 Prompt),将在生成的笔记开头呈现折叠的
🧠 AI 思考过程 (Thinking Process)。
- 在
pip install -r requirements.txt
copy config.example.py config.py # Windows;macOS/Linux: cp ...
# 编辑 config.py,填写 Zotero 与至少一种 AI 的密钥;默认使用小米 MIMO。
python reader_gui.py在界面中可加载/编辑配置、修改 prompt.md 对应内容、选择 Gemini、MIMO 或 DeepSeek,再点击「开始运行」。默认的「目标集合路径」已设为动态的 0-New/mmdd,会自动匹配当天日期。
在 GUI 的「提示词」标签页中,您可以直接编辑提示词内容。编辑完成后可点击「保存提示词到文件」来更新本地的 prompt.md 或其他指定文件。点击窗口顶部的「重载提示词文件」可将文件中的最新内容重新加载到编辑框中。
python reader.py将按 config_loader 规则选择配置文件,并在终端交互选择 PDF 路径与模型(行为以 reader.py 为准)。
面向课程分发:只支持小米 MIMO,依赖更少(无 google-genai)。内置了通过 <think> 标签输出思考过程的提示词机制。使用方式见 student_pack/README.md。
- 勿将
config.py或含真实密钥的文件提交到公开仓库(本仓库.gitignore已忽略config.py)。 - 分享代码时使用
config.example.py中的占位符。