# QuantumAtlas **面向量子算法研究的论文收集、多路检索与注册数据库。** QuantumAtlas 从 arXiv 收集量子算法论文,把 PDF 解析成结构化资产(Markdown / 图片 / 元数据 JSON),把每一篇论文、每一个身份(arXiv ID / DOI / OpenAlex ID)、每一份资产登记进 PostgreSQL registry,再通过**一个搜索端点**回答查询——本地 catalog、arXiv、OpenAlex、可选的 Qdrant 语义向量检索,多路 fan-out 一次完成。 核心想法:**收集一次,全部登记,到处可搜**。原始资产进对象存储,论文 registry 进 PostgreSQL(boot 时 goose 自动迁移),搜索引擎跨范式查询而不需要你事先选边。 ```{mermaid} flowchart LR A[arXiv / 用户上传] -->|fetch + parse| R[对象存储
PDF + Markdown + images] R -->|register| P[PostgreSQL registry
papers / identities / assets] P & U[arXiv / OpenAlex 上游] --> S[POST /api/search
多 provider fan-out] Q[Qdrant 语义检索
可选] --> S ``` --- ## 文档导航 文档按两个组件 + 共享基础组织:**独立客户端 (`qatlas-cli` 提供 `qatlas`)** 与 **本仓 Go 服务端 (`qatlasd`)** 各成一节。客户端章节保留服务端集成示例;客户端源码与发版在[独立仓库](https://github.com/IAI-USTC-Quantum/qatlas-cli),不随主仓安装或发布。 - **入门** 装 client、指向 server、拉第一篇论文;或 5 分钟把 qatlasd + PostgreSQL 跑起来。 [入门指南](getting-started.md) - **概念与架构** 分层模型、数据流动、对象寻址、鉴权语义、存储边界。 [概念](concepts/index.md) - **Python 客户端 `qatlas`** 摄入论文、上传资产、跑 MinerU、拉取 PDF / Markdown、管理凭据。 [Python 客户端](client/index.md) - **Go 服务端 `qatlasd`** 安装、systemd、反向代理、OAuth、PostgreSQL、RustFS、REST API、健康检查、备份升级。 [Go 服务端](server/index.md) - **参考 / 数据格式** 环境变量、arXiv ID 格式等跨组件的稳定约定。 [参考](reference/index.md) - **贡献** 代码、文档、发布流程。 [贡献指南](contributing.md) --- ## 核心能力 - **从 arXiv 收集论文**:自动抓取 PDF + 元数据,可选用 MinerU 解析为 Markdown - **Robust Downloader**:给定 DOI / arXiv id / 论文 URL,多范式策略阶梯抓取正式版 PDF——arXiv 直下、OA 元数据 API(Europe PMC / Unpaywall / OpenAlex / Semantic Scholar)、出版社 URL 模板、落地页挖掘、真实浏览器 lane、LLM 兜底,可再委托校园出口代理机(downloaderproxy);每个候选都过统一验证管线(`%PDF-` magic、bot 墙 / 付费墙分类) - **PostgreSQL 论文 registry**:论文、身份(arXiv / DOI / OpenAlex)、资产状态全部入库,纯 SQL 可查;goose migrations 随 server 启动自动 apply - **多范式搜索**:`POST /api/search` 一个端点 fan-out 到 catalog / arxiv / OpenAlex provider;`POST /api/search/multi` 逐平台返回原始结果(SPA backend picker + 每用户第三方搜索 key,AES-GCM 加密存储);语义混合检索(dense+sparse, RRF + rerank)经 qatlas-search / qatlas-rag 微服务接入 - **懒加载摄入**:缓存未命中时 server 后台静默 fetch + 转换,LRO 状态可轮询,并发请求自动 dedupe - **OpenAlex 语料镜像**:works 语料灌进同一个 PG 库,引用上下文 / 批量分析直接 SQL - **管理端 Asset Browser**:admin 直接浏览 / 预览 / 下载 / presign 对象存储里的论文 PDF 与 Markdown(批量 ZIP、限时 presigned URL),抓取失败表 + 内联 PDF 上传闭环补救 - **远程协作**:Web API + CLI,协作者不需要服务器登录权限 ## 当前状态 ```{admonition} Alpha 阶段,主干已贯通 :class: note - 论文收集、registry、多路搜索、懒加载摄入 **全链路打通**。 - Web API 与远程协作流程 **可用**。 - 项目定位是「可持续扩展的研究基础设施」,而不是已经产品化的平台——意味着稳定但仍在快速演化。 ``` ## 仓库 & 包 - 服务端源码与发版: - 客户端源码与独立发版: - 客户端安装包:[`qatlas-cli`](https://pypi.org/project/qatlas-cli/) - 旧包 [`quantum-atlas`](https://pypi.org/project/quantum-atlas/):`0.21.0` 为仅含元数据的最终迁移版,不含 Python 模块、CLI 或运行时依赖,不会自动安装 `qatlas-cli`;请按[迁移指南](getting-started.md#从旧包-quantum-atlas-迁移)切换 - 生产入口: - 协议:[Apache-2.0](https://github.com/IAI-USTC-Quantum/QuantumAtlas/blob/main/LICENSE)