|
|
b11b8ad015
|
refactor: Agent 配置硬编码化、压缩系统不可变重构、前端组件化与安全硬化
- AgentConfig: 移除 10+ 个环境变量读取,仅保留 TOKEN_SOFT/HARD_LIMIT 两个
可调参数,context_char_limit 替换为统一的 token_soft_limit 阈值
- compact: find_safe_cut_point 重写为 HashSet O(n) 算法,
micro_compact 改为不可变风格,compress_context 签名升级为
token_soft_limit + max_messages 双参数,新增 COMPACTION_OUTPUT_RESERVE
- modes: ModeConfig.max_steps/tool_timeout_secs 去 Optional 化,
Deep Research 步数 16→100,Literature Reader 步数 6→25
- dashboard: 提取 AgentMarkdown/ThoughtCard/ToolCallCard/AnswerCard/
SubAgentContainer 等共享组件,ResearchAgentPanel 大幅瘦身,
交互卡片重构为 console-panel 紧凑风格
- security: 移除 HERMES_YOLO_MODE、AGENT_BLOCK_NETWORK 开关、
AGENT_CHECKPOINT_ENABLED 开关,关键安全机制强制启用
|
2026-06-25 00:49:45 +08:00 |
|
|
|
85b6429c30
|
feat: Agent 多模式系统、视觉模型集成、LLM 能力分层与 P3 性能收尾
核心架构变更:
1. Agent 多模式系统替代 Coordinator
- 移除 src/agent/coordinator/(Coordinator Agent/Worker/Tools,946 行)
- 新建 src/agent/modes/:声明式模式抽象(AgentMode/ModeConfig/ToolSet)
- 三种内置模式:
- default:通用科研助手,零覆盖保持现有行为
- deep-research:16 步、启用思考、research 权限、系统性调研
- literature-reader:白名单工具、只读沙箱、结构化阅读
- ModeRegistry + ModeConfig 预设 + ToolSet 过滤 + 身份/原则覆盖
- AgentRuntime::with_mode() 统一入口,模式持久化到 session.mode 字段
- GET /api/chat/modes 提供模式列表给前端选择器
2. 视觉模型与图片分析
- 新增 analyze_image 工具(340 行):本地/URL 图片 → 视觉模型流式分析
- LlmClient::analyze_image_stream():SSE 增量实时推送
- 配置:LLM_VISION_MODEL / LLM_VISION_API_KEY / LLM_VISION_API_BASE
- 前端:粘贴/选择图片附件,重试时复用文件路径
- Service 层移除 /chat/rag 和 /chat/figure 端点,统一走 Agent SSE
- Body limit 提升至 100MB 适配大图上传
3. LLM 三级能力分层
- Tier 1 (Core) → Tier 2 (Medium) → Tier 3 (Fast),级联回退
- medium_llm / fast_llm / vision_llm 注入 AppState
- 资产批量翻译 → Medium LLM + Semaphore(3) 并发控制
- 记忆提取/上下文压缩子代理 → Fast LLM
- SubAgentRunner::with_llm_client() 支持注入专用 LLM
4. 数据库与性能优化
- SQLite 启用 WAL + busy_timeout(10s) 处理并发写入
- RAG ingest:DELETE 合并为原子语句 + 批量事务写入
- Meta sync:save_paper_to_db_tx() 事务化批量插入
- 翻译词典:first_words HashSet 预过滤 + next_valid_index 跳跃优化
- read_file 不截断输出 + skip_persist 防止级联磁盘持久化
5. 工具系统增强
- ToolContext 增加 tool_call_id + max_output_chars
- ToolOutput 增加 skip_persist 标记
- TextDelta SSE 携带可选 tool_call_id 支持工具的流式输出
- ChatMessage::text() 辅助方法
|
2026-06-24 19:52:27 +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 |
|