AstroResearch/dashboard
Asfmq 2f1fd19d74 refactor: 观测层双轴正交重构——spectra→observation、工具/API 收敛、安全韧性加固
将"以光谱为中心"的观测数据架构升级为 (Source × ProductType) 双轴正交模型,
光谱降级为与光变/测光/图像平级的产品类型之一;同步把分散的工具、API、缓存表
收敛为统一入口。新增 Gaia 光变曲线(EPOCH_PHOTOMETRY)支持。

【架构】services/spectra 整体替换为 services/observation(双轴正交)
- Source(LAMOST/Gaia/SDSS/DESI)× ProductType(Spectrum/LightCurve/Photometry/Image)
  正交组合,新增源/产品类型为纯加法(OCP)
- ObservationFetcher trait + ObservationRegistry:每个有效组合实现一个 fetcher,
  启动时注册;SDSS specobj/APOGEE 共用 key 按 subtype 二级路由
- cone 缓存逻辑模板方法化(trait 默认方法),消除各源 4 份重复代码
- 多文件 Artifact 模型:一个逻辑产物可含多文件(如 Gaia 光变 G/BP/RP 三波段各一 FITS)
- 统一编排 dispatch.rs:search(仅检索)/ download(检索+下载),支持坐标模式
  (cone→选源→下载)与标识符模式(直按 ID 下载)双输入

【Agent 工具整合】26 → 24
- 新增 find_observation:跨源×跨产品×双模式统一观测下载,取代 find_spectrum
- catalog_operation 升级为 6 合 1(search/describe/query/cone/export/lookup),
  取代独立的 query_vizier + cone_search
- citation_network + library_search 合并为 library.rs

【API 路由】
- 新增 /observation/{search,download,capabilities,list} 命名空间
- 移除 /catalog/{crossmatch,spectrum/download,spectrum/list}
- GET /observation/capabilities 暴露 registry 能力清单,前端动态渲染源/产品/版本
  下拉(不再硬编码各源支持矩阵)

【数据库迁移】
- 新表 observation_cache:新增 product 列 + artifacts_json(多文件产物),无 TTL
  (观测数据不可变,区别于 vizier_query_cache 的 7 天 TTL)
- 20260705140001:spectrum_cache 旧数据迁入 observation_cache,单文件→单元素 artifacts

【前端】
- 新 ObservationPanel(988 行):双视图(检索下载 / 缓存库),选项由 capabilities 动态生成
- 新 useObservation hook、ObservationResultCard、observation/constants、utils/apiError

【安全与韧性加固】
- sessions 锁 Mutex → RwLock(读多写少,降低争用)
- 新增 upload_rate_limiter;login_rate_limiter 容量保护(10000 上限,超限清最旧一半)
- bookmarklet API 密钥 SHA-1 → SHA-256;ADMIN_PASSWORD 长度上限 128
- *_TIMEOUT_SECS / EMBEDDING_DIM 非法值告警并回退默认;DB_POOL_SIZE 可配置(原硬编码 5)
- sqlite-vec 注册逻辑下沉至 utils::register_sqlite_vec_extension
2026-07-07 01:34:02 +08:00
..
public refactor: Prettier 格式化全量前端、Library 服务端分页筛选、Agent 工具输出可视化与 .agent 目录统一 2026-07-03 00:11:02 +08:00
scratch refactor: Prettier 格式化全量前端、Library 服务端分页筛选、Agent 工具输出可视化与 .agent 目录统一 2026-07-03 00:11:02 +08:00
src refactor: 观测层双轴正交重构——spectra→observation、工具/API 收敛、安全韧性加固 2026-07-07 01:34:02 +08:00
.gitignore feat: 初始化 AstroResearch 核心系统代码及重构技术文档 2026-06-08 17:23:27 +08:00
.prettierrc refactor: Prettier 格式化全量前端、Library 服务端分页筛选、Agent 工具输出可视化与 .agent 目录统一 2026-07-03 00:11:02 +08:00
eslint.config.js refactor: Prettier 格式化全量前端、Library 服务端分页筛选、Agent 工具输出可视化与 .agent 目录统一 2026-07-03 00:11:02 +08:00
index.html feat: PWA 移动端适配、响应式三档布局与书签认证 2026-07-01 18:57:21 +08:00
package-lock.json refactor: Prettier 格式化全量前端、Library 服务端分页筛选、Agent 工具输出可视化与 .agent 目录统一 2026-07-03 00:11:02 +08:00
package.json refactor: Prettier 格式化全量前端、Library 服务端分页筛选、Agent 工具输出可视化与 .agent 目录统一 2026-07-03 00:11:02 +08:00
README.md refactor: 全栈架构重构与质量硬化——API 错误统一、工具域重组、安全加固、前端组件化 2026-06-25 23:45:37 +08:00
tsconfig.app.json feat: 初始化 AstroResearch 核心系统代码及重构技术文档 2026-06-08 17:23:27 +08:00
tsconfig.json feat: 初始化 AstroResearch 核心系统代码及重构技术文档 2026-06-08 17:23:27 +08:00
tsconfig.node.json feat: 初始化 AstroResearch 核心系统代码及重构技术文档 2026-06-08 17:23:27 +08:00
vite.config.ts refactor: Prettier 格式化全量前端、Library 服务端分页筛选、Agent 工具输出可视化与 .agent 目录统一 2026-07-03 00:11:02 +08:00
vitest.config.ts refactor: 全栈质量硬化 2026-06-28 14:40:26 +08:00

AstroResearch Dashboard / 前端仪表盘控制台

本模块是 AstroResearch 的前端部分,基于 React (TypeScript) + Vite + Tailwind CSS 构建。


1. 本地开发与调试 (Setup & Dev)

1.1 安装依赖

确保已安装 Node.js (v18+),在当前目录下运行:

npm install

1.2 启动开发服务器

npm run dev

开发服务器将默认运行在 http://localhost:5173。Vite 已配置了对 http://localhost:8000 (后端) 的代理转发,跨域请求会自动路由。


2. 核心功能及文件结构 (Core Modules)

  • src/pages/:页面级大组件视图(如统一检索、馆藏管理、对照阅读、引文星系、批量同步、智能科研、系统设置)。
  • src/components/:通用与专有 UI 组件(如力导向引文星系图、文献阅读器子组件、流水线任务终端等)。
  • src/hooks/:抽取出的全局共享及业务数据逻辑 HooksuseLibraryuseReaderStateuseSyncState 等)。
  • src/types/:全局 TypeScript 静态类型定义(types/index.ts)。

3. 生产构建 (Build)

若需打包生成生产环境静态文件:

npm run build

打包文件将输出至当前目录下的 dist/,后端 Axum 在编译时会直接将其静态托管。


4. 开发规范 (Coding Standards)