|
|
f885c0a4a8
|
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 子命令
- 前端:移动端汉堡菜单、侧栏滑出面板、引用星系触屏手势(单指拖拽/双指缩放)
|
2026-06-30 19:26:01 +08:00 |
|
|
|
5db4cc5998
|
refactor: 全栈架构重构与质量硬化——API 错误统一、工具域重组、安全加固、前端组件化
后端核心变更:
- API 层: 新增 AppError 枚举统一错误类型,替代散落的 (StatusCode, String)
- Agent 工具域: 重组为 astro/system/ 和 astro/research/ 两级域,新增 ProcessPaperTool 流水线工具
- 安全: 新增 SSRF 双层防护 (同步字符串级 + 异步 DNS 解析级),覆盖 IPv4/IPv6 私网段
- 弱密码检测: 扩展弱密码列表并增加最小长度检查
- LLM 客户端: 新增 ChatCompleter/Embedder trait,支持依赖注入与批量向量化 embed_batch
- 批量处理: AssetBatch 从串行改为 Semaphore 并发池 (BATCH_CONCURRENCY=3)
- 分块器: 重写为三阶段结构化管线 (章节解析→短节合并→带标题路径子块)
- RAG: embedding 计算移出事务,RetrievalResult 新增 headings/section_index 字段
- 检索: ADS/arXiv 并行检索 (tokio::join!),去重改用 HashSet,本地库回填批量 IN 查询
- 天体查询: Sesame API 升级到 v4,新增视差误差/自行/视向速度/多波段测光字段
- 迁移: 14 个增量文件合并为单一 init.sql,支持 sqlx::migrate! 内存库集成测试
- 测试: circuit_breaker/hooks/task_board/session/memory/streaming_executor 新增修正 15+ 测试
前端架构重构:
- 目录重组: features/ → pages/ + components/ + hooks/ 三层分离
- App.tsx 从 1181 行压缩至 ~174 行 (逻辑抽入 9 个自定义 Hook)
- Agent 面板拆分为 AgentSessionSidebar/AgentMessageList/AgentInputArea 子组件
- 新增 GlobalDialog/PaperDetailModal/UncachedPaperModal 通用对话框组件
- 工具函数抽取: celestial.ts (天体坐标格式), paper.tsx (文献信息渲染)
|
2026-06-25 23:45:37 +08:00 |
|
|
|
f6df9d8136
|
feat: Agent 思考模式前端可控、子代理全链路持久化、权限系统、工具 ID 追踪体系、前端面板与文档架构重构
- AgentConfig/LlmClient 新增 enable_thinking 参数,前端 SSE 请求传递 thinking
开关,仅千问/DashScope 时启用
- 完善权限系统,支持细粒度的权限控制和用户权限申请
- delegate_research 工具重命名为 subagent,SubAgentTool/SubAgentRunner 重构
- 子代理消息(system/user/assistant/tool)持久化到 agent_messages 表,带 agent_name 标识
- 子代理活动日志(工具调用列表+思考摘要)注入返回结果,Hooks 获得正确 session_id 和 subagent_name
- LLM 工具调用 ID 回退生成 UUID(llm.rs),ToolCall/ToolResult SSE 事件增加 id/tool_call_id 双字段
- ToolContext 扩展 session_id/sse_tx/enable_thinking 字段,executor 统一注入而非构造函数传参
- agent_messages 新增 metadata+raw_json 列,agent_sessions 暴露 summary 字段
- 删除文件级 transcript 快照(compact.rs),改为依赖 DB 持久化
- ResearchAgentPanel 重写:TimelineItem 类型替代 StreamStep,支持会话历史回放
- 新增 AgentMetricsPanel/AskUserQuestionCard/AuditLogViewer 三个前端组件,types.ts 完整类型定义
- docs/architecture/ 分层重组:概览/核心模块/核心工作流 + agent/ 子目录 11 篇专题文档
- docs/api.md 补充 RAG/Target/Agent 接口,docs/development.md 新建开发指南
- .env.example 完全重写,补充 FALLBACK_MODEL 等变量说明
|
2026-06-18 01:21:02 +08:00 |
|
|
|
49784739fa
|
feat: Agent 全栈升级——模块化重构、Hooks/Skills/Memory/SubAgent/Team 子系统、审计与任务持久化
架构重构:
- Agent Runtime 由单文件拆为 runtime/ 目录 12 模块(熔断/流式执行/Token预算/文件缓存/权限等)
- Agent Tools 由单文件拆为 tools/ 目录 20+ 模块(filesystem/astro/memory/skill/subagent/team 等)
- 解析器体系重构(common.rs 836行变更),各解析器同步升级
- Download 服务重构(562行),反爬策略强化
- LLM 客户端重构(266行),流式调用优化
新子系统:
- Hooks 生命周期系统(9种事件类型,PreToolUse/PostToolUse 支持输入输出拦截)
- Skills 双层加载系统(system-reminder 轻量注入 + LoadSkillTool 按需加载,notify 文件监听热更新)
- Memory 项目记忆管理(类型/提取/去重/衰减/保活/选择策略/护栏 7 模块)
- SubAgent 上下文隔离子代理运行器(独立 ReAct 循环 + Hook 管道)
- Team 多智能体团队协作(文件 inbox 通信、lead/teammate 协调)
- TaskBoard DAG 任务依赖管理
- Trajectory 会话轨迹、Terminal 终止信号、Autonomous 自主模式、Background 异步通知
数据库:
- agent_tasks 表(DAG 依赖模式,blocked_by JSON 数组)
- agent_audit_log 表(工具调用审计:名称/状态/耗时/输出预览)
- agent_identity 迁移(消息/审计/任务的 agent_name 归属,agent_team_members 团队注册表)
API:
- GET /chat/metrics 聚合指标端点
- GET /chat/sessions/:id/audit 会话审计查询
- GET /chat/questions + POST /chat/answer 人机交互问答
工程:
- 新增依赖:serde_yaml、notify、glob、walkdir、lru
- Skills 目录含 methodology/plotting/presentation 三个初始 SKILL.md
- CLAUDE.md 完整项目架构文档
|
2026-06-17 00:14:02 +08:00 |
|