AstroResearch/docs/troubleshooting.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

57 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AstroResearch Troubleshooting / 常见问题与排障指南
在使用 AstroResearch 过程中可能遇到的问题及排障步骤如下:
---
## 1. 文献下载相关问题 (Download Issues)
### 1.1 下载任务遇到 "检测到 Cloudflare / 人机验证页面"
- **原因**:部分出版商对频繁的自动化下载请求实施了高强度的 IP 拦截与 CF 校验。
- **解决方法**
1. 系统目前已经实现每两次请求间随机延迟 `maybe_delay()` (500ms~2000ms),以防行为过于机械化。
2. 若拦截频繁,可以尝试在本地配置代理;或者检查 `.env` 中的 `LIBRARY_DIR` 路径是否正确。
3. 对于 ADS Link Gateway 路由,若跳转至 `validate.perfdrive.com`,下载器内置了解码 `ssc` 提取直链的策略,该过程自动进行,如果由于其加密机制变更导致提取失效,系统控制台会输出 `warn` 日志。
### 1.2 官方 HTML (arxiv.org/html) 下载返回 404
- **原因**arXiv 官方 HTML 正文服务仅在 **2023年12月** 之后提交的论文中默认提供。对于老文献,直接请求官方 HTML 会返回 404。
- **解决机制**AstroResearch 的 `download_arxiv_html_with_fallback` 会在官方 HTML 请求失败时,**自动无缝降级回退**到 `ar5iv.labs.arxiv.org` 服务进行拉取。
---
## 2. 文献解析与翻译问题 (Parse & Translation Issues)
### 2.1 翻译请求返回空或报错 "LLM API KEY Missing"
- **原因**:根目录下没有配置正确的 `.env` 文件,或者 LLM 提供的 Endpoint/Model 有误。
- **排查步骤**
1. 确认项目根目录下存在 `.env` 且拥有 `LLM_API_KEY``LLM_API_BASE` 配置。
2. 使用终端运行 `cargo run`,检查启动日志中是否有关于读取环境配置的警告信息。
### 2.2 PDF 解析缺少图表或公式损坏
- **原因**PDF 格式本身不支持结构化语义。直接提取文本会丢失公式和图表。
- **解决机制**
1. 如果文献有 HTML/ar5iv 格式,系统会自动优先基于 HTML 解析,保留完美的 LaTeX 公式。
2. 若该文献只有 PDF 格式,系统自动降级调用本地或远程的 **MinerU** PDF 图文大模型解析。请确保本地 MinerU 解析服务已按照 API 格式运行并在 `.env` 中正确填入 `MINERU_API_URL`
---
## 3. 检索与显示问题 (Search & Display Issues)
### 3.1 无法通过特定的 arXiv ID 或 DOI 检索到已导入的文献
- **原因**:历史版本前端本地检索仅匹配了文献的标题、作者、摘要和 `bibcode`,未对 `arxiv_id``doi` 进行全局检测过滤。
- **排障/解决**:现已在馆藏过滤逻辑中追加了 `arxiv_id``doi` 的字段检索。如果遇到由于升级导致的缓存错乱,可点击顶部的 “重新同步馆藏” 刷新本地缓存状态。
### 3.2 文献详情页的 BIBCODE 与 ARXIV ID 显示完全相同的值(如均显示 '0710.0600'
- **原因**:当文献通过 arXiv 单独直接导入时,后端处理器无法预知其关联的 ADS Bibcode。为确保数据一致系统在 SQLite 中临时将 `bibcode``arxiv_id` 均用 arXiv ID 填充,直到后续 ADS 元数据同步匹配成功将其“升级”。
- **解决机制**:前端已实现了防重与标识规整机制。如果检测到 `bibcode === arxiv_id`,卡片页将前缀格式化为 `arXiv:xxxx.xxxx` 形式,而文献元数据详情弹窗中 `BIBCODE` 则会直接优雅呈现为 **“暂无”** 状态,避免视觉歧义。
---
## 4. 数据库与运行环境问题 (Runtime & DB Issues)
### 4.1 启动提示 "Database Migration Failed"
- **原因**:本地 SQLite 数据库文件 `astro_research.db` 出现并发锁死或版本 schema 冲突。
- **解决方法**
1. 备份并临时删除根目录下的 `astro_research.db` 数据库文件。
2. 重新启动服务:`cargo run`,系统将重新执行 `migrations/` 下的全部 SQL 迁移脚本以建立最新库结构。