面向 code agent 的学术文献管理工具。提供 CLI 接口和 pi skill,支持从多个来源导入论文、检索管理、导出引用。
- 多来源导入:统一
lit add <identifier>自动识别 arXiv、DOI、OpenReview、DBLP、标题、本地 PDF、BibTeX、RIS;旧子命令保留 - 智能元数据提取:结构化 API 直接解析;DBLP venue 规范化与论文摘要使用 LLM 辅助;本地 PDF 仅导入为最小条目
- 检索与过滤:全文搜索、模糊搜索、多字段组合过滤
- 引用检索:基于 Crossref 拉取单篇论文参考文献,支持 DOI 和标题匹配
- Collection 管理:自定义分组,批量操作
- 作者与机构管理:独立 Author/Affiliation CRUD,支持个人主页、ORCID、OpenAlex、Semantic Scholar、DBLP PID、学校/院系两层机构
- 多格式导出:BibTeX、IEEE、Markdown、HTML、JSON
- 平台标识符:为论文与作者存储结构化平台 ID,默认输出平台 URL,可通过
--key查看原始 ID/key - PDF 管理:arXiv、OpenReview、Unpaywall、OpenAlex、Semantic Scholar fallback 自动下载;可选 MinerU 自动解析并落盘结构化全文
# 开发模式安装
pip install -e .
# 或用 uv(推荐)
uv pip install -e ".[dev]"
# 全局安装,任意目录可用 lit 命令
uv tool install .
# 配置 OpenAI API key(论文摘要与 DBLP venue 规范化需要)
mkdir -p ~/.config/litcli
cp .litcli/auth.example.toml ~/.config/litcli/auth.toml
# 如需 MinerU 全文解析,再配置 MinerU API key
# 导入一篇论文
lit add 1706.03762
# 搜索
lit search "attention mechanism" --json
# 拉取一篇论文的参考文献列表
lit references 42 --json
# 补充作者机构信息
lit author add "Geoffrey Hinton" --institution "University of Toronto" --json
lit affiliation list --json
# 导出 BibTeX
lit export --format bibtex --collection "my-papers"| 模块 | 状态 |
|---|---|
ng/db/ |
✅ 完成(移植自 papercli) |
ng/services/ |
✅ 完成(移植并精简) |
lit/ CLI 层 |
✅ 完成 |
skills/literature-cli/ |
✅ 完成 |
- 只读 SQL 查询:
lit db query "SELECT ..." --json,对所有表执行任意只读 SQL,输出 JSON 行,供 agent 在结构化命令不够用时灵活查询
| 变量 | 默认值 | 说明 |
|---|---|---|
OPENAI_API_KEY |
— | 可选,用于论文摘要与 DBLP venue 规范化 |
OPENAI_MODEL |
gpt-4o-mini |
LLM 模型 |
LITCLI_DATA_DIR |
~/.litcli |
数据目录 |
LITCLI_PDF_PAGES |
10 |
论文摘要读取 PDF 页数 |
UNPAYWALL_EMAIL |
— | Unpaywall polite email |
OPENALEX_EMAIL |
— | OpenAlex polite pool email |
SEMANTIC_SCHOLAR_API_KEY |
— | Semantic Scholar 可选 API key |
参考 .litcli/config.example.toml 和 .litcli/auth.example.toml 配置。
配置加载优先级:
- 已导出的环境变量,例如
export OPENAI_API_KEY=... - 当前工作目录及其父目录中最近的项目级
.litcli/config.toml/.litcli/auth.toml - 用户级
~/.config/litcli/config.toml/~/.config/litcli/auth.toml
项目级配置只按当前工作目录发现,与 lit 安装位置无关;因此在项目目录内运行 lit 时,总会优先使用该项目的 .litcli/。需要排查命中的配置时,可运行 lit config --json。
服务层和数据库层移植自 papercli(MIT License),移除了 TUI、同步、chat 等功能,保留核心文献管理逻辑。