架构重构: - 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 完整项目架构文档 |
||
|---|---|---|
| .. | ||
| methodology | ||
| plotting | ||
| presentation | ||
| README.md | ||
Agent Skills
按需加载的领域知识模块。参考 Claude Code 的三层设计:
- Layer 1(系统提示词):仅列出 skill 名称(~20 tokens/skill)
- Layer 2(load_skill 工具):LLM 按需调用,注入完整 SKILL.md 内容
目录约定
skills/{name}/SKILL.md ← 必须是子目录 + SKILL.md
当前仅读取 SKILL.md 文件。skill 目录下可以放其他文件(如 references/、scripts/、assets/),但当前版本的加载逻辑不会处理它们。
SKILL.md 格式
---
name: skill-name # 唯一标识(必填)
description: 一句话描述 # 必填
context: inline # 已解析但未生效(依赖子代理架构)
allowed-tools: # 已解析但未生效(无权限系统)
- bash
- read
---
# Skill 正文
context 和 allowed-tools 字段会被 parse_frontmatter() 解析,LoadSkillTool 执行时会在返回内容中标记 context: fork 的 skill,但实际执行行为不变——所有 skill 当前都是内联返回 Markdown 文本。
添加新 skill
- 创建
skills/{name}/SKILL.md,填写 frontmatter 和正文 - 系统提示词在下次请求时自动发现
- 无需改动代码
当前 Skills
| Skill | 状态 |
|---|---|
| methodology | 就绪 |
| plotting | 占位 |
| presentation | 占位 |