Files
zclaw_openfang/plans/fancy-orbiting-meteor.md
iven aa6a9cbd84
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
feat: 新增技能编排引擎和工作流构建器组件
refactor: 统一Hands系统常量到单个源文件
refactor: 更新Hands中文名称和描述

fix: 修复技能市场在连接状态变化时重新加载
fix: 修复身份变更提案的错误处理逻辑

docs: 更新多个功能文档的验证状态和实现位置
docs: 更新Hands系统文档

test: 添加测试文件验证工作区路径
2026-03-25 08:27:25 +08:00

31 KiB
Raw Blame History

ZCLAW 项目深度分析与创新头脑风暴

一、项目概览

1.1 核心指标

维度 数据
Rust Crates 9 个 (L1-L5 分层)
前端 TypeScript ~25,000 行
后端 Rust ~12,000 行
Zustand Store 16+
Tauri 命令 100+
SKILL.md 技能 69 个
Hands 自主能力 9/11 (82%)
Pipeline 模板 5 类
LLM Provider 8 个

1.2 架构成熟度

整体: L4 (生产级)

系统层 成熟度 说明
通信层 L4 Tauri IPC + WebSocket 双模式
状态管理 L4 16+ Zustand Store
智能层 L4 6 个核心组件全部实现
Skills L4 69 技能 + 注册执行
Hands L4 9/11 实现
Pipeline L4 DSL 解析 + 执行引擎

二、分层架构

┌─────────────────────────────────────────────────────────────────┐
│                      ZCLAW 桌面应用 (Tauri 2.x)                  │
├─────────────────────────────────────────────────────────────────┤
│  前端层 (React 18 + TypeScript + Zustand)                       │
│    ↓ KernelClient (Tauri invoke)                                │
├─────────────────────────────────────────────────────────────────┤
│  后端层 (Rust Workspace)                                        │
│    zclaw-kernel (L4: 核心协调)                                  │
│       ↓                                                         │
│    ┌───────────┬───────────┬───────────┐                       │
│    │zclaw-     │zclaw-     │zclaw-     │                       │
│    │runtime    │skills     │hands      │                       │
│    │(LLM驱动)  │(69技能)   │(9个Hand)  │                       │
│    └───────────┴───────────┴───────────┘                       │
│       ↑                                                         │
│    zclaw-memory (L2: SQLite存储)                                │
│       ↑                                                         │
│    zclaw-types (L1: 基础类型)                                   │
└─────────────────────────────────────────────────────────────────┘

三、核心系统能力

3.1 Pipeline DSL 系统

5 类工作流模板:

类别 Pipeline 功能
教育 互动课堂生成器 输入课题→生成完整课件
营销 营销方案生成器 输入产品→生成营销策略
法律 合同智能审查 识别风险条款→修改建议
研究 文献综述生成器 主题→结构化综述报告
生产力 智能会议纪要 会议内容→结构化纪要

Action 类型: llm_generate, skill, hand, parallel, condition, file_export, http_request

3.2 Skills 系统

69 个技能分类:

分类 数量 代表技能
开发工程 15+ ai-engineer, backend-architect
协调管理 8+ agents-orchestrator, project-shepherd
测试质量 6+ code-reviewer, reality-checker
设计体验 8+ ux-architect, ui-designer
社媒营销 12+ twitter-engager, xiaohongshu-specialist
中文平台 5+ chinese-writing, feishu-docs

3.3 Hands 自主能力

Hand 状态 核心能力
Browser 15+ 浏览器操作 (Navigate, Click, Scrape...)
Researcher 多源搜索、内容提取、自动综述
Collector 数据聚合、JSONPath 提取
Slideshow 课件控制、聚光灯、激光笔
Whiteboard 图表绘制、LaTeX 渲染
Quiz 自适应测验、成绩分析
Speech SSML 语音合成
Clip ⚠️ 视频处理 (需 FFmpeg)
Twitter ⚠️ 自动化 (需 API Key)

3.4 智能层组件

组件 功能 实现
Agent Memory 跨会话记忆 Rust + SQLite
Identity Evolution 身份演化 提案审批机制
Reflection Engine 自我反思 模式分析建议
Heartbeat Engine 心跳巡检 自主行为触发
Autonomy Manager 自主授权 权限控制
Context Compaction 上下文压缩 长对话优化

四、高价值创新点子 (头脑风暴)

P0 级 - 核心差异化

1. 技能编排引擎 (Skill Orchestration Engine)

概念: 自动组合多个 Skill 形成执行图,处理复杂任务

示例流程:

用户: "帮我分析腾讯的财务状况并生成报告"
  │
  ├──► Skill 1: finance-tracker (提取财务数据)
  │         │
  │         └──► Skill 2: analytics-reporter (生成分析)
  │                   │
  │                   └──► Skill 3: executive-summary-generator (格式化报告)

可行性: 技术难度高 | 商业价值极高 | 用户需求极高

2. 可视化工作流构建器 (Visual Workflow Builder)

概念: 拖拽式 Pipeline 编辑器,降低非技术用户门槛

实现路径:

  1. 节点类型: Input, LLM, Skill, Hand, Condition, Parallel, Export
  2. YAML 双向生成
  3. 模板库 + 自定义

可行性: 技术难度中 | 商业价值极高 | 用户需求极高


P1 级 - 差异化功能

3. 自适应智能网格 (Adaptive Intelligence Mesh)

概念: Pipeline + Memory + Heartbeat 协同,基于用户模式主动推荐工作流

核心机制:

  • Heartbeat 分析 Memory 模式
  • 识别任务类型、偏好时间、常用流程
  • 主动推荐/触发 Pipeline

4. 上下文感知 Hand 触发 (Context-Aware Hand Triggers)

概念: Hand 触发条件扩展为语义匹配

triggers:
  condition:
    memory_contains: ["财报", "财务"]
    conversation_intent: "financial_analysis"

5. 记忆驱动的身份演化 (Memory-Powered Persona Evolution)

概念: 基于记忆模式主动调整 Persona

示例:

检测到模式:
- 70% 对话涉及 Python 代码
- 偏好要点式总结
- 活跃时段: 10:00-12:00

提案:
- 身份增加 "Python 专家"
- 启用 "简洁输出" 模式
- 在 10:30 安排主动提醒

6. 技能市场 (Skill Marketplace)

概念: 开发者发布/出售技能,平台分成

实现:

  • .zskill 打包格式
  • 验证 + 安全扫描
  • 评分、评论、订阅

P2 级 - 增强功能

创新点 描述 价值
Pipeline-Skill 双向桥接 Skill 可触发 Pipeline 工作流联动
协作工作空间 多用户共享 Agent/Memory B2B 收入
智能LLM路由 按任务自动选择最优模型 成本优化
预测性记忆助手 主动预加载相关记忆 体验提升

五、优先级矩阵

创新点 技术难度 商业价值 用户需求 优先级
技能编排引擎 极高 极高 P0
可视化工作流构建器 极高 极高 P0
自适应智能网格 P1
上下文感知触发 P1
记忆驱动身份演化 极高 P1
技能市场 极高 P1
Pipeline-Skill 桥接 P2
协作工作空间 极高 P2
智能LLM路由 P2
预测性记忆 P2

六、实施路线图

Phase 1: 基础 (1-2 月)

  1. 可视化工作流构建器 - 大众化入口
  2. 技能编排引擎 - 核心差异化
  3. 技能市场 MVP - 生态基础

Phase 2: 智能 (2-3 月)

  1. 自适应智能网格 - 个性化
  2. 上下文感知触发 - 真正自动化
  3. 记忆驱动身份演化 - 身份进化

Phase 3: 规模 (3-6 月)

  1. Pipeline-Skill 桥接 - 工作流集成
  2. 协作工作空间 - 团队功能
  3. 智能LLM路由 - 成本优化
  4. 预测性记忆 - 体验增强

七、架构瓶颈与改进

瓶颈 现状 改进方向
Pipeline-Skill 集成 单向调用 双向感知
Memory 索引 关键词匹配 语义嵌入
Hand 触发系统 手动/定时 语义条件
状态同步 单用户 CRDT 协作
LLM 抽象 Provider 特定 统一路由层

八、商业化差异化

  1. 本地优先隐私 - 数据不离本地 (vs ChatGPT/Claude)
  2. 69+ 专业技能 - 超越通用助手
  3. Pipeline DSL - 独特工作流自动化
  4. Memory + Identity - 持续进化的 AI 伙伴
  5. Hands 系统 - 超越对话的自主行动

九、关键文件索引

文件 用途
kernel.rs 核心协调器
executor.rs Pipeline 执行引擎
registry.rs Skill 注册中心
heartbeat.rs 心跳引擎
hand.rs Hand trait 定义

十、总结

ZCLAW 是一个架构清晰的 AI Agent 桌面应用,具备:

坚实的技术基础 - 9 个 Rust crates分层设计 丰富的能力生态 - 69 技能 + 9 Hands + 5 Pipeline 完整的智能层 - 6 个核心组件 多模型支持 - 8 个 LLM Provider

下一步建议:

  1. 优先实现 可视化工作流构建器技能编排引擎
  2. 启动 技能市场 MVP 建立生态
  3. 逐步完善智能层协同效应

第二部分:详细实施计划

本部分包含 6 个创新点的详细技术设计和实施步骤


创新点 1: 技能编排引擎 (Skill Orchestration Engine)

1.1 概述

自动组合多个 Skill 形成执行图 (DAG),支持数据传递、错误处理、依赖解析。

1.2 核心数据结构

// crates/zclaw-skills/src/orchestration/types.rs

/// 技能编排图
pub struct SkillGraph {
    pub id: String,
    pub name: String,
    pub nodes: Vec<SkillNode>,       // DAG 节点
    pub edges: Vec<SkillEdge>,       // 数据流边
    pub input_schema: Option<Value>,
    pub output_mapping: HashMap<String, String>,
}

/// 编排节点
pub struct SkillNode {
    pub id: String,
    pub skill_id: SkillId,
    pub input_mappings: HashMap<String, DataExpression>,
    pub retry: Option<RetryConfig>,
    pub timeout_secs: Option<u64>,
    pub when: Option<String>,        // 条件表达式
}

/// 数据表达式
pub enum DataExpression {
    InputRef(String),                 // ${inputs.field}
    NodeOutputRef { node_id: String, field: String }, // ${nodes.xxx.output}
    Literal(Value),
    Expression(String),
}

/// 执行计划
pub struct OrchestrationPlan {
    pub graph: SkillGraph,
    pub execution_order: Vec<String>,      // 拓扑排序
    pub parallel_groups: Vec<Vec<String>>, // 并行组
}

1.3 关键 Trait

/// 编排计划器
pub trait OrchestrationPlanner: Send + Sync {
    fn validate(&self, graph: &SkillGraph, registry: &SkillRegistry) -> Result<Vec<ValidationError>>;
    fn plan(&self, graph: &SkillGraph) -> Result<OrchestrationPlan>;
    fn auto_compose(&self, skill_ids: &[SkillId], registry: &SkillRegistry) -> Result<SkillGraph>;
}

/// 图执行器
pub trait SkillGraphExecutor: Send + Sync {
    async fn execute(&self, graph: &SkillGraph, inputs: HashMap<String, Value>, context: &SkillContext) -> Result<OrchestrationResult>;
}

1.4 实施步骤

阶段 任务 文件 工时
Phase 1 核心类型和验证 orchestration/types.rs, validation.rs 4h
Phase 2 计划器和执行器 planner.rs, executor.rs, context.rs 6h
Phase 3 自动组合算法 auto_compose.rs 4h
Phase 4 Pipeline 集成 actions/skill_orchestration.rs 3h

需要修改的文件:

  • crates/zclaw-skills/src/lib.rs - 添加 pub mod orchestration;
  • crates/zclaw-pipeline/src/types.rs - 添加 Action::SkillOrchestration
  • crates/zclaw-pipeline/src/executor.rs - 处理新 Action 类型

需要新增的文件:

  • crates/zclaw-skills/src/orchestration/mod.rs
  • crates/zclaw-skills/src/orchestration/types.rs
  • crates/zclaw-skills/src/orchestration/validation.rs
  • crates/zclaw-skills/src/orchestration/planner.rs
  • crates/zclaw-skills/src/orchestration/executor.rs
  • crates/zclaw-skills/src/orchestration/context.rs
  • crates/zclaw-skills/src/orchestration/auto_compose.rs

1.5 验证方案

单元测试:

  • 图验证 (循环检测、缺失节点)
  • 拓扑排序正确性
  • 数据表达式解析
  • 并行组识别

手动验证:

# 创建编排 YAML
cat > test_orchestration.yaml << EOF
apiVersion: zclaw/v1
kind: SkillOrchestration
spec:
  nodes:
    - id: research
      skill_id: web-researcher
      input_mappings:
        query: ${inputs.topic}
    - id: summarize
      skill_id: text-summarizer
      input_mappings:
        text: ${nodes.research.output.content}
  edges:
    - from_node: research
      to_node: summarize
EOF

# 在 UI 中执行编排

1.6 工作量估算

  • 总工时: 17 小时
  • 风险: 中等 - DAG 执行复杂性、并发状态管理
  • 可复用: Pipeline 的 ExecutionContext、SkillRegistry

创新点 2: 可视化工作流构建器 (Visual Workflow Builder)

2.1 概述

拖拽式 Pipeline 编辑器,支持 YAML 双向转换,节点类型包括 Input, LLM, Skill, Hand, Condition, Parallel, Export。

2.2 核心数据结构

// desktop/src/lib/workflow-builder/types.ts

export type NodeType = 'input' | 'llm' | 'skill' | 'hand' | 'condition' | 'parallel' | 'export' | 'loop';

export interface WorkflowNode {
  id: string;
  type: NodeType;
  position: { x: number; y: number };
  data: NodeData;
}

export interface NodeData {
  label: string;
  config: Record<string, unknown>;
  llmConfig?: { template: string; model?: string; temperature?: number };
  skillConfig?: { skillId: string; inputMappings: Record<string, string> };
  handConfig?: { handId: string; action: string; params: Record<string, string> };
  conditionConfig?: { expression: string; branches: { condition: string; targetNodeId: string }[] };
  parallelConfig?: { maxWorkers: number };
  exportConfig?: { formats: ('pptx' | 'html' | 'pdf' | 'markdown')[] };
}

export interface WorkflowCanvas {
  nodes: WorkflowNode[];
  edges: WorkflowEdge[];
  viewport: { x: number; y: number; zoom: number };
  metadata: { name: string; description?: string; category?: string };
}

2.3 关键组件

组件 文件 功能
WorkflowCanvas WorkflowCanvas.tsx React Flow 画布
NodePalette NodePalette.tsx 可拖拽节点面板
PropertyPanel PropertyPanel.tsx 节点属性编辑器
YamlConverter yaml-converter.ts YAML 双向转换

2.4 实施步骤

阶段 任务 工时
Phase 1 安装依赖 + 类型定义 2h
Phase 2 核心组件 (Canvas, Palette, Panel) 8h
Phase 3 YAML 转换器 4h
Phase 4 集成现有 WorkflowEditor 3h

需要安装的依赖:

pnpm add @xyflow/react dagre @dagrejs/dagre

需要新增的文件:

desktop/src/
├── components/WorkflowBuilder/
│   ├── WorkflowCanvas.tsx
│   ├── NodePalette.tsx
│   ├── PropertyPanel.tsx
│   └── nodes/
│       ├── InputNode.tsx
│       ├── LLMNode.tsx
│       ├── SkillNode.tsx
│       ├── HandNode.tsx
│       ├── ConditionNode.tsx
│       ├── ParallelNode.tsx
│       └── ExportNode.tsx
├── store/workflowBuilderStore.ts
└── lib/workflow-builder/
    ├── types.ts
    ├── yaml-converter.ts
    └── validation.ts

2.5 验证方案

手动验证:

pnpm start:dev
# 1. 拖拽 Input 节点,配置 topic 输入
# 2. 拖拽 LLM 节点,连接到 Input配置模板
# 3. 拖拽 Skill 节点,连接到 LLM选择技能
# 4. 拖拽 Export 节点,连接到 Skill选择格式
# 5. 点击 "生成 YAML" - 验证输出
# 6. 点击 "执行" - 验证 Pipeline 运行

2.6 工作量估算

  • 总工时: 17 小时
  • 风险: 中等 - React Flow 学习曲线、复杂状态管理
  • 可复用: Pipeline YAML 解析器、pipeline-client.ts

创新点 3: 自适应智能网格 (Adaptive Intelligence Mesh)

3.1 概述

Pipeline + Memory + Heartbeat 协同,基于用户行为模式主动推荐工作流。

3.2 核心数据结构

// desktop/src-tauri/src/intelligence/mesh.rs

/// 用户行为模式
pub struct BehaviorPattern {
    pub id: String,
    pub pattern_type: PatternType,
    pub frequency: usize,
    pub last_occurrence: DateTime<Utc>,
    pub confidence: f32,
    pub context: PatternContext,
}

pub enum PatternType {
    SkillCombination { skill_ids: Vec<String> },
    TemporalTrigger { hand_id: String, time_pattern: String },
    TaskPipelineMapping { task_type: String, pipeline_id: String },
    InputPattern { keywords: Vec<String>, intent: String },
}

/// 工作流推荐
pub struct WorkflowRecommendation {
    pub id: String,
    pub pipeline_id: String,
    pub confidence: f32,
    pub reason: String,
    pub suggested_inputs: HashMap<String, Value>,
    pub patterns_matched: Vec<String>,
}

3.3 数据流

Heartbeat Tick → MeshCoordinator.analyze()
                       ↓
              PatternDetector.detect_patterns()
                       ↓
              Memory (活动历史) + Pipeline Runs (执行历史)
                       ↓
              BehaviorPattern[]
                       ↓
              WorkflowRecommender.recommend()
                       ↓
              WorkflowRecommendation[]
                       ↓
              UI 通知 → 用户接受 → 执行 Pipeline

3.4 实施步骤

阶段 任务 文件 工时
Phase 1 核心类型 + 模式检测 mesh.rs, pattern_detector.rs 5h
Phase 2 Memory/Pipeline 集成 mesh.rs 4h
Phase 3 推荐引擎 recommender.rs 4h
Phase 4 Heartbeat 集成 + UI heartbeat.rs, WorkflowRecommendations.tsx 4h

需要新增的文件:

  • desktop/src-tauri/src/intelligence/mesh.rs
  • desktop/src-tauri/src/intelligence/pattern_detector.rs
  • desktop/src-tauri/src/intelligence/recommender.rs
  • desktop/src/components/WorkflowRecommendations.tsx

3.5 验证方案

# 1. 重复使用特定技能组合
# 2. 等待心跳检查 (或强制触发)
# 3. 检查 UI 中的推荐通知
# 4. 接受推荐并验证 Pipeline 执行

3.6 工作量估算

  • 总工时: 17 小时
  • 风险: 中高 - 模式检测准确性、推荐相关性
  • 可复用: HeartbeatEngine, PersistentMemoryStore, PipelineExecutor

创新点 4: 上下文感知 Hand 触发 (Context-Aware Hand Triggers)

4.1 概述

扩展触发条件为语义匹配: MemoryQuery, ContextCondition, IdentityState。

4.2 核心数据结构

// crates/zclaw-hands/src/trigger.rs (扩展)

pub enum TriggerType {
    // ... 现有类型 ...

    /// 记忆查询触发器
    MemoryQuery {
        memory_type: Option<String>,
        content_pattern: String,
        min_count: usize,
        min_importance: Option<i32>,
    },

    /// 上下文条件触发器
    ContextCondition {
        conditions: Vec<ContextConditionClause>,
        combination: ConditionCombination, // All | Any | None
    },

    /// 身份状态触发器
    IdentityState {
        file: IdentityFile,
        content_pattern: Option<String>,
        any_change: bool,
    },

    /// 复合触发器
    Composite {
        triggers: Vec<TriggerType>,
        combination: ConditionCombination,
    },
}

pub enum ContextField {
    TimeOfDay, DayOfWeek, ActiveProject, RecentTopic,
    PendingTasks, MemoryCount, LastInteractionHours,
}

4.3 触发器评估器

// crates/zclaw-hands/src/trigger_evaluator.rs

pub struct TriggerEvaluator {
    memory_store: Arc<PersistentMemoryStore>,
    identity_manager: Arc<Mutex<AgentIdentityManager>>,
    heartbeat_engine: Arc<Mutex<HeartbeatEngine>>,
}

impl TriggerEvaluator {
    pub async fn evaluate(&self, trigger: &TriggerType, agent_id: &str) -> Result<bool> {
        match trigger {
            TriggerType::MemoryQuery { content_pattern, min_count, .. } => {
                let results = self.memory_store.search(query).await?;
                Ok(results.len() >= *min_count)
            }
            TriggerType::ContextCondition { conditions, combination } => {
                // 评估条件组合
            }
            // ...
        }
    }
}

4.4 实施步骤

阶段 任务 工时
Phase 1 扩展 TriggerType 3h
Phase 2 实现评估器 5h
Phase 3 Heartbeat 集成 3h
Phase 4 UI 配置界面 3h

需要修改的文件:

  • crates/zclaw-hands/src/trigger.rs - 添加新触发类型
  • desktop/src-tauri/src/intelligence/heartbeat.rs - 触发评估钩子
  • desktop/src/components/CreateTriggerModal.tsx - 新触发类型配置

需要新增的文件:

  • crates/zclaw-hands/src/trigger_evaluator.rs

4.5 验证方案

# 创建语义触发器
# 类型: MemoryQuery
# memory_type: "task"
# content_pattern: "urgent"
# min_count: 3

# 添加 3 条包含 "urgent" 的任务记忆
# 验证 Hand 被触发

4.6 工作量估算

  • 总工时: 14 小时
  • 风险: 中等 - 复杂条件评估、状态同步
  • 可复用: PersistentMemoryStore, AgentIdentityManager, HeartbeatEngine

创新点 5: 记忆驱动身份演化 (Memory-Powered Persona Evolution)

5.1 概述

基于 Memory 模式自动调整 Persona提取用户偏好并更新 USER.md。

5.2 核心数据结构

// desktop/src-tauri/src/intelligence/persona_evolution.rs

/// 检测到的用户偏好
pub struct DetectedPreference {
    pub category: PreferenceCategory,
    pub value: String,
    pub confidence: f32,
    pub evidence: Vec<String>,
    pub occurrence_count: usize,
}

pub enum PreferenceCategory {
    CommunicationStyle,  // "concise", "detailed"
    Tone,               // "formal", "casual"
    Language,           // "zh-CN", "en-US"
    CodeStyle,          // "typescript", "python"
    DetailLevel,        // "summary", "step-by-step"
    WorkHours,          // "9-18", "flexible"
    Expertise,          // "frontend", "backend"
}

/// 身份变更提案
pub struct PersonaChangeProposal {
    pub id: String,
    pub agent_id: String,
    pub change_type: PersonaChangeType,
    pub proposed_value: String,
    pub confidence: f32,
    pub supporting_evidence: Vec<String>,
}

pub enum PersonaChangeType {
    UserProfileAddition,
    UserProfileUpdate,
    InstructionAddition,
    SoulModification,
}

5.3 偏好检测流程

Memory 分析 → 模式匹配 → 偏好聚合 → 提案生成 → 审批/自动应用

检测模式:

let patterns = [
    (r"偏好(.+?)(?:风格|方式|模式)", PreferenceCategory::CommunicationStyle),
    (r"喜欢用(.+?)(?:语言|代码)", PreferenceCategory::CodeStyle),
    (r"(?:说|写)(.+?)(?:一点|一些)", PreferenceCategory::DetailLevel),
];

5.4 实施步骤

阶段 任务 工时
Phase 1 核心类型 + 偏好检测 4h
Phase 2 Memory 分析集成 3h
Phase 3 Identity Manager 集成 4h
Phase 4 UI 组件 3h

需要新增的文件:

  • desktop/src-tauri/src/intelligence/persona_evolution.rs
  • desktop/src/components/PersonaEvolutionPanel.tsx

需要修改的文件:

  • desktop/src-tauri/src/intelligence/identity.rs - 添加演化钩子
  • desktop/src/components/IdentityChangeProposal.tsx - Persona 变更支持

5.5 验证方案

# 在对话中表达偏好:
# "我喜欢简洁的回答"
# "用中文回复"
# "先给代码再解释"

# 等待演化周期或手动触发
# 检查 USER.md 是否更新

5.6 工作量估算

  • 总工时: 14 小时
  • 风险: 中等 - NLP 模式准确性、提案相关性
  • 可复用: PersistentMemoryStore, AgentIdentityManager, Heartbeat 修正模式

创新点 6: 预测性记忆助手 (Predictive Memory Assistant)

6.1 概述

主动预加载相关记忆,基于对话轨迹预测用户需求。

6.2 核心数据结构

// desktop/src-tauri/src/intelligence/predictive_memory.rs

pub struct PredictiveConfig {
    pub enabled: bool,
    pub max_preload_count: usize,
    pub confidence_threshold: f32,
    pub context_window_size: usize,
    pub strategy: PreloadStrategy,
}

pub enum PreloadStrategy {
    KeywordMatching,
    SemanticSimilarity,
    TemporalPatterns,
    Hybrid,
}

/// 记忆预测结果
pub struct MemoryPrediction {
    pub memory_id: String,
    pub relevance_score: f32,
    pub prediction_reason: PredictionReason,
    pub matched_keywords: Vec<String>,
}

pub enum PredictionReason {
    KeywordMatch,
    SemanticSimilarity,
    TemporalRelevance,
    UserPattern,
    ContextAssociation,
}

6.3 预测引擎

impl PredictiveMemoryEngine {
    pub async fn predict(
        &mut self,
        agent_id: &str,
        recent_messages: &[ChatMessage],
    ) -> Result<Vec<MemoryPrediction>> {
        // 1. 从最近消息提取上下文
        let context = self.trajectory_analyzer.extract_context(recent_messages)?;

        // 2. 获取候选记忆
        let candidates = self.memory_store.search(query).await?;

        // 3. 评分排序
        let predictions: Vec<MemoryPrediction> = candidates
            .iter()
            .filter_map(|m| self.score_memory(m, &context))
            .sorted_by(|a, b| b.relevance_score.partial_cmp(&a.relevance_score))
            .take(self.config.max_preload_count)
            .collect();

        // 4. 预加载到缓存
        self.preload_cache.insert(agent_id.to_string(), memories);

        Ok(predictions)
    }
}

6.4 实施步骤

阶段 任务 工时
Phase 1 核心类型 + 基础预测 4h
Phase 2 Memory Store 集成 3h
Phase 3 聊天流程集成 3h
Phase 4 UI 指示器 2h

需要新增的文件:

  • desktop/src-tauri/src/intelligence/predictive_memory.rs

需要修改的文件:

  • desktop/src-tauri/src/kernel_commands.rs - 聊天流程钩子
  • desktop/src/components/MemoryPanel.tsx - 预测指示器

6.5 验证方案

# 1. 添加关于 "React" 和 "TypeScript" 的记忆
# 2. 开始对话提到 "frontend development"
# 3. 验证 React/TypeScript 记忆出现在预加载区域
# 4. 检查 LLM 响应是否使用预加载上下文

6.6 工作量估算

  • 总工时: 12 小时
  • 风险: 低中 - 预测准确性、性能影响
  • 可复用: PersistentMemoryStore, 聊天消息基础设施

总结:工作量与优先级

创新点 总工时 风险 优先级 关键依赖
1. 技能编排引擎 17h P0 SkillRegistry, PipelineExecutor
2. 可视化工作流构建器 17h P0 Pipeline YAML, React Flow
3. 自适应智能网格 17h 中高 P1 Heartbeat, Memory, Pipeline
4. 上下文感知触发 14h P1 Memory, IdentityManager
5. 记忆驱动身份演化 14h P1 Memory, IdentityManager
6. 预测性记忆助手 12h 低中 P2 Memory, Chat flow
总计 91h

建议实施顺序

  1. Week 1-2: 技能编排引擎 (P0) + 可视化工作流构建器 (P0)
  2. Week 3-4: 上下文感知触发 (P1) + 记忆驱动身份演化 (P1)
  3. Week 5-6: 自适应智能网格 (P1) + 预测性记忆助手 (P2)

实施进度报告 (2025-03-25)

已完成: P0 优先级创新点

1. 技能编排引擎 (Skill Orchestration Engine)

新增文件:

  • crates/zclaw-skills/src/orchestration/mod.rs - 模块入口
  • crates/zclaw-skills/src/orchestration/types.rs - 核心类型 (SkillGraph, SkillNode, SkillEdge, DataExpression)
  • crates/zclaw-skills/src/orchestration/validation.rs - 图验证、循环检测、拓扑排序
  • crates/zclaw-skills/src/orchestration/planner.rs - OrchestrationPlanner trait + PlanBuilder fluent API
  • crates/zclaw-skills/src/orchestration/executor.rs - SkillGraphExecutor trait + DefaultExecutor
  • crates/zclaw-skills/src/orchestration/context.rs - OrchestrationContext 执行上下文
  • crates/zclaw-skills/src/orchestration/auto_compose.rs - 自动组合算法 (Schema 匹配)
  • crates/zclaw-pipeline/src/actions/orchestration.rs - Pipeline 动作处理器

修改文件:

  • crates/zclaw-skills/Cargo.toml - 添加 regex, uuid 依赖
  • crates/zclaw-skills/src/lib.rs - 导出 orchestration 模块
  • crates/zclaw-pipeline/src/types.rs - 添加 SkillOrchestration Action 类型
  • crates/zclaw-pipeline/src/actions/mod.rs - 添加 OrchestrationActionDriver trait
  • crates/zclaw-pipeline/src/executor.rs - 处理 SkillOrchestration action

核心功能:

  • DAG (有向无环图) 执行模型
  • 拓扑排序确定执行顺序
  • 并行组识别优化性能
  • 数据表达式解析 (${inputs.xxx}, ${nodes.xxx.output})
  • 条件评估 (==, !=, exists)
  • 基于 Schema 匹配的自动技能组合

2. 可视化工作流构建器 (Visual Workflow Builder)

新增文件:

  • desktop/src/lib/workflow-builder/types.ts - 完整类型定义 (12 种节点类型)
  • desktop/src/lib/workflow-builder/yaml-converter.ts - 双向 YAML 转换器
  • desktop/src/store/workflowBuilderStore.ts - Zustand 状态管理
  • desktop/src/components/WorkflowBuilder/WorkflowBuilder.tsx - 主画布组件
  • desktop/src/components/WorkflowBuilder/NodePalette.tsx - 可拖拽节点面板
  • desktop/src/components/WorkflowBuilder/PropertyPanel.tsx - 属性编辑面板
  • desktop/src/components/WorkflowBuilder/WorkflowToolbar.tsx - 工具栏
  • desktop/src/components/WorkflowBuilder/nodes/InputNode.tsx - 输入节点
  • desktop/src/components/WorkflowBuilder/nodes/LlmNode.tsx - LLM 节点
  • desktop/src/components/WorkflowBuilder/nodes/SkillNode.tsx - 技能节点
  • desktop/src/components/WorkflowBuilder/nodes/HandNode.tsx - Hand 节点
  • desktop/src/components/WorkflowBuilder/nodes/ConditionNode.tsx - 条件节点
  • desktop/src/components/WorkflowBuilder/nodes/ParallelNode.tsx - 并行节点
  • desktop/src/components/WorkflowBuilder/nodes/ExportNode.tsx - 导出节点
  • desktop/src/components/WorkflowBuilder/nodes/HttpNode.tsx - HTTP 节点
  • desktop/src/components/WorkflowBuilder/nodes/OrchestrationNode.tsx - 编排节点

安装依赖:

  • @xyflow/react - React Flow 画布库
  • dagre, @dagrejs/dagre - 自动布局算法
  • js-yaml, @types/js-yaml - YAML 解析

核心功能:

  • 拖拽式节点放置
  • 可视化边连接
  • 属性面板编辑
  • YAML 双向转换
  • 拓扑排序验证
  • 循环检测
  • Dagre 自动布局

下一步工作

P1 优先级:

  • 自适应智能网格 (Adaptive Intelligence Mesh)
  • 上下文感知触发 (Context-Aware Hand Triggers)
  • 记忆驱动身份演化 (Memory-Powered Persona Evolution)

P2 优先级:

  • 预测性记忆助手 (Predictive Memory Assistant)