相信站内不少佬平时都得啃论文,我自己也是。但总得在各种翻译,ai聊天软件里切换来切换去,索性自己动手搞了这个项目。
首先先介绍一下功能
第一:可以转换成md后进行翻译,格式不会丢失,还有中英对照页面
翻译采用ReactAgent架构,搜寻从arxiv,以及网上各种信息,从背景、动机、切入点:
- 以及强相关论文给出链接和简单描述相关性
- 最重要的创新点也会详细解析(是什么,为什么重要,与已有方法对比),以及关键模块等等
- 实验结果,优势和局限性
- 还有ai推断的可行方向
第二:不熟悉的专业术语,划词后让ai解析
解析完成后会在整个项目全局高亮,鼠标悬停则会出现解析
第三:拥有用户画像功能的就论文对话功能
ai能根据用户的回答实时调整用户画像,给出让用户最能听懂最想要的回答
话不多说,拿一篇论文试试效果,拿最近新出的step-deepresearch举例
1. 解析效果:结构公式啥的都没毛

2. Agent 翻译:

类似于沉浸式那样的对照阅读也没问题:

3. 深度解析:

4. 划词 & 记忆:遇见不懂的陌生的词?直接划词解析(这些都会进入llm的记忆,可以在对话中用到):

5. 智能问答: llm会根据用户回答自动调整用户画像(beta,可能有bug):

快速开始
总结
快速开始
方式一:Docker 一键启动(推荐)
使用 Docker 数据库:
cp backend/.env.example backend/.env
# 编辑 backend/.env,DATABASE_URL 配置为:
# DATABASE_URL=postgresql+asyncpg://postgres:postgres@db:5432/papermate
docker-compose --profile db --profile dev up -d
使用外部数据库:
cp backend/.env.example backend/.env
# 编辑 backend/.env,DATABASE_URL 配置为你的数据库地址
docker-compose --profile dev up -d
访问:
- 前端:http://localhost:5173
- 后端 API:http://localhost:8000/docs
首次使用:
- 访问前端 http://localhost:5173
- 点击注册,创建第一个用户(自动成为管理员)
- 注册后,其他用户无法自行注册,需要管理员添加
方式二:本地开发启动
前置条件:
- Python 3.11+
- Node.js 18+
- PostgreSQL 数据库(可以是本地安装或 Docker)
步骤:
# 1. 启动数据库(可选,如果没有 PostgreSQL)
docker-compose --profile db up -d
# 数据库地址:localhost:5433
# 2. 配置环境变量
cp backend/.env.example backend/.env
# 编辑 backend/.env,配置数据库连接和 API 密钥
# 如果使用上面的 Docker 数据库,DATABASE_URL 配置为:
# DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5433/papermate
# 3. 安装后端依赖
pip install -r backend/requirements.txt
# 4. 安装前端依赖
cd frontend && npm install && cd ..
# 5. 一键启动前后端(自动运行迁移)
./scripts/dev.sh
访问:
- 前端:http://localhost:5173
- 后端 API:http://localhost:8000/docs
首次使用:
- 访问前端 http://localhost:5173
- 点击注册,创建第一个用户(自动成为管理员)
- 注册后,其他用户无法自行注册,需要管理员添加
环境变量配置
编辑 backend/.env,配置以下必需项:
# 数据库连接
# Docker 环境(使用 Docker 数据库):DATABASE_URL=postgresql+asyncpg://postgres:postgres@db:5432/papermate
# 本地环境(使用外部数据库):DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5433/papermate
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5433/papermate
# JWT 密钥(生产环境必须修改!)
JWT_SECRET_KEY=your-super-secret-key-change-in-production
# OpenAI API(必需)
OPENAI_API_KEY=your-openai-api-key-here
OPENAI_MODEL=gpt-4o
# MinerU PDF 解析(推荐使用云端 API)
MINERU_USE_CLOUD=true
MINERU_API_URL=https://mineru.net
MINERU_API_KEY=your-mineru-api-key
# Tavily 搜索(可选)
TAVILY_API_KEY=your-tavily-api-key-here
数据库说明
使用 Docker 数据库
# 单独启动数据库
docker-compose --profile db up -d
# 或与其他服务一起启动
docker-compose --profile db --profile dev up -d
数据库地址:
- Docker 内部:
db:5432 - 宿主机访问:
localhost:5433
使用自己的数据库
确保数据库已安装 pgvector 扩展:
CREATE EXTENSION IF NOT EXISTS vector;
然后在 .env 中配置你的数据库连接地址。
to_do_list:
未来想完善的功能:
添加项目级别的记忆,不止是术语和画像,提升llm回答的质量,让llm更懂你,也更懂论文
将整个项目里的所有论文,以及专业术语和记忆,作成rag知识库,在对话、翻译等地方运用上去
优化翻译agent和对话流程
大家在读论文里还有什么需要的可以提,如果好的我都会采纳放进去,还有rag我完全没整过,感觉有点复杂就先放到后边去了
最后,star一下吧 ![]()