refactor: 统一Hands系统常量到单个源文件 refactor: 更新Hands中文名称和描述 fix: 修复技能市场在连接状态变化时重新加载 fix: 修复身份变更提案的错误处理逻辑 docs: 更新多个功能文档的验证状态和实现位置 docs: 更新Hands系统文档 test: 添加测试文件验证工作区路径
31 KiB
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) |
| ⚠️ | 自动化 (需 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 编辑器,降低非技术用户门槛
实现路径:
- 节点类型: Input, LLM, Skill, Hand, Condition, Parallel, Export
- YAML 双向生成
- 模板库 + 自定义
可行性: 技术难度中 | 商业价值极高 | 用户需求极高
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 月)
- 可视化工作流构建器 - 大众化入口
- 技能编排引擎 - 核心差异化
- 技能市场 MVP - 生态基础
Phase 2: 智能 (2-3 月)
- 自适应智能网格 - 个性化
- 上下文感知触发 - 真正自动化
- 记忆驱动身份演化 - 身份进化
Phase 3: 规模 (3-6 月)
- Pipeline-Skill 桥接 - 工作流集成
- 协作工作空间 - 团队功能
- 智能LLM路由 - 成本优化
- 预测性记忆 - 体验增强
七、架构瓶颈与改进
| 瓶颈 | 现状 | 改进方向 |
|---|---|---|
| Pipeline-Skill 集成 | 单向调用 | 双向感知 |
| Memory 索引 | 关键词匹配 | 语义嵌入 |
| Hand 触发系统 | 手动/定时 | 语义条件 |
| 状态同步 | 单用户 | CRDT 协作 |
| LLM 抽象 | Provider 特定 | 统一路由层 |
八、商业化差异化
- 本地优先隐私 - 数据不离本地 (vs ChatGPT/Claude)
- 69+ 专业技能 - 超越通用助手
- Pipeline DSL - 独特工作流自动化
- Memory + Identity - 持续进化的 AI 伙伴
- 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
下一步建议:
- 优先实现 可视化工作流构建器 和 技能编排引擎
- 启动 技能市场 MVP 建立生态
- 逐步完善智能层协同效应
第二部分:详细实施计划
本部分包含 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::SkillOrchestrationcrates/zclaw-pipeline/src/executor.rs- 处理新 Action 类型
需要新增的文件:
crates/zclaw-skills/src/orchestration/mod.rscrates/zclaw-skills/src/orchestration/types.rscrates/zclaw-skills/src/orchestration/validation.rscrates/zclaw-skills/src/orchestration/planner.rscrates/zclaw-skills/src/orchestration/executor.rscrates/zclaw-skills/src/orchestration/context.rscrates/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.rsdesktop/src-tauri/src/intelligence/pattern_detector.rsdesktop/src-tauri/src/intelligence/recommender.rsdesktop/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.rsdesktop/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 |
建议实施顺序
- Week 1-2: 技能编排引擎 (P0) + 可视化工作流构建器 (P0)
- Week 3-4: 上下文感知触发 (P1) + 记忆驱动身份演化 (P1)
- 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 APIcrates/zclaw-skills/src/orchestration/executor.rs- SkillGraphExecutor trait + DefaultExecutorcrates/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 traitcrates/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)