Skip to content

架构设计

云雀 Agent 是一个模块化 AI 代理运行时,包含 40+ 核心模块,全部在 cmd/agent/main.go 中组装。采用"控制面 + 执行面"双层架构,核心认知引擎与外部集成解耦。

请求处理流程

HTTP / WebSocket / IM 渠道 → Gateway (认证 · CORS · 限流 · RBAC)
  → 安全护栏 (输入: PII 脱敏 · 注入检测 · Shell Guard)
  → 会话管理 (历史加载 · 分支/Fork)
  → 智能路由器 (按复杂度选模型: fast / smart / expert)
  → 成本追踪器 (预算检查 · 实时计费)
  → 上下文管理器 (Token 预算 · 压缩 · 滑动窗口)
  → 规划器 (LLM 规划循环 + 记忆 + 知识 RAG + 技能编排)
  → 安全护栏 (输出审核: PII 脱敏 · 内容过滤)
  → 记忆管线 (异步事实提取 → 5 层记忆)
  → 审计链 (Merkle 不可篡改日志)
  → 反思循环 (经验积累 → 策略编译)

核心模块

认知层 (agentcore)

模块功能
llmLLM 客户端,流式输出,提供者注册,熔断器
planner多步规划循环,技能编排,情绪感知,Reverie 内心独白
memory5 层记忆系统 (短期/中期/长期/可编辑/知识图谱)
knowledge混合 RAG:BM25 + 向量 + RRF + Rerank
contextToken 预算管理和上下文压缩
router按复杂度智能路由模型 (Bandit 在线选择)
skills技能注册、执行、参数校验
skillmarket技能安装、ClawHub/ToriHub 市场、SkillFileLoader
emotion情绪分析、情感历史、表情包映射
persona人格链、特征开关、Persona 模板
task任务生命周期、线程管理、工作记忆、增长追踪
workflowDAG 工作流引擎,条件分支,并行执行
cron定时任务,支持 cron 表达式和固定间隔
trigger事件触发器,基于条件自动执行

安全与治理层

模块功能
guardrails内容安全,PII 脱敏,注入检测,Shell Guard
auditMerkle 链不可篡改审计日志
trust信任分系统,渐进式权限
approval高风险操作审批,4 级风险分类
rbac角色权限控制,4 层继承
review代码/内容审查门控

执行层 (execution)

模块功能
channel16+ IM 渠道适配器,韧性封装
sandbox代码沙箱 (进程/Docker/K8s/Wasm),E2B Desktop
scheduler任务调度器,Q-Learning 优化
tools工具执行管理,Shell 策略

实验性模块 (experimental)

模块功能
reflect经验积累 → 策略编译 → 行为优化反馈环
iterate迭代式改进引擎
distill语义蒸馏
skillgrow技能增长检测
heartbeat心跳守护
causal因果链提取

目录结构

internal/
├── agentcore/        # 40+ 核心认知模块
│   ├── llm/          # LLM 客户端 + 提供者注册
│   ├── planner/      # 规划器 + Reverie + 情绪感知
│   ├── memory/       # 5 层记忆系统
│   ├── knowledge/    # 混合 RAG 检索
│   ├── skills/       # 技能注册与执行
│   ├── skillmarket/  # 技能市场 + SkillFileLoader
│   ├── emotion/      # 情绪分析 + 表情包
│   ├── persona/      # 人格链
│   ├── task/         # 任务引擎
│   ├── workflow/     # 工作流引擎
│   └── ...           # guardrails, audit, trust, rbac, etc.
├── controlplane/     # HTTP/WS API 网关
├── execution/        # 沙箱、调度器、16+ 渠道适配器
├── experimental/     # 反思、蒸馏、因果链等实验模块
├── storage/          # SQLite 存储层
├── ledger/           # KV 存储 + 持久化桥接
├── mcp/              # MCP 协议集成
├── integrations/     # 第三方集成 (MinerU 等)
├── observe/          # 可观测性
└── tori/             # Tori API 集成
cmd/agent/            # 入口点
plugins/              # Go 技能插件
pkg/                  # 公共库 (plugin loader, skills)
data/                 # 运行时数据
├── plugins/          # 脚本插件 (Python/Node/Shell)
├── skills/           # 文件技能 (SKILL.md)
└── knowledge/        # 知识库文档
heroui-web/           # HeroUI v3 + Next.js 仪表板
docs/                 # VitePress 文档站

存储

双层持久化:SQLite 关系存储(memories/sessions/messages)+ Ledger KV 配置存储(25+ 命名空间)。本地优先,零外部依赖。详见 存储与 Ledger

© 2025 云鸢科技(青岛)有限公司 × Dream Lab