AstroResearch/dashboard
Asfmq 5ad0cf1d28 - Config 按职责拆分为 LlmConfig/EmbeddingConfig/VisionConfig/CdsConfig/StorageConfig 五个子结构
- AppState 拆分为 LlmState/DataSourceState/SessionState 三个子结构,消除 50+ 平铺字段
- 新增 ServiceError 结构化错误类型替代 handler 中的 msg.contains() 字符串匹配
- 移除 api::handlers 兼容命名空间,路由直接引用 agent/auth/papers 等模块

- login_rate_limiter/upload_rate_limiter 从 Mutex\<HashMap\> 迁移为 DashMap(无锁)
- 新增 session_last_active: DashMap\<String, AtomicU64\>,auth 中间件快速路径免写锁
- 会话过期清理改为按间隔触发(300s),避免每次请求全表扫描
- MAX_SESSIONS 1000→10000,SSE 广播通道 256→1024

- AgentTool trait 新增 is_internal()/display_name(),SSE 事件携带工具元数据
- 新增 GET /chat/tools 端点暴露注册工具列表
- pending_questions/pending_permissions 增加 created_at 时间戳,自动清理过期条目(10min TTL)
- Agent 超时现在正确 abort 后台任务并设置取消令牌

- FITS 解析: APOGEE/DESI 改用 read_image+切片替代 read_rows(修复 fitsio panic)
- ZTF: CIRCLE 参数分隔符 +→空格(修复 IRSA 400),半径自动裁剪至硬上限
- MAST TESS: parse_tic_json 兼容数组/对象两种 API 响应格式
- 统一检索: per_target_limit 默认 50→1,sources 支持 per-source release/version
- Gaia 测光从 VizieR 镜像切换至官方 TAP 服务

- 向量化降级从串行改为并发 5 条/批(buffer_unordered)
- 混合检索 RRF 合并从借用改为 owned RetrievalResult

- PDF 中间件: URL 解码 %2F/%2E 后判扩展名;文件名过滤非 ASCII + 禁 \ 防头注入
- chat_agent 日志截断问题内容至 50 字符;list_sessions 强制 limit clamp

- 设计令牌三层架构: primitive→semantic→component,浅色暖纸张学术/暗色 Night Indigo
- useTheme hook + ThemeToggle 侧边栏组件 + main.tsx 防 FOUC 初始化
- 全组件从硬编码 slate 色迁移至语义令牌(bg-surface/text-content/border-subtle 等)
- 新增 ToastContainer 非阻塞通知系统

- deploy.sh 引入 SSH ControlMaster 单次密码复用
2026-07-11 14:12:11 +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 - Config 按职责拆分为 LlmConfig/EmbeddingConfig/VisionConfig/CdsConfig/StorageConfig 五个子结构 2026-07-11 14:12:11 +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: LAMOST DR12-14 与子版本体系接入、观测层安全加固与并发异步化 2026-07-07 21:16:46 +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)