OpenClaw Evolution Plugin 是一个插件优先的进化层,为 OpenClaw 提供持续改进能力。系统通过事件捕获、评估触发、候选改进生成、进化卡片展示、决策和注册更新的闭环流程,使 OpenClaw 能够从运行时经验中学习和进化。
- 插件优先架构 - 作为 OpenClaw 原生插件运行,而非独立平台
- 事件驱动进化 - 基于真实运行时事件的智能改进
- 评估驱动决策 - 重要改进需要显式确认和评估
- 可视化进化 - 通过 OpenClaw Evolution System 展示系统进化状态
- 兼容性感知 - 通过 CompatibilityManager 支持主机版本升级
职责:
- 作为 OpenClaw 原生插件安装和运行
- 实现运行时握手协议
- 检测主机能力和版本
- 提供事件桥接功能
- 渲染进化卡片
核心接口:
interface PluginRuntime {
// 运行时握手
handshake(hostInfo: HostInfo): Promise<HandshakeResult>
// 事件监听
on(event: RuntimeEvent): void
// 卡片渲染
renderCard(card: EvolutionCard): RenderResult
// 兼容性检查
checkCompatibility(): CompatibilityStatus
}职责:
- 接收和存储运行时事件
- 运行触发引擎
- 生成候选改进
- 协调评估流程
- 管理技能/规则/记忆注册表
- 处理卡片决策
核心 API:
POST /v1/runtime/handshake- 运行时握手POST /v1/events- 事件提交POST /v1/candidates- 候选改进创建POST /v1/evaluations/run- 运行评估GET /v1/cards- 查询进化卡片POST /v1/cards/:id/decision- 卡片决策POST /v1/skills/promote- 技能提升POST /v1/skills/rollback- 技能回滚
职责:
- 可视化仪表板
- 进化漏斗展示
- 候选改进审查
- 技能注册表管理
- 兼容性状态监控
- OpenClaw Avatar 进化可视化
核心页面:
- 仪表板 (Dashboard) - 系统概览和关键指标
- 进化漏斗 (Funnel) - 从事件到技能提升的转化漏斗
- 候选列表 (Candidates) - 待审查的候选改进
- 评估运行 (Evaluations) - 评估历史和状态
- 技能注册表 (Skills) - 已注册技能/规则/记忆
- 兼容性状态 (Compatibility) - 主机兼容性报告
- Avatar 视图 (Avatar) - OpenClaw 进化状态可视化
职责:
- 管理 OpenClaw Avatar 状态
- 处理进化动画事件
- 暴露稳定的运行时动画协议
- 支持重放和洞察分析
核心概念:
- OpenClaw Avatar - OpenClaw 的视觉化表征
- 进化阶段 - base → awakened → learned → evolved
- 动画事件 - pulse, evaluating, activation
- 状态机 - 管理阶段转换和动画触发
- 事件重放 - 持久化进化事件用于重放
职责:
- 检测主机版本
- 加载能力配置
- 选择适配器配置
- 跨版本字段映射
- 支持降级模式
- 暴露兼容性状态
降级策略:
- 内联卡片渲染 → 侧边栏卡片
- 侧边栏卡片 → 控制台审查项
- 控制台审查项 → 外部 H5 卡片链接
┌─────────────────────────────────────────────────────────────────┐
│ Evolution Loop │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Event │───▶│ Trigger │───▶│ Candidate│───▶│ Card │ │
│ │ Capture │ │ Engine │ │Extractor │ │ Present │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │
│ │ ▼ ▼ │
│ │ ┌──────────┐ ┌──────────┐ │
│ │ │Evaluation│ │ Decision │ │
│ │ │ Run │ │ Made │ │
│ │ └──────────┘ └──────────┘ │
│ │ │ │ │
│ │ ▼ ▼ │
│ │ ┌──────────┐ ┌──────────┐ │
│ └─────────────────────────│ Update │◀───│ Promote │ │
│ │ Registry │ │ Skill │ │
│ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────┘
OpenClaw Runtime
│
│ user_message, tool_call, etc.
▼
┌──────────────┐
│ Plugin │ normalize and forward
│ Runtime │────────────────────┐
└──────────────┘ │
▼
┌──────────────────┐
│ Evolution │
│ Service │
└──────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────────┐
│ Trigger │ │ Evaluate │ │ Register │
│ Engine │ │ Candidate│ │ Skill │
└─────────┘ └──────────┘ └──────────┘
│ │ │
└───────────────┴───────────────┘
│
▼
┌──────────────────┐
│ Insight │
│ Console │
│ + Avatar │
└──────────────────┘
| 事件类型 | 描述 | 触发时机 |
|---|---|---|
user_message |
用户消息 | 用户发送消息时 |
assistant_response |
助手响应 | AI 生成响应时 |
tool_call |
工具调用 | 调用工具时 |
tool_result |
工具结果 | 工具返回结果时 |
feedback |
用户反馈 | 用户提供反馈时 |
correction |
用户纠正 | 用户纠正 AI 时 |
session_end |
会话结束 | 会话结束时 |
| 事件类型 | 描述 | 触发时机 |
|---|---|---|
candidate_detected |
候选改进检测 | 触发引擎匹配时 |
evaluation_started |
评估开始 | 启动评估时 |
evaluation_passed |
评估通过 | 评估成功时 |
evaluation_failed |
评估失败 | 评估失败时 |
skill_promoted |
技能提升 | 注册技能时 |
skill_rolled_back |
技能回滚 | 回滚技能时 |
memory_saved |
记忆保存 | 保存记忆时 |
card_presented |
卡片展示 | 展示卡片时 |
card_decision |
卡片决策 | 用户决策时 |
| 事件类型 | 描述 | 动画效果 |
|---|---|---|
avatar_initialized |
Avatar 初始化 | 基础形态显现 |
avatar_stage_changed |
阶段变化 | 形态转换动画 |
animation_triggered |
动画触发 | 特定动画播放 |
mutation_applied |
突变应用 | 视觉突变效果 |
replay_event_logged |
重放事件记录 | 事件持久化 |
内容: 建议的新技能 字段: 技能名称、描述、示例、置信度 操作: 提升、拒绝、延后
内容: 规则更新建议 字段: 规则类型、旧值、新值、理由 操作: 应用、拒绝、编辑
内容: 长期记忆存储建议 字段: 记忆类型、内容、重要性、过期时间 操作: 保存、忽略、编辑
内容: 评估失败通知 字段: 失败原因、候选详情、建议修复 操作: 重试、放弃、修改
interface HostInfo {
version: string // 语义版本 (如 "1.2.3")
capabilities: string[] // 支持的能力列表
apiVersion: string // API 版本
}interface CapabilityProfile {
version: string
features: {
inlineCards: boolean
sidebarCards: boolean
eventStreaming: boolean
bidirectional: boolean
}
eventSchema: EventSchemaVersion
}interface AdapterProfile {
name: string
supportedHostVersions: string[]
eventMapping: Record<string, string>
degradedFeatures: string[]
}interface Candidate {
id: string
sessionId: string
type: 'skill' | 'rule' | 'memory'
source: 'pattern' | 'feedback' | 'correction' | 'discovery'
content: unknown
confidence: number
createdAt: Date
status: 'pending' | 'evaluating' | 'passed' | 'failed' | 'promoted'
}interface EvolutionCard {
id: string
sessionId: string
type: CardType
candidateId: string
content: CardContent
status: 'pending' | 'approved' | 'rejected' | 'deferred'
createdAt: Date
expiresAt?: Date
}interface SkillRegistryItem {
id: string
type: 'skill' | 'rule' | 'memory'
name: string
content: unknown
version: number
promotedAt: Date
lastEvaluatedAt?: Date
rollbackVersion?: number
}interface OpenClawAvatar {
id: string
currentStage: AvatarStage
stageHistory: StageTransition[]
activeMutations: Mutation[]
stats: AvatarStats
}
type AvatarStage = 'base' | 'awakened' | 'learned' | 'evolved'
interface StageTransition {
from: AvatarStage
to: AvatarStage
timestamp: Date
triggerEvent: string
}
interface Mutation {
id: string
type: string
appliedAt: Date
intensity: 'low' | 'medium' | 'high'
}- 插件安装成功率 > 95%
- 事件捕获准确率 > 99%
- API 响应时间 P99 < 200ms
- 评估准确率 > 80%
- 系统可用性 > 99.5%
- 进化卡片展示率
- 卡片决策响应率
- 技能提升率
- 技能回滚率
- 用户满意度
- ✅ 插件运行时基础功能
- ✅ 核心事件捕获和标准化
- ✅ Evolution Service MVP APIs
- ✅ 基础进化卡片
- ✅ Insight Console 核心页面
- ✅ OpenClaw Evolution System MVP
- ✅ CompatibilityManager
- ✅ 基础测试和文档
- ❌ 高级自主进化
- ❌ 多租户支持
- ❌ 分布式评估
- ❌ 复杂动画引擎
- ❌ 机器学习优化
- 插件包结构
- Manifest/配置
- 运行时握手协议
- 事件监听器
- 事件标准化
- 事件转发
- 服务 API
- 触发引擎
- 评估流程
- 卡片生成
- 卡片渲染
- 决策流程
- 仪表板
- 候选列表
- 技能注册表
- Avatar 模型
- 状态机
- 动画事件
- 版本检测
- 适配器
- 降级模式
- 完整测试套件
- API 文档
- 集成演示
- 更低进入门槛 - 用户无需迁移现有系统
- 原生集成 - 直接访问运行时事件
- 渐进式采用 - 可以逐步启用功能
- 更好的兼容性 - 通过适配器模式支持版本升级
- 安全第一 - 避免自动应用有害更改
- 用户控制 - 保持用户对系统的控制权
- 质量保证 - 通过评估流程过滤低质量改进
- 可视化反馈 - 让进化过程可见
- 状态持久化 - 支持重放和分析
- 情感连接 - 增强 AI 进化的可感知性
文档版本: 0.1.0 最后更新: 2026-03-10 下次审查: Milestone 4 完成后