PaperPilot: 专为个人打造的研究级论文助手

github链接:https://github.com/shenmingig/paper_pilot
贡献:
产品:@爱学习的时小糖(李泽宇)
研发:@shenmingik
AI:ducc、comate

1. 简介

背景与痛点

对于学生或者工程师群体,论文阅读是科研和技术成长必不可少的环节。但在日常实践中,传统的工作流存在以下痛点:

  1. 被动获取:缺乏主动搜索最新前沿论文的习惯,信息获取严重滞后。
  2. 筛选困难:海量论文质量参差不齐,缺乏个性化的高质量推荐系统,时间浪费在低价值内容上。
  3. 阅读门槛:英文长文阅读耗时费力,缺乏能够辅助提炼核心知识点的工具,容易陷入细节而忽略大意。
  4. 知识孤岛:读后缺乏系统性的总结,知识点随时间快速遗忘;且单篇论文的知识无法与其他论文串联,形成“知识孤岛”。

PaperPilot 是一个拥有“大脑”的智能学术研究助手。它不仅是一个工具,更是一个 Agent,能够主动搜集情报、陪你深度研读、帮你构建长期的知识网络。

2. 核心创新点

2.1 智能情报系统 (Autonomous Intelligence)

不同于传统的 RSS 订阅,PaperPilot 拥有自主判断能力:

  1. 主动巡航:内置爬虫系统每日自动巡查 Arxiv、GitHub 等数据源。
  2. 认知筛选:利用 LLM 对每篇论文进行深度阅读和评分(0-10分),而非仅匹配关键词。
  3. 严格准入:只有高质量(Score ≥ 7.0)且符合用户兴趣的资源才会进入推荐池。

2.2 仿生记忆系统 (Bionic Memory System)

传统 Session 机制的弊端

目前的 LLM 应用大多采用基于 Session 的对话历史机制,这种方式存在显著缺陷:

  1. 上下文遗忘:随着对话轮数增加,为了适应 Context Window,旧的对话会被截断或压缩,导致关键信息(如用户 10 分钟前定义的变量)丢失。
  2. 会话隔离:Session A 中学到的知识无法在 Session B 中复用。用户必须在每次新开对话时重复告知背景信息。
  3. 知识碎片化:对话结束后,产生的价值信息随 Session 归档而“死亡”,无法沉淀为长期知识。
PaperPilot 的解决方案

我们构建了一套仿生的多层记忆架构来解决上述问题:

  • Session Pin (工作记忆):在对话中“钉”住关键段落,防止其被滑动窗口丢弃。
  • Session Digest (情景记忆):会话结束后,自动提取精华摘要,而非保存冗余的对话流。
  • Neural Network (长时记忆):通过知识图谱和神经链,将碎片化的 Digest 串联成结构化的知识网络,打破会话隔离。

3. 功能介绍

UI 前端地址http://localhost:8000

3.1 基础功能

  • 系统推荐:每日精选高分论文,展示 LLM 生成的一句话总结 (TLDR) 和推荐理由。
    请添加图片描述
  • 深度阅读:支持 PDF 全文解析(非仅摘要)。Agent 会阅读全文,回答用户关于论文细节、创新点、实验数据的任何提问。
    请添加图片描述
  • 重点答疑:针对特定知识点进行追问,支持多轮对话和上下文理解。
    请添加图片描述

3.2 高级功能

  • 记忆神经网络可视化:直观展示当前的记忆网络拓扑。支持按主题查看神经链,点击节点可回溯原始会话。
    请添加图片描述
  • 神经链高亮:点击特定主题(如 “LSM”),高亮显示相关的所有研读记录。

请添加图片描述

  • 梦境系统触发:除了定时任务,支持在前端手动触发“记忆整理”,实时观察 Agent 如何重组记忆。
    请添加图片描述

  • 论文库管理:查看所有已收录的高分论文,支持状态筛选(未读/已读)。
    请添加图片描述

    • 手动上传:支持上传本地 PDF 或输入 Arxiv 链接,Agent 会立即进行解析和入库。
      在这里插入图片描述
  • 会话时光机:查看历史对话记录。即使是很久以前的讨论,也能通过记忆检索快速找回。
    在这里插入图片描述

4. 系统架构设计

4.1 总体架构

架构解析

  1. Frontend (Web 前端):采用纯原生 JS 实现,轻量级且响应快,负责与用户的直接交互和数据可视化。
  2. API (FastAPI 后端):系统的中枢神经,处理 HTTP 请求,并分发给对应的 Service。
  3. Service Layer (服务层)
    • Session Manager: 维护当前活跃的对话上下文。
    • Crawler Manager: 调度爬虫任务,是系统的“眼睛”。
    • Memory Service: 负责记忆的存储、检索和知识图谱构建。
    • Dreaming Service: 负责后台的记忆整理和重组。
    • LLM Client: 封装大模型接口,提供统一的认知能力。
  4. Data Layer (数据层):使用 SQLite 存储结构化数据,通过 database.py 进行统一访问。
  5. External World:与互联网和 AI 模型服务的交互接口。

External World (外部交互)

Data Layer (SQLite)

Service Layer (大脑)

HTTP

REST API

1. Fetch
1. Fetch
4. Store

Reasoning

Request

Read/Write

Build

Extract

Build

用户

Web 前端 (Vanilla JS)

FastAPI 后端

Session Manager
(会话管理)

Crawler Manager
(情报搜集)

Memory Service
(记忆检索)

Dreaming Service
(记忆整理)

LLM Client
(认知核心)

Resources
资源库

Session Digests
摘要库

Knowledge Facts
事实库

Knowledge Graph
图谱

Neural Chains
神经链

OpenAI / Baidu API

Arxiv API

GitHub API

4.2 核心子系统详解

4.2.1 智能推荐系统 (Crawler System)

推荐系统不仅是简单的抓取,更是一个**“抓取-清洗-评估-决策”**的闭环。

Database LLM Client CrawlerManager Scheduler Database LLM Client CrawlerManager Scheduler alt [Score >= 7.0] [Score < 7.0] alt [New Resource] loop [Every Candidate] 每日 00:00 触发 Fetch from Arxiv/Github Check Exists? Analyze & Score (System Prompt) JSON {score, tldr, reason} Save as 'Candidate' Discard
  1. Fetch (抓取)
    • ArxivCrawler 针对 CS.AI, CS.SE 等领域抓取最新 Paper。
    • GithubCrawler 抓取 Trending Repos。
  2. Deduplication (查重)
    • 通过 source_id 在数据库中比对,确保不处理重复资源,节省 Token。
  3. Cognitive Analysis (认知分析)
    • 将资源的 Title 和 Abstract 发送给 QA_MODEL
    • System Prompt 设计(审稿人视角):
      You are a storage system expert and strict reviewer.
      Analyze the following {source_type}.
      
      Task:
      1. Score it (0-10) based on technical depth, novelty, and relevance.
         - < 7.0: Incremental works, surveys, or lack of depth.
         - >= 7.0: Significant contributions or critical insights.
      2. Provide a 1-sentence TLDR in Chinese.
      3. Provide a concise reason why it's relevant in Chinese.
      
      Output MUST be valid JSON: { "score": float, "tldr": str, "relevance_reason": str }
      
  4. Decision (决策)
    • Score < 7.0: 直接丢弃,标记为 Rejected。
    • Score >= 7.0: 存入 resources 表,标记为 Candidate,并生成中文 TLDR 和推荐理由。
4.2.2 记忆神经网络子系统 (Memory Neural Network)

这是 PaperPilot 最核心的“大脑”部分,由静态结构和**动态机制(梦境)**组成。

A. 结构组成

  1. Memory Neuron (记忆神经元)
    • 实体:SessionDigest
    • 定义:一次完整研读会话的压缩包。包含:讨论主题、关键结论、提取的实体。
  2. Neural Chain (神经链)
    • 实体:NeuralChain + NeuralChainItem
    • 定义:一组逻辑相关的神经元序列。
    • 关系类型:SAME (同一主题), EVOLUTION (技术演进), CONTRAST (对比方案)。
  3. Knowledge Graph (知识图谱)
    • 实体:KnowledgeNode (实体), KnowledgeEdge (关系)。
    • 作用:作为底层的语义锚点,将不同的 Chain 连接起来。

B. 梦境系统 (Dreaming System)
梦境系统是记忆神经网络的维护者构建者。它模拟人类睡眠时的记忆固化过程。

ADD_TO_CHAIN

CREATE_CHAIN

MERGE/MOVE

04:00 AM

扫描孤立神经元

获取活跃神经链

构造 Dreaming Prompt

LLM 决策
(Thinking Model)

决策动作

更新神经元链接

创建新链

优化结构

Database

  • 触发机制:每日凌晨 04:00 (Cron Job) 或手动触发。
  • 执行流程
    1. Scan (扫描)
      • 找出所有未归类(Isolated)的神经元(新产生的 Session)。
      • 加载最近活跃的神经链作为上下文。
    2. Reasoning (大模型推理)
      • 使用 THINKING_MODEL 进行复杂推理。
      • System Prompt 设计(记忆架构师视角):
        You are the "Dreamer" of the memory neural network.
        Your task is to organize isolated memory neurons (sessions) into structured neural chains.
        
        Inputs:
        1. Isolated Neurons: [ {id, summary, entities}, ... ]
        2. Existing Chains: [ {id, title, summary}, ... ]
        
        Decide Actions:
        - ADD_TO_CHAIN: Neuron fits an existing topic perfectly.
        - CREATE_CHAIN: Multiple neurons form a NEW topic (min 2 neurons).
        - MERGE_CHAINS: Two chains discuss the same topic.
        - KEEP_ISOLATED: Neuron is noise or too unique (wait for future).
        
        Return JSON: { "actions": [ ... ] }
        
    3. Actions (执行动作)
      • ADD_TO_CHAIN: 发现新神经元属于现有话题(如:又读了一篇关于 Transformer 的论文),将其追加到对应链末尾。
      • CREATE_CHAIN: 发现多个新神经元讨论一个全新话题(如:开始研究 Mamba 架构),创建一条新链。
      • MERGE_CHAINS: 发现两条链其实在讨论同一件事,将其合并。
      • PRUNE: 标记低价值或重复的神经元,使其在未来检索中权重降低。
4.2.3 深度阅读与记忆激活 (Deep Reading & Memory Activation)

这是一个 Agentic Workflow(智能体工作流),实现了从感知到行动的过程。

Memory Service Tools (PaperReader) Agent (LLM) User Memory Service Tools (PaperReader) Agent (LLM) User opt [Need Context] "这篇论文的核心创新点是什么?" Intent Recognition Retrieve Relevant Memories Context (Facts & Digests) Call `read_paper_deeply(url)` Full Text Content Generate Answer (with Context & Content)
  1. Intent Recognition (意图识别)
    • 用户输入 Prompt。LLM 分析意图,判断是否需要调用工具。
    • System Prompt 设计(Agent 核心设定):
      You are PaperPilot, an intelligent academic research assistant.
      
      CORE RULES:
      1. NO direct internet access. MUST use tools.
      2. If user asks to read/summarize a specific paper, call `read_paper_deeply`.
      3. If user asks for recommendations, call `get_daily_feed`.
      4. Answer primarily in Chinese.
      
      Context Handling:
      [Activated Memory] will be injected here if relevant.
      Use this memory to provide personalized and context-aware answers.
      
    • 如果涉及特定论文(URL/FilePath),LLM 决定调用 read_paper_deeply
  2. Memory Retrieval (记忆检索)
    • 语义匹配:将用户 Prompt 转化为 Embedding 或关键词,在 knowledge_factssession_digests 中检索。
    • 知识加成:如果 Prompt 命中知识图谱中的节点(如 “RAG”),系统会自动扩展检索与其相连的关联节点(如 “Vector DB”),获取更丰富的背景。
    • Context Injection:检索到的高置信度记忆被注入到 System Prompt 中,作为 [Activated Memory]
  3. Tool Execution (工具执行)
    • read_paper_deeply 下载 PDF,解析文本,并进行分块处理。
  4. Reasoning & Response (推理与回复)
    • LLM 结合 用户问题 + 论文全文 + 激活的长期记忆,生成最终回答。
    • 效果:系统不仅读懂了当前论文,还记得你上次读过的相关论文,并能进行对比。

5. 快速部署

5.1 环境要求

  • Python 3.12+
  • 操作系统: Linux / macOS
  • OpenAI 兼容的 API Key

5.2 部署步骤

  1. 克隆代码与安装依赖

    pip install -r requirements.txt
    
  2. 配置环境变量
    创建 .env 文件,请注意使用 QA_MODELTHINKING_MODEL

    # 必需配置
    OPENAI_API_KEY=sk-xxxxxx
    
    # QA_MODEL: 用于快速任务(如资源评分、简单问答、知识提取)
    QA_MODEL=gemini-3-pro-preview
    
    # THINKING_MODEL: 用于复杂任务(如 Dreaming 整理、深度推理、Agent 决策)
    THINKING_MODEL=gemini-3-pro-preview
    
    # 可选配置
    DB_NAME=paperpilot.db
    # 生产环境代理
    # OPENAI_BASE_URL=...
    
  3. 启动服务

    • 开发模式:
      python main.py
      
    • 生产模式 (后台运行):
      chmod +x PaperPoiltControl.sh
      ./PaperPoiltControl.sh start
      
  4. 访问
    浏览器打开 http://localhost:8000

6. 未来规划

6.1 全局皮层 (Global Cortex)

当前系统是个性化的单体智能。未来计划构建“全局皮层”,在保护隐私的前提下,利用所有用户的脱敏认知数据:

  • 热点预测:基于全局用户的阅读趋势,预测下一个技术爆发点。
  • 知识互补:当用户探索新领域时,利用全局知识图谱快速生成学习路径图(Learning Path)。
  • 众包评分:结合 LLM 评分与全局用户的实际阅读时长,构建更客观的论文评价体系。

6.2 多模态生成 (Multimodal Generation)

将“读”和“写”的能力扩展到多模态:

  • AI 配图:利用 Nano Banana,为生成的笔记自动生成架构图或思维导图,辅助视觉记忆。
  • 语音播客:集成 TTS,将每日日报转化为 5 分钟的 AI 语音播客,方便通勤听取。
  • 视频解说:自动生成论文讲解视频,包含关键图表动效和语音解说,打造私人的Mytube。

6.3 交互式论文 (Interactive Paper)

  • Live Code:对于包含代码的论文,自动提取并在 Sandbox 中运行 Demo。
  • 动态图表:将论文中的静态数据图表转化为可交互的 Web 图表,支持用户修改参数观察变化。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐