Files
AstroResearch/docs/roadmap-research-features.md
fmq d6b064a490 feat: 科研分析层全栈落地——光谱/时域/运动学分析工具链 + JWST/X 射线数据源 + 定时文献同步
数据分析层(新增 services/{spectrum,timeseries,analysis}):
- 光谱参数提取 parameters.rs:LAMOST/SDSS/APOGEE/DESI FITS header 跨源归一化读取
  Teff/logg/[Fe/H]/RV 及 ASPCAP 20+ 元素丰度,rayon 并发批量提取
- 谱线测量 lines.rs:内置真空/空气波长谱线表,窗口内极值搜索 + 梯形法积分 EW + FWHM,支持自定义谱线
- 交叉相关测速 cross_correlate.rs:对数波长重采样对齐,内置 Pickles 模板按光谱型插值,
  CCF 峰值位置提取 RV 及不确定度
- 周期搜索 periodicity.rs:Lomb-Scargle 周期图(含 FAP 误报概率)+ BLS 凌星检测 + 相位折叠
- 变星分类 classification.rs:振幅/偏度/峰度/过零率/eta 等统计特征 + 规则分类(RR Lyrae/Cepheid/食双星/AGN 等)
- SED 拟合 sed.rs:多波段测光黑体模型拟合,输出 T_eff/半径/消光 A_V/光度及不确定度
- 运动学 kinematics.rs:视差+自行+RV → 银河系 UVW 空间速度,含移动星群成员概率(Banyan Σ 简化版)
- 化学丰度 chemistry.rs:[α/Fe] vs [Fe/H] 计算,厚盘/薄盘/晕星族判别
- 观测规划 observability.rs:目标升落时间/airmass/月相影响/曝光时间估算
- 赫罗图 hr_diagram.rs:Gaia TAP CMD 查询,新增 GET /api/analysis/hr-diagram 端点

数据获取层:
- JWST:clients/mast/jwst.rs 封装 MAST Portal 锥形检索 + JwstSpectrumFetcher(NIRSpec/MIRI 光谱)
- X 射线:clients/heasarc 封装 HEASARC TAP(ADQL)+ XMM-Newton/Chandra 光谱 fetcher
- 图像 cutout:SDSS SkyServer/STScI DSS/Pan-STARRS 三源 cutout + 发现图(Finding Chart)生成
- Source 枚举新增 Jwst/Xmm/Chandra 并注册 ObservationRegistry,前端 SOURCE_THEME 与筛选器同步三源

Agent 工具集(24→35):
- 新增 9 个分析工具:get_spectrum_parameters / measure_spectral_lines / measure_radial_velocity /
  find_period / classify_variable_star / fit_sed / analyze_kinematics / analyze_abundance_pattern / plan_observation
- batch_process:批量样本"查询→下载→分析→报告"流水线,并发控制防数据源速率限制
- literature_monitor:按 ADS 查询式/时间窗/最低引用数检查最新文献

定时文献同步:
- sync_queries 表新增 is_scheduled 列(migration 20260713)
- 新增 POST /sync/queries/:id/schedule 端点
- 服务启动时拉起每小时调度器,对 is_scheduled=1 的检索配置静默执行 ADS(entdate 增量)/arXiv 增量同步
- search_history 工具收敛至 services/search::search_agent_history,消除 FTS 查询逻辑重复

其他:
- plotting skill 由占位填充为完整科研绘图规范:光谱/光变/折叠曲线/CMD/SED/[α/Fe]/周期图/Mollweide/发现图 9 类 matplotlib 模板
- 删除死代码 streaming_executor.rs(929 行,仅剩 mod 声明引用,无调用方)
- 新增 docs/roadmap-research-features.md 科研功能路线图及实现状态
2026-09-07 21:50:32 +08:00

18 KiB
Raw Permalink Blame History

AstroResearch 科研功能扩展路线图

项目现状

已实现的核心能力

数据源(9 个)

数据源 产品类型 状态
LAMOST 光谱(LRS/MRS 完整
Gaia XP 光谱(BP/RP)、RVS、历元测光 完整
SDSS 光学光谱(spec)、APOGEE 近红外(apstar/aspcap 完整
DESI 暗能量光谱仪(coadd 完整
2MASS 近红外测光(J/H/K 完整
AllWISE 中红外测光(W1-W4 完整
Pan-STARRS 光学测光(g/r/i/z/y 完整
ZTF 时域光变曲线(zg/zr/zi 完整
TESS 空间时域光变曲线(2min/FFI 完整

Agent 工具集

  • search_papers — ADS/arXiv 文献搜索
  • process_paper — 下载、解析、向量化、翻译
  • get_paper_content / get_paper_outline — 阅读解析后文献
  • rag_search — 稠密向量 + BM25 混合检索
  • query_target — CDS Sesame 天体名称解析
  • find_observation — 跨源观测数据统一下载
  • catalog_operation — VizieR TAP 星表查询(ADQL + 锥形检索)
  • save_note — 高亮/笔记存储
  • get_paper_metadata — 完整文献元数据
  • search_local_library — 本地文献库搜索
  • get_citation_network — 引文网络图
  • analyze_image — 视觉模型图像分析
  • 文件操作、bash、记忆、技能、子 Agent、团队协作等

已有技能

  • methodology — 系统性文献综述方法论
  • plotting — 科研绘图规范(占位,未实现)
  • presentation — 演示文稿技能

一、数据获取层 — 补全缺失的数据源

1.1 JWST/MIRI 数据获取

目标:通过 MAST API 获取詹姆斯·韦伯空间望远镜 NIRSpec/MIRI 光谱数据。

需求

  • 新增 src/clients/mast/jwst.rs,封装 MAST JWST 查询 API
  • 实现 JwstSpectrumFetcher,注册到 ObservationRegistry
  • Source 枚举新增 Jwst 变体
  • 支持 NIRSpec IFU/MOS、MIRI MRS/LRS 光谱产品
  • FITS 解析支持 JWST 特有的多扩展 BinTable 格式

价值:JWST 是当前最热门的望远镜,大量前沿论文依赖 JWST 数据。

预估工作量:中等(MAST API 文档完善,但 FITS 结构复杂)。

1.2 X 射线数据(XMM-Newton / Chandra

目标:通过 HEASARC TAP 获取高能天体物理观测数据。

需求

  • 新增 src/clients/heasarc/,封装 HEASARC TAP 查询
  • 实现 XmmSpectrumFetcherChandraSpectrumFetcher
  • Source 枚举新增 XmmChandra 变体
  • 支持 X 射线光谱(PHA)和光变曲线产品

价值:覆盖高能波段,满足活动星系核、X 射线双星、星系团等研究需求。

预估工作量:中等(HEASARC TAP 接口标准,但数据格式多样)。

1.3 VLBI/Gaia 天体测量数据

目标:通过 VizieR 获取高精度自行、视差和天体测量数据。

需求

  • 扩展现有 CatalogOperationTool,预置 Gaia DR3 天体测量常用查询模板
  • 新增 GaiaAstrometryFetcher,专门处理高精度自行/视差数据
  • 支持按自行/视差筛选的 cone search

价值:精密天体测量是银河考古学和恒星动力学的基础。

预估工作量:小(VizieR 已支持,主要是模板和预置查询)。

1.4 光谱图像 Cutout

目标:实现 SDSS/Gaia/DSS 图像 cutout 下载 + 前端渲染。

需求

  • 实现 ImageCutoutFetcher,支持 SDSS SkyServer cutout API、DSS (STScI)、Gaia 推荐图
  • 完成 ImagePreview 解析器(preview.rs 中已有占位)
  • 前端 ObservationPreviewRenderer 新增图像渲染 case
  • 支持自定义 cutout 大小和坐标

价值:观测规划和文献中的发现图(Finding Chart)必备。

预估工作量:中等(API 简单,但前端图像渲染需要新组件)。


二、数据分析层 — 光谱/光变科学分析

2.1 光谱参数自动提取

目标:从 LAMOST/SDSS FITS 文件中自动读取恒星大气参数(Teff, logg, [Fe/H], 径向速度等),结构化入库。

需求

  • 新增 src/services/spectrum/parameters.rs,实现 FITS Header/BinTable 参数提取
  • LAMOST:从 params.fitsspec.fits header 读取 TEFF, LOGG, FEH, RV
  • SDSS/BOSS:从 line.dataspcapStar 读取 ASPCAP 参数
  • SDSS/APOGEE:从 aspcapStar FITS 读取完整化学丰度
  • DESEI:从 coadd FITS header 读取红移和分类
  • 结构化数据入库(新建 spectrum_parameters 表或扩展 observation_cache
  • Agent 新增 get_spectrum_parameters 工具,查询已提取的参数

价值:每篇恒星物理论文都需要这类参数,手动提取极其低效。

预估工作量:中等(FITS 解析已有基础,需逐源适配 header 约定)。

2.2 光谱线识别与等值宽度测量

目标:标注 Balmer/H&K/金属线位置,自动计算等值宽度(EW)和半高全宽(FWHM)。

需求

  • 新增 src/services/spectrum/lines.rs,内置常见谱线波长表(真空/空气波长)
  • 实现谱线搜索算法:在给定波长窗口内找局部极值(发射线找极大,吸收线找极小)
  • 实现数值积分 EW 计算(梯形法)
  • 支持用户自定义谱线列表
  • Agent 新增 measure_spectral_lines 工具,输入光谱路径 + 谱线名称列表,输出 EW/FWHM
  • 前端光谱图支持谱线标注叠加层

价值:光谱分析的核心操作,天文学生和研究者日常高频使用。

预估工作量:中等偏高(谱线表容易,但稳健的峰值搜索和 EW 计算需要仔细实现)。

2.3 交叉相关测速

目标:通过模板匹配法测量径向速度(RV),支持多波段光谱。

需求

  • 新增 src/services/spectrum/cross_correlate.rs
  • 内置或下载标准模板光谱(如 Pickles Atlas、PHOENIX 模型)
  • 实现 FFT 加速的交叉相关函数计算
  • 从互相关峰值位置提取 RV + 不确定度估计
  • 支持用户上传自定义模板
  • Agent 新增 measure_radial_velocity 工具

价值:双星、视向速度变星、银河系动力学研究的核心工具。

预估工作量:中等(算法成熟,但模板管理和多波段适配需要设计)。

2.4 光变周期搜索

目标:基于 Lomb-Scargle 周期图和 BLSBox Least Squares)算法,自动搜索光变周期。

需求

  • 新增 src/services/timeseries/periodicity.rs
  • 实现 Lomb-Scargle 周期图(非均匀采样友好)
  • 实现 BLS 算法(凌星检测专用)
  • 自动报告最优周期、FAP(误报概率)、次优周期
  • 支持 ZTF、TESS、Gaia 历元测光数据
  • Agent 新增 find_period 工具,输入光变曲线文件,输出周期 + 周期图
  • 前端支持折叠光变曲线(Phase-folded light curve)展示

价值:ZTF/TESS 数据的刚需,变星和系外行星研究的核心分析。

预估工作量:中等(Lomb-Scargle 算法有 Rust 实现可参考,BLS 较复杂)。

2.5 光变分类与特征提取

目标:自动识别变星类型,提取振幅、形态参数等特征。

需求

  • 新增 src/services/timeseries/classification.rs
  • 基于周期 + 振幅 + 偏度 + 峰度等统计特征的简单分类器
  • 支持 RR Lyrae、Cepheid、食双星、脉动变星、AGN 等主要类型
  • 可选:集成轻量 ML 模型(如 Random Forest,通过 ONNX Runtime
  • Agent 新增 classify_variable_star 工具

价值:时域巡天(ZTF/TESS)数据量巨大,自动化分类是必要环节。

预估工作量:高(分类器训练和特征工程需要较多工作)。

2.6 SED 拟合与建模

目标:多波段测光数据拟合黑体或模板光谱能量分布,求解天体物理参数。

需求

  • 新增 src/services/analysis/sed.rs
  • 自动拉取目标所有可用波段测光(2MASS + WISE + PS1 + Gaia
  • 实现黑体辐射模型拟合(最小二乘/MCMC)
  • 可选模板 SED 拟合(BaSeL/PHOENIX 模板库)
  • 输出 T_eff、光度、消光 A_V 及其不确定度
  • 前端 SED 图展示(观测点 + 拟合曲线 + 残差)
  • Agent 新增 fit_sed 工具

价值:天体物理参数估计的基础方法,适用于恒星、AGN、超新星等多种天体。

预估工作量:中等偏高(黑体拟合简单,但模板拟合和 MCMC 需要较多工作)。

2.7 自行/视差运动学分析

目标:基于 Gaia DR3 高精度自行 + 视差,计算银河系三维空间速度(UVW),识别移动星群。

需求

  • 新增 src/services/analysis/kinematics.rs
  • 实现坐标变换:(RA, Dec, parallax, pmRA, pmDec, RV) → (X, Y, Z, U, V, W)
  • 实现移动星群成员概率计算(基于 Banyan Σ 算法简化版)
  • 支持批量样本处理
  • Agent 新增 analyze_kinematics 工具

价值:银河考古学(Galactic Archaeology)的核心分析方法。

预估工作量:中等(坐标变换公式成熟,Banyan Σ 需要简化实现)。

2.8 化学丰度模式分析

目标:多元素丰度比([α/Fe] vs [Fe/H])自动提取与可视化,区分厚盘/薄盘/晕星。

需求

  • 扩展光谱参数提取(2.1),从 APOGEE ASPCAP 数据读取完整化学丰度
  • 新增 src/services/analysis/chemistry.rs
  • 实现 [α/Fe] 计算(α 元素:O, Mg, Si, S, Ca, Ti 的加权平均)
  • 自动绘制 [α/Fe] vs [Fe/H] 图,并按运动学成分着色
  • Agent 新增 analyze_abundance_pattern 工具

价值:银河考古学的核心工具,用于区分银河系不同星族。

预估工作量:中等(数据提取为主,分析逻辑相对直接)。


三、可视化与输出层

3.1 光谱交互式标注

目标:前端光谱图支持点击标注谱线名称,自动显示等值宽度。

需求

  • 扩展 SpectrumPlot.tsx,新增谱线标注叠加层
  • 内置常见谱线波长表(Balmer 系列、H&K、NaD、Mg b、Fe 等)
  • 支持用户点击光谱图任意位置添加自定义标注
  • 标注信息(谱线名、波长、EW)以 tooltip 形式展示
  • 后端 preview.rs 返回时可选附带谱线标注数据

价值:显著提升光谱阅读和教学体验。

预估工作量:中等(前端组件开发为主)。

3.2 赫罗图(HR Diagram

目标:基于 Gaia 数据构建颜色-星等图(CMD),支持叠加自定义样本。

需求

  • 新增 src/api/hertzsprung_russell.rs 或扩展现有 Gaia 查询
  • 自动查询给定天区/样本的 Gaia G-mag、BP-RP color、parallax
  • 计算绝对星等 M_G = G + 5 + 5*log10(parallax/1000)
  • 返回数据供前端渲染 HR 图
  • 前端新增 HR Diagram 组件(scatter plot,支持密度着色)
  • 支持叠加用户自定义样本(不同颜色/标记)

价值:恒星物理的基础可视化,几乎所有恒星相关论文都包含 HR 图。

预估工作量:中等(数据查询简单,前端绘图需要新组件)。

3.3 发现图(Finding Chart

目标:生成目标天区的 DSS/Pan-STARRS 图像 cutout + 标注目标位置。

需求

  • 调用 STScI DSS cutout API 或 Pan-STARRS cutout API
  • 返回 cutout 图像 + 目标中心标注
  • 支持自定义 cutout 大小(arcmin)和缩放
  • Agent 工具 find_observation 可选返回 finding chart
  • 前端在观测数据页面展示 finding chart

价值:观测准备的必备环节,望远镜观测提案中需要附带 finding chart。

预估工作量:小(API 简单,主要是前端展示)。

3.4 多波段 SED 图

目标:自动拉取所有可用波段测光数据,绘制 SED 图并拟合模型。

需求

  • 扩展 2.6 节 SED 拟合功能,新增前端 SED 图组件
  • 自动标记各波段(2MASS J/H/K、WISE W1-W4、Gaia G/BP/RP 等)
  • 支持对数坐标轴
  • 拟合曲线叠加显示,残差面板

价值:参数化分析的标准可视化。

预估工作量:中等(依赖 2.6 节后端实现)。

3.5 SkyMap 天球投影

目标:在全天球图上可视化样本分布,支持按参数着色。

需求

  • 新增 SkyMapPanel 前端组件
  • 使用 Mollweide 或 Aitoff 投影
  • 支持按天体类型、金属丰度、自行等参数着色
  • 叠加银河平面、银道坐标网格
  • 支持交互式缩放和选区

价值:巡天论文的标准可视化,用于展示样本的天球分布。

预估工作量:中等(前端投影计算 + WebGL 渲染)。


四、工作流增强

4.1 批量样本处理

目标:给定一组天体名称/坐标,批量执行"查询 → 下载 → 分析 → 出图 → 保存报告"。

需求

  • 新增 src/agent/tools/astro/research/batch_process.rs,实现 BatchProcessTool
  • 支持输入格式:天体名称列表、坐标列表、VizieR 查询结果
  • 批量流程:query_target → find_observation → 参数提取 → 出图
  • 并发控制(避免触发数据源速率限制)
  • 进度报告(SSE 事件推送)
  • 输出汇总报告(Markdown 表格 + 图表)

价值:巡天论文的标准工作流,手动逐个处理效率极低。

预估工作量:中等偏高(并发控制和错误处理需要仔细设计)。

4.2 定时文献监控

目标Cron 定时检查 ADS/arXiv 新文献,匹配用户关注的关键词/作者/天体。

需求

  • 新增 src/agent/tools/astro/research/literature_monitor.rs
  • 用户定义监控规则(关键词、作者、天体名称、arXiv 分类)
  • 使用现有 loop 技能定时触发
  • 新文献匹配时通过 SSE 推送通知
  • 支持自动下载摘要 + 生成简报

价值:帮助研究者跟踪前沿,不遗漏重要文献。

预估工作量:中等(定时任务框架已有,主要是规则匹配和通知)。

4.3 观测提案辅助

目标:根据目标天区自动计算可见性、月相限制、曝光时间估算。

需求

  • 新增 src/services/analysis/observability.rs
  • 计算目标在给定台站的升起/落下时间和最佳观测窗口
  • 月相和银河背景亮度估算
  • 基于目标亮度和望远镜参数的曝光时间估算
  • Agent 新增 plan_observation 工具
  • 输出观测提案所需的标准化信息

价值:望远镜申请的时间评估和观测规划必备。

预估工作量:中等(天文计算公式成熟,但台站参数和大气消光模型需要数据)。


五、实施优先级建议

优先级 功能 理由 状态
P0 光谱参数自动提取(2.1 已下载数据的直接利用,所有恒星论文都用 已实现
P0 光变周期搜索(2.4 ZTF/TESS 数据的刚需,时域天文学核心 已实现
P1 光谱线识别与 EW 测量(2.2 光谱分析的日常操作 已实现
P1 交叉相关测速(2.3 双星/视向速度研究核心工具 已实现
P1 绘图 skill 填充(现有占位) 提升 Agent 绘图能力的基础 已实现
P2 SED 拟合(2.6 多波段分析的标准方法 已实现
P2 赫罗图(3.2 恒星物理基础可视化 已实现
P2 批量样本处理(4.1 巡天论文工作流提效 已实现
P3 JWST 数据获取(1.1 前沿望远镜,但使用门槛较高 已实现
P3 光变分类(2.5 时域数据分析,但分类器训练复杂 已实现
P3 SkyMap 天球投影(3.5 巡天论文可视化,但优先级不如核心分析 已实现

六、已实现功能详情

已完成的数据分析层

功能 Agent 工具 后端模块 状态
光谱参数提取 get_spectrum_parameters services/spectrum/parameters.rs
谱线识别与EW测量 measure_spectral_lines services/spectrum/lines.rs
交叉相关测速 measure_radial_velocity services/spectrum/cross_correlate.rs
周期搜索 find_period services/timeseries/periodicity.rs
变星分类 classify_variable_star services/timeseries/classification.rs
SED拟合 fit_sed services/analysis/sed.rs
运动学分析 analyze_kinematics services/analysis/kinematics.rs
化学丰度分析 analyze_abundance_pattern services/analysis/chemistry.rs
观测提案辅助 plan_observation services/analysis/observability.rs
批量样本处理 batch_process agent/tools/astro/research/batch_process.rs
文献监控 literature_monitor agent/tools/astro/research/literature_monitor.rs

已完成的数据获取层

功能 模块 说明 状态
JWST 数据获取 clients/mast/jwst.rs + services/observation/jwst.rs MAST JWST API + SpectrumFetcher
X射线数据 clients/heasarc/ + services/observation/xray.rs HEASARC TAP + XMM/Chandra fetcher
光谱图像Cutout services/observation/cutout.rs SDSS/DSS/Pan-STARRS cutout API + CutoutFetcher
赫罗图 api/hr_diagram.rs Gaia CMD 查询 API
绘图skill skills/plotting/SKILL.md Python matplotlib 科研绘图模板(8种图表)

已完成的工作流增强

功能 模块 说明 状态
批量样本处理 agent/tools/astro/research/batch_process.rs 查询→下载→分析→报告
文献监控 agent/tools/astro/research/literature_monitor.rs ADS/arXiv 最新文献匹配