自建学术文献数据库 · 无 Docker 快速启动(保持可移植性)
make init # 安装前后端依赖
cp backend/.env.sqlite.example backend/.env
make backend # http://localhost:8000/docs
make frontend # http://localhost:3000- SQLite 模式下,数据在项目根的
infinipaper.db文件中,拷贝即可迁移。 - 也可执行
make export生成export.json。
- 按
backend/.env.postgres.example配置DATABASE_URL。 - 运行
make db-migrate同步表结构。
UI/UX
- 全局导航与卡片样式焕新,统一圆角与阴影,提升可读性。
- 新增
/search页面:支持 语义搜索 与关键词搜索切换。 - 新增
/import页面:一键从 OpenAlex 搜索并批量导入。 - 新增
/quality页面:质量面板展示缺失字段数量,一键定位问题数据。 - 标签输入升级为 芯片式编辑器(支持建议与快捷删除)。
数据与API
GET /api/v1/import/openalex?q=...搜索外部文献;POST /api/v1/import/openalex/import批量导入。GET /api/v1/search/semantic?q=...语义搜索(优先使用sentence-transformers/all-MiniLM-L6-v2,不可用时自动降级)。POST /api/v1/tags/suggest从文本中给出建议标签。GET /api/v1/quality/summary质量概览。GET /api/v1/dedupe/preview与POST /api/v1/dedupe/merge去重预览与合并(无 DOI 时按标题近似)。
安装依赖(后端)
- 新增依赖:
httpx、rapidfuzz、sentence-transformers、loguru(已写入backend/pyproject.toml)。 - 语义模型初次运行会自动下载(可离线前置下载)。
Apple Silicon (M1/M2/M3) 说明
- Python 依赖建议使用 uv/poetry 或
pipx+venv安装,避免 Rosetta。 - 若安装
sentence-transformers较慢,可先跑:pip install torch --extra-index-url https://download.pytorch.org/whl/cpu,然后pip install sentence-transformers。 - 若只想先跑起来,后端会自动降级为“关键词搜索”,不阻塞功能。
开发启动
make init
cp backend/.env.sqlite.example backend/.env
make backend # http://localhost:8000/docs
make frontend # http://localhost:3000