zotero-kb/README.md
2026-04-16 13:34:39 +08:00

77 lines
1.8 KiB
Markdown

# Zotero KB
本地 Zotero 文献卡片工作台。
## 当前能力
- 从本地 Zotero 数据目录读取条目、标签、笔记、collection 和附件文本
- 通过项目管理指定文献子集
- 生成 Markdown 知识卡片和 JSON 索引
- 提供项目内引用推荐和初版引用方案 API
- 提供最小 Web 控制台
- 提供 Claude Code / Codex 可直接读取的 skill 文件
- 支持按 Zotero collection 树浏览并逐篇选择文献导入到当前项目
## 本地运行
1. 安装依赖
```bash
UV_CACHE_DIR=/tmp/uv-cache uv sync --extra dev
```
2. 设置环境变量
```bash
export DEEPSEEK_API_KEY=你的_deepseek_api_key
export ZOTERO_DATA_DIR=/mnt/c/Users/WSX/Zotero
export ZOTERO_KB_WORKSPACE=workspace
export ZOTERO_BRIDGE_FILE=workspace/bridge/selected-items.json
```
如果你已经在 `~/.bashrc` 里配过这些变量,这一步可以跳过。
3. 启动服务
```bash
UV_CACHE_DIR=/tmp/uv-cache uv run python main.py
```
4. 打开浏览器访问
```text
http://127.0.0.1:8000
```
5. 在左侧点击 `导入文献`
- 先选择一个项目
- 点击 `导入文献` 打开全屏导入界面
- 左侧点击一个 Zotero collection
- 右侧会显示该 collection 直接包含的文献
- 逐篇勾选需要导入的文献
- 点击顶部 `导入所选`
- 文献列表默认只显示标题和年份
- 鼠标悬停标题 3 秒后会显示摘要预览
- 在窄屏或不方便 hover 的场景下,可点击 `i` 按钮查看摘要
默认环境变量:
- `ZOTERO_DATA_DIR=/mnt/c/Users/WSX/Zotero`
- `ZOTERO_KB_WORKSPACE=workspace`
- `ZOTERO_BRIDGE_FILE=workspace/bridge/selected-items.json`
- `DEEPSEEK_API_KEY=...`
如果项目创建时使用:
- `llm_provider=deepseek`
- `llm_model=deepseek-chat`
导入文献生成卡片时会自动读取 `DEEPSEEK_API_KEY` 调用 DeepSeek。
## 测试
```bash
UV_CACHE_DIR=/tmp/uv-cache uv run pytest -q
```