AI 驱动的学术论文研究工作流平台
从「搜索论文」进化为「理解领域」
让 AI 成为你的研究助理 —— 自动追踪、智能分析、知识图谱、学术写作,一站式搞定!
# 1️⃣ 克隆项目
git clone https://github.com/Color2333/PaperMind.git && cd PaperMind
# 2️⃣ 配置环境变量
cp .env.example .env
vim .env # 至少填写 LLM API Key
# 3️⃣ 一键部署
docker compose up -d --build
# 4️⃣ 访问服务
# 🌐 前端:http://localhost:3002
# 📡 后端 API: http://localhost:8002
# 📚 API 文档:http://localhost:8002/docs# 1️⃣ 克隆项目
git clone https://github.com/Color2333/PaperMind.git && cd PaperMind
# 2️⃣ 一键初始化(推荐)
python scripts/dev_setup.py
# 或手动初始化:
python -m venv .venv && source .venv/bin/activate
pip install -e ".[llm,pdf]"
cp .env.example .env
vim .env # 填入 LLM API Key
python scripts/local_bootstrap.py
# 3️⃣ 启动后端
uvicorn apps.api.main:app --reload --port 8000
# 4️⃣ 启动前端
cd frontend && npm install && npm run dev
# 🌐 打开 http://localhost:5173# 在 .env 中设置密码即可启用全站认证
AUTH_PASSWORD=your_password_here
AUTH_SECRET_KEY=your_random_secret_keyPaperMind 是一个面向科研工作者的 AI 增强平台,帮你从「搜索论文」进化为「理解领域」。
| 😫 以前 | 😎 现在 |
|---|---|
| 每天手动刷 arXiv,怕错过重要论文 | 自动订阅主题,新论文推送到邮箱 |
| 读论文从摘要开始,不知道值不值得精读 | AI 粗读打分,快速筛选高价值论文 |
| 想了解领域发展,不知道从哪篇读起 | 知识图谱可视化,一眼看清引用脉络 |
| 写论文卡壳,不知道怎么表达 | 学术写作助手,润色/翻译/去 AI 味 |
| 文献综述耗时耗力,整理几百篇头大 | Wiki 自动生成,一键产出领域综述 |
你的智能研究助理,自然语言交互搞定一切:
- 💬 SSE 流式对话 —— Claude 风格,实时响应
- 🔧 工具链 —— 搜索/入库/分析/生成/写作自动调度
- ✅ 用户确认机制 —— 重要操作等你点头再执行
- 📜 对话历史持久化 —— 切页面不丢上下文
- 🎯 AI 关键词建议 —— 描述研究方向 → 自动生成搜索词
从收录到精读,全流程自动化:
- 🔄 多源订阅 —— ArXiv 关键词 + CSFeeds 论文源双重抓取
- 🚫 论文去重检测 —— 避免重复处理浪费 token
- 📦 递归抓取 —— 自动延伸更早期论文
- ⚡ 并行处理 —— 粗读/精读/嵌入三管齐下
- 💾 按需下载 PDF —— 入库不下载,精读才拉取
可视化你的研究领域:
- 🌳 引用树 —— 单篇论文引用网络
- 🌐 主题图谱 —— 跨主题引用关系
- 🌉 桥接论文 —— 发现跨领域的核心工作
- 🔬 研究前沿 —— 高被引 + 高引用的热点
- 📊 共引聚类 —— 相关研究自动分组
一键生成领域综述:
- 📖 主题 Wiki —— 输入关键词,输出完整综述
- 📄 论文 Wiki —— 单篇论文深度解读
- 📊 实时进度条 —— 异步生成,自动刷新
- 📜 历史版本 —— 所有生成内容可追溯
发现你研究领域最重要的论文来源:
- 🎯 关键词订阅 —— arXiv 关键词自动追踪
- 📡 论文源订阅 —— 直接订阅 CSFeeds 热门论文
- 📬 邮件推送 —— 新论文自动发送到邮箱
- ⏰ 按主题独立调度 —— 每个主题独立抓取频率
来自顶尖研究机构的写作工具:
- 🌏 中转英 / 英转中 —— 学术级翻译
- ✨ 润色(中/英) —— 更地道的学术表达
- 🤖 去 AI 味 —— 降低 AI 检测率
- 📊 图表推荐 / 标题生成 —— 实验数据可视化建议
专注阅读,AI 随叫随到:
- 📜 连续滚动 —— IntersectionObserver 页码追踪
- 🔍 缩放/全屏/跳转 —— 键盘快捷键支持
- 🌐 arXiv 在线代理 —— 无本地 PDF 也能读
- ✨ 选中即问 —— AI 解释/翻译/总结
保护你的研究资产:
- 🔑 站点密码 —— 简单可靠,适合个人/小团队
- 🎫 JWT Token —— 7 天有效期,自动续期
- 🛡️ 全站保护 —— 所有 API 都需要认证
┌─────────────────────────────────────────────────────────────┐
│ Frontend (React 18) │
│ Agent │ Papers │ Wiki │ Graph │ Brief │ Collect │ Writing │
│ 路由懒加载 · Vite 代码分割 · SSE 跨页保活 │
└─────────────────────────┬───────────────────────────────────┘
│ REST + SSE (JWT Auth)
┌─────────────────────────┴───────────────────────────────────┐
│ FastAPI Backend │
├─────────────┬─────────────┬─────────────┬───────────────────┤
│ Agent │ Pipeline │ RAG │ Graph / Wiki / │
│ Service │ Engine │ Service │ Brief / Write │
├─────────────┴─────────────┴─────────────┴───────────────────┤
│ Global TaskTracker (异步任务 + 实时进度) │
│ 右下角悬浮面板 · 分类图标 · 完成历史 │
├─────────────────────────────────────────────────────────────┤
│ Unified LLM Client (连接复用 + TTL 缓存) │
│ OpenAI │ Anthropic │ ZhipuAI │
├─────────────────────────────────────────────────────────────┤
│ SQLite (WAL) │ ArXiv API │ Semantic Scholar API │
└─────────────────────────────────────────────────────────────┘
│
┌────────────┴────────────┐
│ APScheduler Worker │
│ 按主题独立调度 │
│ 每日简报 / 每周图谱 │
└─────────────────────────┘
| 变量 | 说明 | 默认值 |
|---|---|---|
LLM_PROVIDER |
LLM 提供商 (openai/anthropic/zhipu) | zhipu |
ZHIPU_API_KEY |
智谱 API Key | — |
OPENAI_API_KEY |
OpenAI API Key | — |
ANTHROPIC_API_KEY |
Anthropic API Key | — |
LLM_MODEL_SKIM |
粗读模型 | glm-4.7 |
LLM_MODEL_DEEP |
精读模型 | glm-4.7 |
LLM_MODEL_VISION |
视觉模型 | glm-4.6v |
EMBEDDING_MODEL |
Embedding 模型 | embedding-3 |
SITE_URL |
生产域名 | http://localhost:3002 |
AUTH_PASSWORD |
站点密码(留空禁用认证) | — |
AUTH_SECRET_KEY |
JWT 密钥 | — |
COST_GUARD_ENABLED |
成本守卫 | true |
DAILY_BUDGET_USD |
每日预算 | 2.0 |
OPENALEX_EMAIL |
OpenAlex 邮箱(用于 API) | — |
IEEE_API_ENABLED |
启用 IEEE 搜索 | false |
IEEE_API_KEY |
IEEE API Key | — |
SEMANTIC_SCHOLAR_API_KEY |
Semantic Scholar API Key | — |
完整配置见
.env.example
🔐 认证
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /auth/login |
登录获取 JWT Token |
| GET | /auth/status |
查询认证状态 |
🤖 AI Agent
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /agent/chat |
Agent 对话(SSE 流式) |
| POST | /agent/confirm/{id} |
确认工具执行 |
| POST | /agent/reject/{id} |
拒绝工具执行 |
📄 论文管理
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /papers/latest |
论文列表(分页) |
| GET | /papers/{id} |
论文详情 |
| POST | /pipelines/skim/{id} |
粗读 |
| POST | /pipelines/deep/{id} |
精读 |
| POST | /pipelines/embed/{id} |
生成嵌入向量 |
🕸️ 知识图谱
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /graph/citation-tree/{id} |
引文树 |
| GET | /graph/overview |
全局概览 |
| GET | /graph/bridges |
桥接论文 |
| GET | /graph/frontier |
研究前沿 |
| GET | /graph/cocitation |
共引聚类 |
📚 Wiki
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /wiki/topic |
生成主题综述 |
| GET | /wiki/topic/{id} |
获取主题 Wiki |
| POST | /wiki/paper/{id} |
生成论文解读 |
| GET | /wiki/history |
Wiki 生成历史 |
📡 订阅源
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /cs-feeds/ |
列表订阅源 |
| POST | /cs-feeds/subscribe |
订阅论文源 |
| POST | /cs-feeds/fetch |
手动触发抓取 |
| 类别 | 优化策略 |
|---|---|
| 首屏 | KaTeX 字体 CDN + PDF Worker CDN + 重型库懒加载(-2.7MB) |
| 前端 | 路由懒加载 · useMemo/useCallback · React.memo · RAF batching |
| 数据库 | SQLite WAL · 批量聚合查询 · Citation 索引 |
| 图谱 | list_lightweight 轻量加载 · 90% 内存削减 |
| LLM | 连接复用 · 30s TTL 缓存 · 指数退避重试 |
| 任务 | 统一进度回调 · 粒度化进度报告 · 分类图标 |
性能优化
- KaTeX 字体 + PDF Worker 改为 CDN,首屏 -2.7MB
- ForceGraph2D / react-pdf / react-markdown 懒加载
- topic_stats N+1 查询改为批量聚合(401次→4次)
- Citation 字段加索引,图谱查询加速
- graph_service 全量加载改为轻量模式,内存 -90%
- HTTP 客户端复用 + LLM 指数退避重试
- 50+ 处 index-as-key 修复
任务系统重构
- 统一进度回调签名(message, current, total)
- TaskManager 合并到 global_tracker
- fetch / cs_feed / weekly / figure_analysis 进度粒度增强
- GlobalTaskBar 改为右下角悬浮面板(分类图标/颜色/历史)
- ActiveTask 增加 category 字段
其他
- CSFeeds 论文订阅源功能完善
- Agent 对话体验优化
- 前端状态管理优化,减少无效重渲染
新功能
- 🔐 站点密码认证 —— JWT Token 保护所有 API
- 📄 PDF Token 认证 —— 文件访问也安全
- 🔄 SSE 认证 —— Agent 对话等 SSE 请求携带认证
Bug 修复
- 修复 TypeScript 编译失败
- 恢复 GZipMiddleware 响应压缩
- 恢复 logging_setup 统一日志格式
查看历史版本
# 后端 lint
python -m ruff check .
# 前端类型检查
cd frontend && npx tsc --noEmit
# 数据库迁移
cd infra && alembic revision --autogenerate -m "描述"
alembic upgrade head- awesome-ai-research-writing — 写作助手 Prompt 模板来源
- ArXiv — 开放论文平台
- Semantic Scholar — 引用数据来源
- CSFeeds — 论文源订阅服务
- learn-claude-code — Agent Harness 工程体系启发,s01-s12 渐进式解构:Loop → Tools → Planning → Subagents → Skills → Context → Tasks → Background → Teams → Protocols → Autonomous