feat: 新增技能编排引擎和工作流构建器组件
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: 添加测试文件验证工作区路径
This commit is contained in:
iven
2026-03-25 08:27:25 +08:00
parent 9c781f5f2a
commit aa6a9cbd84
110 changed files with 12384 additions and 1337 deletions

View File

@@ -3,7 +3,9 @@
> **分类**: Skills 生态
> **优先级**: P1 - 重要
> **成熟度**: L4 - 生产
> **最后更新**: 2026-03-16
> **最后更新**: 2026-03-24
> ✅ **实现更新**: Skills 动态扫描已实现。Kernel 集成了 `SkillRegistry`,支持通过 Tauri 命令 `skill_list` 和 `skill_refresh` 动态发现所有 **69 个**技能。**新增 `execute_skill` 工具**,允许 Agent 在对话中直接调用技能。
---
@@ -18,14 +20,38 @@ Skills 系统是 ZCLAW 的核心扩展机制,通过 SKILL.md 文件定义 Agen
| 分类 | Skills 生态 |
| 优先级 | P1 |
| 成熟度 | L4 |
| 依赖 | SkillDiscovery, AgentSwarm |
| 依赖 | SkillRegistry (Rust), SkillDiscoveryEngine (TypeScript) |
| SKILL.md 文件 | **69** |
| **动态发现技能** | **69 (100%)** |
| **execute_skill 工具** | **✅ 已实现** |
### 1.2 相关文件
### 1.2 动态扫描实现
**架构变更 (2026-03-24)**:
- Kernel 结构体添加 `skills: Arc<SkillRegistry>` 字段
- KernelConfig 添加 `skills_dir: Option<PathBuf>` 配置
- 新增 Tauri 命令 `skill_list``skill_refresh`
- 前端 `SkillDiscoveryEngine` 从后端动态加载技能
**数据流**:
```
kernel_init()
→ SkillRegistry::new()
→ SkillRegistry::add_skill_dir("skills/")
→ discover_skills() 扫描 SKILL.md
→ 前端调用 skill_list 获取技能
```
### 1.3 相关文件
| 文件 | 路径 | 用途 |
|------|------|------|
| 技能目录 | `skills/` | 74 个 SKILL.md |
| 发现引擎 | `desktop/src/lib/skill-discovery.ts` | 技能发现 |
| 技能目录 | `skills/` | 69 个 SKILL.md |
| Rust 注册中心 | `crates/zclaw-skills/src/registry.rs` | 技能注册和发现 |
| Rust 加载器 | `crates/zclaw-skills/src/loader.rs` | SKILL.md 解析 |
| Kernel 集成 | `crates/zclaw-kernel/src/kernel.rs` | Kernel 集成 SkillRegistry |
| Tauri 命令 | `desktop/src-tauri/src/kernel_commands.rs` | skill_list, skill_refresh |
| 前端发现引擎 | `desktop/src/lib/skill-discovery.ts` | 从后端加载技能 |
| 模板 | `skills/.templates/skill-template.md` | 技能模板 |
| 协调规则 | `skills/.coordination/` | 协作规则 |
@@ -219,7 +245,7 @@ const collaborationTriggers = [
| 指标 | 基线 | 目标 | 当前 |
|------|------|------|------|
| 技能数量 | 0 | 50+ | 74 |
| 技能数量 | 0 | 50+ | 69 |
| 发现准确率 | 0% | 80% | 75% |
| 技能使用率 | 0% | 60% | 50% |
@@ -229,14 +255,70 @@ const collaborationTriggers = [
### 5.1 已实现功能
- [x] 74 个技能定义
- [x] 73 SKILL.md 技能定义
- [x] 标准化模板
- [x] 发现引擎
- [x] 发现引擎 (静态注册 12 个核心技能)
- [x] 触发词匹配
- [x] 协作规则
- [x] Playbooks 集成
- [x] SkillMarket UI 组件
### 5.2 测试覆盖
### 5.2 技能分类统计
| 分类 | 数量 | 代表技能 |
|------|------|---------|
| 开发工程 | 15 | frontend-developer, backend-architect, ai-engineer |
| 测试/QA | 5 | code-review, api-tester, accessibility-auditor |
| 设计/UX | 5 | ui-designer, ux-architect, visual-storyteller |
| 安全 | 2 | security-engineer, legal-compliance-checker |
| 数据分析 | 5 | data-analysis, analytics-reporter, evidence-collector |
| 运维/DevOps | 4 | devops-automator, infrastructure-maintainer |
| 管理/PM | 8 | senior-pm, project-shepherd, agents-orchestrator |
| 营销/社媒 | 12 | twitter-engager, xiaohongshu-specialist, zhihu-strategist |
| 内容/写作 | 4 | chinese-writing, translation, content-creator |
| 研究 | 3 | trend-researcher, feedback-synthesizer |
| 商务/销售 | 3 | sales-data-extraction-agent, report-distribution-agent |
| 教育 | 2 | classroom-generator, agentic-identity-trust |
| 核心工具 | 4 | git, file-operations, web-search, shell-command |
### 5.3 实现说明
**✅ 已实现动态扫描 (2026-03-24)**:
- Kernel 集成 `SkillRegistry`,启动时自动扫描 `skills/` 目录
- 前端通过 Tauri 命令 `skill_list` 获取所有技能
- 支持 `skill_refresh` 命令重新扫描指定目录
- 73 个技能全部可被发现
**数据结构映射**:
```typescript
// 前端 SkillInfo (保留兼容)
interface SkillInfo {
id: string;
name: string;
description: string;
triggers: string[]; // 从 tags 映射
capabilities: string[];
toolDeps: string[]; // 后端暂无
installed: boolean; // 从 enabled 映射
category?: string; // 从 tags[0] 映射
version?: string;
mode?: string;
}
// 后端 SkillManifest (Rust)
struct SkillManifest {
id: SkillId,
name: String,
description: String,
version: String,
mode: SkillMode,
capabilities: Vec<String>,
tags: Vec<String>,
enabled: bool,
}
```
### 5.4 测试覆盖
- **单元测试**: 43 项 (swarm-skills.test.ts)
- **集成测试**: 完整流程测试