refactor: 服务层抽象下沉、异步锁全栈迁移、客户端韧性加固与移动端适配

- 服务层拆分:删除 api/helpers.rs,新增 citation/note/session/pipeline/paper/vision 独立服务模块
  - Agent 工具精简:paper_content+paper_outline 合并为 paper.rs,图片分析逻辑下沉至 services/vision
  - 并发模型升级:std::sync::{Mutex,RwLock} → tokio::sync::{Mutex,RwLock},消除 async
  上下文中的阻塞风险
  - 客户端加固:HTTP 客户端统一超时配置、ADS 429 / arXiv 503 自动重试、构造函数返回 Result
  - 启动安全:全局 panic hook 日志化、空密码拒绝启动、向量表维度不匹配需显式确认
  - CLI 扩展:构建完整 AppState 复用服务层,新增 Content/Outline/Citations/Search/Process 子命令
  - 前端:移动端汉堡菜单、侧栏滑出面板、引用星系触屏手势(单指拖拽/双指缩放)
This commit is contained in:
fmq
2026-06-30 19:26:01 +08:00
parent c5fd5b0d66
commit f885c0a4a8
90 changed files with 5184 additions and 3916 deletions
+4 -2
View File
@@ -44,6 +44,8 @@ LLM_MODEL=gpt-4o-mini
# EMBEDDING_MODEL=text-embedding-3-small
# 向量维度(需与所选模型输出维度一致,默认 1536)
# EMBEDDING_DIM=1536
# 维度变更确认:修改 EMBEDDING_DIM 后需设置此变量为 1 才能启动(防止误改导致数据丢失)
# EMBEDDING_DIM_FORCE_REBUILD=1
# ─────────────────────────────────────────────────────────────────────────────
# Chunker 结构化切片参数(影响向量化粒度)
@@ -85,8 +87,8 @@ LIBRARY_DIR=./library
SKILLS_DIR=./skills
# 后端服务监听端口
PORT=8000
# 认证密码
ADMIN_PASSWORD=fmq
# 认证密码(必填,启动时未设置将拒绝启动)
ADMIN_PASSWORD=your_strong_password_here
# ─────────────────────────────────────────────────────────────────────────────
# 5. 日志配置