AstroResearch/README.md
Asfmq cd6af4f995 feat: 重构 PDF/文献检索同步机制、升级引力图交互与控制台 UI 样式
- [后端/PDF解析] 重构 MinerU PDF 解析流程:引入预签名两阶段直传机制,解决大文件 API 传输限制问题;支持轮询机制与本地 images 备用目录存储。
- [后端/同步与下载] 新增经典 ADS SCAN 扫描件 PDF 和 ADS_PDF 直接通道的下载逻辑;新增常用同步检索配置的持久化存储与去重管理 API。
- [后端/日志] 重构日志系统,支持控制台 pretty 输出与每日滚动文件日志(使用上海 +08:00 时区),引入 HTTP 路由请求链路追踪。
- [前端/引力图] 升级引用星系图 canvas 交互:支持平移拖拽与滚轮缩放,添加引力圈轨道装饰及未导入文献的半透明视觉区分。
- [前端/控制台] 统一重构为扁平高对比度浅色纯中文控制台样式;重新设计文献详情弹窗与状态进度条。
- [数据库] 新增 papers 表的 doctype 字段及 sync_queries 检索配置表。
2026-06-10 17:29:07 +08:00

3.7 KiB
Raw Blame History

AstroResearch 天文科研辅助系统

AstroResearch 是一个基于 Rust (Axum) 后端与 React (Vite + TypeScript) 前端的天文文献一体化科研辅助系统。


1. 功能概述 (Overview)

AstroResearch 为天文领域的学者与研究人员提供一站式的文献管理与智能阅读解决方案,核心功能包括:

  • 🌌 统一学术检索:一键跨源检索 NASA ADS 与 arXiv 数据库,支持去重元数据卡片式展示。
  • 📥 智能双通道下载:模拟浏览器请求头与延迟,自动绕过出版商防爬墙,官方 HTML 优先并支持 ar5iv 备用兜底。
  • 📝 结构化文献解析:解析 HTML 或调用 MinerU (PDF 降级解析) 输出标准 GFM Markdown对 LaTeX 公式实施占位符保护。
  • 🗣️ 大模型双语翻译:基于本地天文学词汇库 (Trie 树最长匹配) 构建翻译 Glossary指导大模型进行公式级精准中英翻译。
  • 🪐 引文网络星系图:基于 HTML5 Canvas 的高性能力导向拓扑渲染,双击节点支持引文深度探索。
  • ✍️ 划词高亮与笔记:在双语阅读器中自由划词、多色高亮并记录学术心得,数据与文献双向绑定。

2. 快速启动 (Quickstart)

2.1 配置环境变量

将根目录下的 .env.example 复制并重命名为 .env

cp .env.example .env

用编辑器打开填入你的 ADS_API_KEYLLM_API_KEYQINIU_ 等第三方服务的认证 Token。

2.2 运行服务 (Run)

方案一:本地开发调试模式 (Development Mode)

开发模式下分别启动后端 API 服务和前端 HMR 热更新服务:

  1. 启动后端 (Rust Axum)
    cargo run
    
    后端服务默认运行在 http://localhost:8000,并会自动初始化本地 SQLite 数据库及运行 migrations 迁移。
  2. 启动前端 (React Vite)
    cd dashboard
    npm install
    npm run dev
    
    前端开发服务器默认运行在 http://localhost:5173。前端的所有 /api 接口请求已配置反向代理,会自动转发到后端的 8000 端口。

方案二:生产打包与单程序部署模式 (Production Mode)

生产模式下需要先编译前端静态文件,随后由后端进程统一托管分发:

  1. 打包编译前端
    cd dashboard
    npm install
    npm run build
    
    静态资源将打包并输出在项目根目录下的 dashboard/dist/ 目录。
  2. 运行后端服务
    cd ..
    cargo run --release
    
    运行后直接访问 http://localhost:8000 即可使用,此时所有 React 网页和后台 API 均由 Rust 进程统一分发托管,无需额外启动 Vite。

3. 技术文档结构 (Documentation Directory)

详细的技术和部署设计文档已集中整理至 docs/ 目录:


4. 目录组件 README 交叉引用 (Component READMEs)