CI 在每个 Pull Request 和 main / master 推送时自动运行,也可在 Actions → Quality Gate → Run workflow 手动触发。检查包含 Linux / Windows 后端测试、前端 lint / 类型检查 / 单元测试 / 构建,以及两套 Docker Compose 配置校验。测试报告和 Web 构建产物保留 14 天,可在对应运行的 Artifacts 下载。
当前入口是带账户和工作区权限的 Web 应用:服务端保存论文、版本化证据、报告、聊天与总结,独立 worker 执行可恢复的后台任务。部署、离线开户、只读源迁移、备份和回滚见 Web 部署指南。API 使用 backend/main.py,worker 使用 python -m app.web.worker,两者必须指向同一 Web 数据根。生产环境使用 HTTPS 与 Secure cookie。
后文保留早期桌面、容器和模型说明作为历史参考;正式 Web 部署以以上指南为准。
从论文原文出发,把“读过”变成可回到页码核对的理解。
导入 PDF 或论文 URL,逐页阅读原文,生成关键问题报告,提炼方法与贡献,发现近邻论文,写下个人总结,并围绕同一篇论文持续追问。
PDF / 论文 URL
↓
分页原文
↓
关键问题报告
↓
方法与贡献
↓
近邻论文 / 相关工作
↓
个人总结
↓
带页码持续追问
FastRead 将论文原文作为主工作区,而不是把搜索结果、模型常识或外部摘要当作论文内容。
| 环节 | FastRead 做什么 | 结果如何核对 |
|---|---|---|
| 导入 | 接收本地 PDF、PDF URL 或可解析出 PDF 的论文详情页 | 保留来源 URL 与文档元数据 |
| 分页原文 | 按页抽取、保存并展示正文 | 所有后续引用都能回到具体页 |
| 关键问题 | 回答研究问题、方法过程、实验/证据与局限 | 逐字引文必须在标注页面中匹配 |
| 方法与贡献 | 分开呈现“怎么做”与“新增了什么” | 不把作者主张自动扩大为领域共识 |
| 近邻论文 | 按带页码的报告锚点发现并排序相关工作 | 展示重合词、来源和时间,不做真假裁决 |
| 个人总结 | 将用户自己的理解与 AI 报告分开保存 | 可写短摘要,也可展开为完整阅读笔记 |
| 持续追问 | 优先以当前论文分页原文回答 | 实质结论显示页码;无支撑时说明证据不足 |
Web 部署、FastResearch 统一登录、FastNews 导入与回滚说明见 Web production guide。
- 分页优先:论文正文按页持久化,阅读、报告和问答共享同一份原文基础。
- 自适应关键问题:模型通读按页均衡提供的正文,自由选择 4–8 个最值得解释的问题;程序负责逐字引文和真实页码复核。
- 可追溯引用:报告证据同时记录起止页码;无法在对应页面匹配的引文不会进入结果。
- 原文约束问答:围绕单篇论文连续提问,答案尽量附带页码,不用模型常识填补原文空白。
- 个人理解沉淀:提供可长可短的独立总结,不用 AI 报告替代用户自己的判断。
- 蓝色用户摘录:页内拖选原文即可保存逐字摘录、批注、页码、偏移和来源哈希;与琥珀色 AI 引用定位明确分色。
- 发现收件箱:单边读取 FastNews 固定公开 JSONL,并兼容 FastInsight
verify_paper.pyJSON;候选经用户确认后才重新抓取原文。 - 专题跨论文综合:围绕共同命题、关键差异、桥接问题与最小实验综合多篇论文;最终引用仍绑定成员论文的逐字页码证据。
- 不可变写作交接:通过 FastWrite 现有文件创建接口写入唯一证据包目录,失败可重试缺失项或下载 ZIP / Markdown / BibTeX / JSON。
- 失败关闭:扫描版、加密、空白或无法解析的 PDF 不会伪装成成功导入。
近邻检索从已经落到原文页码的研究问题、方法与贡献生成确定性锚点:
报告锚点 → 核心会议 / arXiv / Scholar 元数据 → 去重与相关度排序 → 来源展示
FastRead 明确区分三种边界:
- 论文身份确认:说明作者、年份、venue、DOI 或官方链接等身份信息对得上。
- 原文定位成功:只说明这篇论文确实在某页这样写。
- 近邻论文发现:只说明研究问题、方法或贡献相似,不判断主张正确性,也不替代实验复现。
从 GitHub Releases 下载同一版本的 Windows *-setup.exe 和 SHA256SUMS-x86_64-pc-windows-msvc.txt。setup.exe 是默认的当前用户安装包,不要求把程序写入系统目录;.msi 主要用于管理员或受管环境部署。
(Get-FileHash .\FastRead-setup.exe -Algorithm SHA256).Hash将命令输出与 Windows 目标对应的 SHA256SUMS-*.txt 条目核对后再运行安装程序。缺少 Microsoft Edge WebView2 Runtime 时,安装程序会联网下载;离线安装机器需要先部署 WebView2。当前自动发布链路尚未接入代码签名证书,因此自建或现阶段发布的安装包可能触发 Windows SmartScreen,面向公众发布前应完成签名和时间戳配置。
升级时直接运行更高版本安装包,Windows 会阻止覆盖安装旧版本。卸载只删除应用和随附后端,默认保留 %APPDATA%\com.fastread.app 中的数据库、论文、索引、配置与密钥材料,以及 %LOCALAPPDATA%\com.fastread.app 中的 WebView 本地草稿与界面状态;备份或彻底清除方法见 DEPLOYMENT.md。
cd backend
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m pip install -r requirements-dev.txtcd ..\fastread-frontend
corepack enable
pnpm install
cd ...\run.bat --no-open| 服务 | 默认地址 |
|---|---|
| Web 工作台 | http://127.0.0.1:3015/ |
| 后端 API | http://127.0.0.1:8483/api/ |
| 健康检查 | http://127.0.0.1:8483/api/sys_check |
Windows 根目录脚本还支持:
run.bat 启动后端与前端
run.bat --status 查看运行状态
run.bat --stop 停止本地进程
run.bat --check 检查本地依赖
Docker Compose 是可选部署路径,不是本地开发的前置条件:
docker compose up -d --buildCompose 默认只监听 127.0.0.1:3015,不直接暴露后端端口;运行数据保存在命名卷 fastread-data,重建容器不会丢失数据库、上传文件、笔记与索引。仓库 .env 不是 Compose 启动的必需文件。
更细的操作步骤见 README-usage.md,部署说明见 DEPLOYMENT.md。
- 在工作台点击“导入论文”,选择本地 PDF 或粘贴论文 URL。
- 打开“分页原文”,先确认页数、正文和来源是否正确。
- 生成“关键问题”报告,检查研究问题、方法、证据与局限。
- 在“主要过程”和“主要贡献”中逐条核对页码与引文。
- 在“近邻论文”中查看与研究问题、方法或贡献相近的相关工作及元数据来源。
- 写下个人总结:可用短摘要概括,也可展开成完整阅读笔记。
- 进入“持续追问”,继续围绕当前论文提问并检查回答页码。
- 在专题知识库中管理组内论文、原文摘录与研究整理,并按需交接到 FastWrite。
.
├── backend/ # FastAPI、PDF 解析、阅读报告、相关工作与问答
├── fastread-frontend/ # React 论文阅读工作台
├── docs/ # 产品需求与证据契约
├── readme/ # 工程计划和交接材料
├── task/ # PRD 与使用指南
├── run.bat # Windows 本地统一入口
└── docker-compose.yml # 可选容器部署
| 模块 | 主要技术 |
|---|---|
| Web | React 19、TypeScript、Vite、Tailwind CSS、Zustand |
| API | Python、FastAPI、SQLAlchemy、SQLite |
| 部署 | Windows 脚本、Docker Compose、Nginx |
产品与证据约束详见 docs/FASTREAD_REQUIREMENTS.md。
本地配置位于根目录 .env;密钥不得写入 Git 跟踪文件。
| 变量 | 用途 | 示例 |
|---|---|---|
BACKEND_HOST |
本地后端监听地址 | 127.0.0.1 |
BACKEND_PORT |
后端端口 | 8483 |
VITE_API_BASE_URL |
前端 API 地址 | /api |
PAPER_OUTPUT_DIR |
论文正文与派生产物目录 | paper_results |
FASTNEWS_ENABLED |
是否启用固定 FastNews 公开目录适配器 | true |
FASTWRITE_BASE_URL |
FastWrite 精确 origin | http://127.0.0.1:3003 |
FASTWRITE_ALLOWED_ORIGINS |
显式允许的远程 FastWrite origin,逗号分隔 | 空(仅 loopback) |
INTEGRATION_DATA_DIR |
FastNews 缓存、专题综合和交接包目录 | data/integrations |
PAPER_SEARCH_DEADLINE |
近邻论文冷检索总时限(秒) | 8 |
ARXIV_GATEWAY_URL |
可选的 arXiv 专用 HTTPS 网关;仅镜像查询、摘要页和 PDF 路径 | 空 |
ARXIV_GATEWAY_API_KEY |
arXiv 网关共享访问密钥(只放本地环境,不入库) | 空 |
# 后端测试
backend\.venv\Scripts\python.exe -m pytest
# 前端生产构建
cd fastread-frontend
corepack pnpm run typecheck
corepack pnpm run lint
corepack pnpm run test
corepack pnpm run build
浏览器验收使用 Playwright 启动 Microsoft Edge(channel: "msedge")。
已实现:
- PDF 逐页解析与持久化
- 从论文详情页跟随可用 PDF 元数据
- 关键问题、方法、贡献、实验与局限报告
- 报告引文与分页原文精确匹配
- 个人总结可长可短并独立保存
- 单篇论文页码感知问答
- 学术身份 Gate 与近邻论文发现分离
- 论文页内用户摘录、批注、检索、重载恢复和精确回跳
- FastNews/FastInsight 候选收件箱、固定顺序去重和离线缓存标识
- 专题证据矩阵、跨论文共同报告门槛和 Idea 可行性边界
- FastWrite 不可变证据包、部分写入重试、幂等回执和离线下载
仍在路线图中:
- 扫描版 PDF 的受控 OCR
- 论文页内高亮与引用跳转
- 限定会议语料的论文发现目录
- 带页码锚点的近邻论文视图与提供方状态
- 从阅读报告生成带引用的演示文稿