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
refactor: 统一Hands系统常量到单个源文件 refactor: 更新Hands中文名称和描述 fix: 修复技能市场在连接状态变化时重新加载 fix: 修复身份变更提案的错误处理逻辑 docs: 更新多个功能文档的验证状态和实现位置 docs: 更新Hands系统文档 test: 添加测试文件验证工作区路径
8.2 KiB
8.2 KiB
ZCLAW 功能完善计划
背景
根据功能验证结果,ZCLAW 项目存在以下需要完善的问题:
| 问题 | 严重程度 | 影响范围 |
|---|---|---|
| Hands 后端缺失 | 高 | 10/11 Hands 不可用 |
| Skills 动态扫描未实现 | 中 | 61 个技能无法被发现 |
| 自主授权模块分散 | 中 | 功能不完整 |
| LLM 集成未激活 | 中 | 高级功能受限 |
| 向量嵌入未使用 | 低 | 语义搜索不可用 |
一、Hands 后端实现计划
1.1 实现优先级
| 优先级 | Hand | 复杂度 | 工作量 | 理由 |
|---|---|---|---|---|
| P1 | Slideshow | 低 | 2-3天 | 实现简单,教育场景价值高 |
| P1 | Speech | 低 | 2-3天 | 实现简单,无障碍功能 |
| P1 | Quiz | 中 | 3-4天 | 教育场景核心功能 |
| P1 | Researcher | 中 | 3-5天 | 核心能力,用户需求高 |
| P1 | Collector | 中 | 3-5天 | 与 Researcher 协同 |
| P2 | Whiteboard | 中 | 4-6天 | 教育场景 |
| P2 | Clip | 高 | 5-7天 | 依赖 FFmpeg |
| P2 | 中 | 3-5天 | 需要外部 API Key | |
| P3 | Lead | 高 | 7-10天 | 依赖多个付费 API |
| P3 | Predictor | 高 | 7-14天 | ML 复杂度高 |
1.2 公共模块提取
desktop/src-tauri/src/hands/
├── mod.rs # 模块导出
├── common/
│ ├── http_client.rs # HTTP 客户端 (供 Researcher/Collector/Lead/Twitter)
│ ├── html_parser.rs # HTML 解析 (供 Researcher/Collector)
│ ├── scheduler.rs # 任务调度 (供支持 schedule 的 Hands)
│ └── approval.rs # 审批流程 (供 requires_approval 的 Hands)
├── slideshow/ # P1 - 幻灯片控制
├── speech/ # P1 - 语音合成
├── quiz/ # P1 - 测验系统
├── researcher/ # P1 - 深度研究
└── collector/ # P1 - 数据收集
1.3 参考实现
Browser Hand 已有完整实现,位于 desktop/src-tauri/src/browser/:
client.rs- 核心客户端 (494行)session.rs- 会话管理 (191行)commands.rs- Tauri 命令 (534行)actions.rs- 动作定义 (314行)error.rs- 错误类型 (90行)
二、Skills 动态扫描实现计划
2.1 当前问题
- 存在 73 个 SKILL.md 文件
skill-discovery.ts使用静态BUILT_IN_SKILLS数组(仅 12 个)- Rust 后端
SkillRegistry.discover_skills()已存在但未连接到 Tauri
2.2 实现方案
方案:后端扫描 + Tauri 命令暴露
Tauri 启动
↓
kernel_init()
↓
SkillRegistry::add_skill_dir("skills/")
↓
discover_skills() + parse_skill_md()
↓
kernel_list_skills 命令暴露
↓
前端调用 Tauri 命令
2.3 实现任务
| 任务 | 文件 | 工作量 |
|---|---|---|
| 增强 SKILL.md 解析器 | crates/zclaw-skills/src/loader.rs |
2-4小时 |
| 添加 skill_registry 到 Kernel | crates/zclaw-kernel/src/kernel.rs |
2-4小时 |
| 创建 kernel_list_skills 命令 | desktop/src-tauri/src/kernel_commands.rs |
1-2小时 |
| 更新前端调用 | desktop/src/store/configStore.ts |
2-3小时 |
| 添加索引缓存 | 新建文件 | 2-4小时 |
总工作量: 9-17 小时
三、智能层功能完善计划
3.1 自主授权管理器
当前状态: 功能分散在 HeartbeatConfig.proactivity_level
实现任务:
| 任务 | 工作量 |
|---|---|
创建 autonomy_manager.rs 模块 |
3天 |
| 定义操作风险分级 | 1天 |
| 扩展审批流程 | 2天 |
新建文件: desktop/src-tauri/src/intelligence/autonomy.rs
pub enum AutonomyLevel {
Supervised, // 所有操作需确认
Assisted, // 低风险自动,中高风险需确认
Autonomous, // 低中风险自动,高风险需确认
}
pub enum RiskLevel {
Low, // memory_save, reflection_run
Medium, // hand_trigger, skill_install
High, // memory_delete, identity_update
}
3.2 LLM 集成激活
当前状态:
compactor.rs:use_llm: falsereflection.rs:use_llm: true但未实际调用
实现任务:
| 任务 | 工作量 |
|---|---|
| 定义 LLM 客户端接口 | 2天 |
| 实现 Compactor LLM 摘要 | 2天 |
| 实现 Reflection LLM 分析 | 3天 |
| 添加降级策略 | 1天 |
3.3 向量嵌入
当前状态: PersistentMemory.embedding 字段已定义但未使用
实现任务:
| 任务 | 工作量 |
|---|---|
| 选择并集成 Embedding 模型 | 2天 |
| 实现语义搜索 | 2天 |
| 添加 FTS5 全文搜索 | 1天 |
| 实现混合搜索 | 2天 |
推荐模型: paraphrase-multilingual-MiniLM-L12-v2 (支持中文, 118MB)
四、实施时间线
Week 1-2: P0 基础设施
Week 1:
├── 统一自主授权管理器 (5天)
└── LLM 客户端接口 (2天)
Week 2:
├── Skills 动态扫描 (3天)
├── Compactor LLM 摘要 (2天)
└── Reflection LLM 分析 (开始)
Week 3-4: P1 Hands 实现
Week 3:
├── Slideshow Hand (2-3天)
├── Speech Hand (2-3天)
└── Quiz Hand (开始)
Week 4:
├── Quiz Hand (完成)
├── Researcher Hand (3-5天)
└── Collector Hand (开始)
Week 5-6: P1 智能层 + P2 Hands
Week 5:
├── Collector Hand (完成)
├── Embedding 模型集成 (2天)
└── 语义搜索实现 (2天)
Week 6:
├── Whiteboard Hand (4-6天)
├── Clip Hand (开始)
└── Twitter Hand (开始)
五、关键文件清单
需要修改的文件
| 文件 | 修改内容 |
|---|---|
desktop/src-tauri/src/intelligence/mod.rs |
添加 autonomy 模块 |
desktop/src-tauri/src/intelligence/compactor.rs |
激活 LLM 摘要 |
desktop/src-tauri/src/intelligence/reflection.rs |
实现 LLM 分析 |
desktop/src-tauri/src/memory/persistent.rs |
添加向量搜索 |
desktop/src-tauri/src/kernel_commands.rs |
添加 skill_list 命令 |
desktop/src-tauri/src/lib.rs |
注册新命令 |
desktop/src/store/configStore.ts |
更新技能加载逻辑 |
docs/features/05-hands-system/00-hands-overview.md |
更新实现状态 |
需要新建的文件
| 文件 | 用途 |
|---|---|
desktop/src-tauri/src/intelligence/autonomy.rs |
自主授权管理器 |
desktop/src-tauri/src/intelligence/llm_client.rs |
LLM 客户端接口 |
desktop/src-tauri/src/hands/mod.rs |
Hands 模块入口 |
desktop/src-tauri/src/hands/common/*.rs |
公共模块 |
desktop/src-tauri/src/hands/slideshow/*.rs |
Slideshow Hand |
desktop/src-tauri/src/hands/speech/*.rs |
Speech Hand |
desktop/src-tauri/src/hands/quiz/*.rs |
Quiz Hand |
desktop/src-tauri/src/hands/researcher/*.rs |
Researcher Hand |
desktop/src-tauri/src/hands/collector/*.rs |
Collector Hand |
六、验证方法
单元测试
# Rust 测试
cd desktop/src-tauri
cargo test
# TypeScript 测试
cd desktop
pnpm vitest run
集成测试
# 启动应用
pnpm desktop
# 验证 Skills 动态扫描
# - 打开技能市场
# - 确认显示 73 个技能
# 验证 Hands
# - 触发 Slideshow Hand
# - 触发 Speech Hand
# - 触发 Quiz Hand
# 验证智能层
# - 测试 LLM 摘要功能
# - 测试语义搜索
# - 测试自主授权级别
手动验证清单
- Skills 市场显示全部 73 个技能
- Slideshow Hand 可控制幻灯片
- Speech Hand 可进行语音合成
- Quiz Hand 可生成测验
- Researcher Hand 可执行研究任务
- Collector Hand 可收集数据
- LLM 摘要生成正常
- 语义搜索返回相关结果
- 自主授权级别切换正常
七、风险评估
| 风险 | 影响 | 缓解措施 |
|---|---|---|
| Embedding 模型体积大 | 下载存储成本 | 提供模型管理,支持用户选择 |
| LLM API 调用成本 | 频繁使用增加费用 | 配置阈值,提供降级策略 |
| 外部 API 依赖 | Twitter/Lead 需付费 | 标注为可选功能 |
| FFmpeg 依赖 | Clip Hand 需预装 | 检测依赖并提示用户 |
八、成功标准
| 指标 | 当前 | 目标 |
|---|---|---|
| 可用 Hands | 1/11 (9%) | 6/11 (55%) |
| 可发现 Skills | 12/73 (16%) | 73/73 (100%) |
| LLM 功能激活 | 0% | 100% |
| 语义搜索 | 不可用 | 可用 |
| 自主授权 | 分散 | 统一管理 |