快速开始
先记住这个定位
这个仓库的主交互面是 zot-skills,不是命令列表。
zot-skills负责理解用户想从 Zotero 里拿什么内容- Rust
zot负责真正执行读取、检索、索引和写入 - CLI 页面是参考面,主要给排障、脚本化和直接调用使用
如果你是让 Agent 去“找文献、读 PDF、提取批注、整理主题 workspace、更新条目”,就按 skill-first 的方式启动。
如果你是从 ref/zotero-cli 迁过来的,先看:从 ref\zotero-cli 迁移。 如果你是从 ref/zotagent 迁过来的,再看:从 ref\zotagent 迁移。
这个 skill 能从 Zotero 里拿到什么
- 条目元数据:title、creator、year、item type、citation、children
- 证据内容:PDF fulltext、outline、annotations、notes
- 组织结构:tags、collections、libraries、feeds
- 主题工作面:workspace、semantic index、semantic query/search
- 受控写入:notes、tags、collections、imports、duplicate merge、publication status sync
推荐启动顺序
1. 安装 skill
bash
npx skills add https://github.com/bahayonghang/zotero-cli --skill zot-skills2. 提供运行时
bash
cargo install --git https://github.com/bahayonghang/zotero-cli.git zot-cli --locked3. 先跑一次 doctor
bash
zot --json doctor如果你正在这个仓库里开发,而 zot 还没有安装到 PATH:
bash
cargo run -q -p zot-cli -- --json doctor同一轮任务固定一种调用路径,不要混用。
如果 doctor 里 write_credentials 是缺失状态,而你当前只做本地检索、PDF 读取、outline、批注读取或本地索引,这一项可以忽略。它只影响 Zotero Web API 写操作。
如果 doctor 里 pdf_backend.available=false,但平台受支持,zot 会在第一次真正需要 Pdfium 的本地 PDF 读取时自动下载受管 Pdfium;doctor 本身不会触发下载。
4. 需要远端写入或保存查询时,先配 config
如果你后面要做这些事:
- 写 note / tag / collection
- 保存或删除 saved search
- 做 publication status sync
可以先初始化配置:
bash
zot config init --library-id <你的 library id> --api-key <你的 api key>如果你想给一个独立 profile 配置:
bash
zot config init --target-profile work --library-id <你的 library id> --api-key <你的 api key> --make-default可以直接怎么提需求
- “找出我库里 reward hacking 相关的论文”
- “把这篇论文的 PDF 批注和 note 拿出来”
- “给我建一个 llm-safety workspace,再把相关论文导进去”
- “检查这篇预印本是否已经正式发表”
- “给这篇文献加一条 note,再打上 priority 标签”
这些都是 zot-skills 应该直接接管的请求。
更完整的开口方式,见:Agent 用法
什么时候退回直接命令
以下场景更适合直接跑运行时:
- 你在排环境问题
- 你在验证某个子命令的实际返回
- 你在写脚本或回归测试
- 你需要确认
doctor、索引、写权限等前置状态
常见起点:
bash
zot --json doctor
zot --json library search "reward hacking" --limit 10
zot --json item get ATTN001
zot --json item annotation list --item-key ATTN001
zot --json workspace query llm-safety "主要的失败模式有哪些?" --mode hybrid --limit 5什么时候先跑 doctor
以下场景默认先执行 doctor:
- 第一次接触当前环境
- 任何写操作前
- PDF / outline / annotation 相关任务
- library semantic index/search
- workspace index/query 异常
- Better BibTeX citekey 查询
- 用户反馈“为什么不工作”
重点关注这些字段:
db_existswrite_credentials.configuredpdf_backend.availablebetter_bibtex.availablelibraries.feeds_availablesemantic_indexannotation_supportembedding.configured
仓库开发命令
项目根目录常用命令:
bash
just build
just install
just cijust ci 会按顺序运行:
cargo fmt --all --checkcargo check --workspacecargo clippy --workspace --all-targets -- -D warningscargo test --workspace
配置位置
- 配置文件:
~/.config/zot/config.toml - workspace 根目录:
~/.config/zot/workspaces
常用环境变量:
ZOT_DATA_DIRZOT_LIBRARY_IDZOT_API_KEYZOT_PDFIUM_LIB_PATHZOT_PDFIUM_CACHE_DIRZOT_EMBEDDING_URLZOT_EMBEDDING_KEYZOT_EMBEDDING_MODELSEMANTIC_SCHOLAR_API_KEYS2_API_KEY
可选集成覆盖:
ZOT_BBT_PORTZOT_BBT_URLPDFIUM_LIB_PATHZOT_SCITE_API_BASEZOT_CROSSREF_API_BASEZOT_UNPAYWALL_API_BASEZOT_PMC_API_BASEZOT_SEMANTIC_SCHOLAR_GRAPH_BASE
文档站本地预览
文档站基于 VitePress,位于 docs/:
bash
cd docs
npm install
npm run dev生产构建:
bash
cd docs
npm run build