前提与配置¶
先配好这一页,再去用任何一项能力。 这里是全部公共前提的唯一出处 —— 各功能页只写「本页额外需要什么」,不再重复。
配好之后怎么用¶
打开本项目文件夹,用一个编码 agent 让它替你干活。
「本项目文件夹」就是你 git clone 下来的 mylibrary 目录。在这个目录里开一个编码 agent ——
Claude Code · Codex · workbuddy,你顺手哪个都行 —— 然后说人话:
「把 10.1038/s41586-024-07145-1 下载并入库」 · 「把《某某》这篇做成卡」 · 「看看能聚出哪些主题」
⚠️ 所有操作都要在 mylibrary 目录里做。 命令与产物路径都以它为基准;在别处运行会找不到依赖。
新开终端先回到这里:
一、通用(每项能力都要)¶
| 需要 | 说明 |
|---|---|
| Git | |
| Python 3.12–3.14 | requires-python = ">=3.12,<3.15" |
| uv | 安装指引 |
| Zotero 桌面版 | 至少运行过一次(生成本地数据库) |
git clone git@github.com:iHeadWater/mylibrary.git # 或 https://github.com/iHeadWater/mylibrary.git
cd mylibrary
uv sync --all-packages
本仓库只有一个包
hydrolitagent。入口是uv run hydrolitagent …; 文献卡与主题卡走子命令组uv run hydrolitagent cards …(运行时 Windows-only)。
二、按能力看还要什么¶
| 你要做的事 | 额外需要 | 凭据放哪 |
|---|---|---|
| 读 Zotero 库(MCP 12 个工具) | Zotero Web API key | .env:ZOTERO_API_KEY · ZOTERO_LIBRARY_ID |
| 下载 + 入 Zotero(入库) | 上面那条 + GDrive 论文目录 + Zotero 里对应的「链接附件根目录」设置 | .env:GDRIVE_PAPERS_PATH |
| 机构访问下载 PDF | Playwright 浏览器 + 学校机构会话 | 见 论文 PDF 下载 |
| 文献卡与主题卡 | Zotero Desktop 正在运行且允许其他应用通信;一种已登录的模型 CLI(Codex 或 Claude);读 PDF 页面用的 Poppler(pdftoppm / pdfinfo / pdftotext)在 PATH 里 |
模型凭据由那个 CLI 自己管 —— 不进本仓库 |
| 深度处理(精读 / 公众号 / 播客) | 看产出而定:智谱(配图)、微信公众号(发布)、NotebookLM | .env:ZHIPUAI_API_KEY · WECHAT_APPID + WECHAT_APPSECRET 等 |
| 只做离线校验 | 以上额外项都不需要 | — |
逐字段的环境变量清单见配置参考。 密钥一律从环境变量读,不要写进源码或提交。
三、凭据:.env¶
.env 已被 Git 忽略。按上表只填你要用的那几条 —— 空着不是错。
# 读 Zotero 库(必需)
ZOTERO_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxx
ZOTERO_LIBRARY_ID=1234567
ZOTERO_LIBRARY_TYPE=user # user(默认)或 group
# Zotero 本地全文检索(可选;需 Zotero Desktop 运行)
# 只填 host 根,/api/users/0 由服务自己补。旧名 ZOTERO_LOCAL_API_URL 仍兼容。
# 裸 host -> http://127.0.0.1:23119
# 容器内 -> http://host.docker.internal:23119
ZOTERO_LOCAL_BASE_URL=http://127.0.0.1:23119
# 论文入库(必需,仅入库那条线)
GDRIVE_PAPERS_PATH=G:\我的云端硬盘\Documents\Papers\Zotero_Papers
Zotero API key 怎么拿:zotero.org/settings/keys → Create New Private Key → 勾选 Allow library access 与 Allow notes access → 记下 Key 和页面顶部的 User ID(数字)。
入库还要在 Zotero 里配一次:Preferences → Advanced → Files and Folders →
链接附件根目录(Zotero 里叫 Linked Attachment Base Directory)设成与 GDRIVE_PAPERS_PATH 同一个路径;
并确认 ZotMoov / 「自动重命名并移动附件」对该文件夹关闭。
容器(myopenclaw hermes)可与裸 host 共用一份凭据文件
~/.config/zot/config.toml([zotero] library_id / api_key);可用ZOTERO_CONFIG_PATH改路径。 裸 host 无需 TOML,脚本在无 TOML 时自动回退.env。
四、验证¶
uv run python -c "import pyzotero; print('pyzotero OK')" # 依赖装好了吗
uv run python scripts/download_paper.py --setup-check # 入库链路自检(.env / API / GDrive)
文献卡那条线的自检不需要你的论文或模型账号,见文献卡与主题卡。
下一步¶
配好通用部分后,按你要做的事往下走: