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