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

@@ -132,8 +132,8 @@ impl BrowserHand {
Self {
config: HandConfig {
id: "browser".to_string(),
name: "Browser".to_string(),
description: "Web browser automation for navigation, interaction, and scraping".to_string(),
name: "浏览器".to_string(),
description: "网页浏览器自动化,支持导航、交互和数据采集".to_string(),
needs_approval: false,
dependencies: vec!["webdriver".to_string()],
input_schema: Some(serde_json::json!({

View File

@@ -170,8 +170,8 @@ impl ClipHand {
Self {
config: HandConfig {
id: "clip".to_string(),
name: "Clip".to_string(),
description: "Video processing and editing capabilities using FFmpeg".to_string(),
name: "视频剪辑".to_string(),
description: "使用 FFmpeg 进行视频处理和编辑".to_string(),
needs_approval: false,
dependencies: vec!["ffmpeg".to_string()],
input_schema: Some(serde_json::json!({

View File

@@ -113,8 +113,8 @@ impl CollectorHand {
Self {
config: HandConfig {
id: "collector".to_string(),
name: "Collector".to_string(),
description: "Data collection and aggregation from web sources".to_string(),
name: "数据采集器".to_string(),
description: "从网页源收集和聚合数据".to_string(),
needs_approval: false,
dependencies: vec!["network".to_string()],
input_schema: Some(serde_json::json!({

View File

@@ -261,8 +261,8 @@ impl QuizHand {
Self {
config: HandConfig {
id: "quiz".to_string(),
name: "Quiz".to_string(),
description: "Generate and manage quizzes for assessment".to_string(),
name: "测验".to_string(),
description: "生成和管理测验题目,评估答案,提供反馈".to_string(),
needs_approval: false,
dependencies: vec![],
input_schema: Some(serde_json::json!({

View File

@@ -142,8 +142,8 @@ impl ResearcherHand {
Self {
config: HandConfig {
id: "researcher".to_string(),
name: "Researcher".to_string(),
description: "Deep research and analysis capabilities with web search and content fetching".to_string(),
name: "研究员".to_string(),
description: "深度研究和分析能力,支持网络搜索和内容获取".to_string(),
needs_approval: false,
dependencies: vec!["network".to_string()],
input_schema: Some(serde_json::json!({

View File

@@ -156,8 +156,8 @@ impl SlideshowHand {
Self {
config: HandConfig {
id: "slideshow".to_string(),
name: "Slideshow".to_string(),
description: "Control presentation slides and highlights".to_string(),
name: "幻灯片".to_string(),
description: "控制演示文稿的播放、导航和标注".to_string(),
needs_approval: false,
dependencies: vec![],
input_schema: Some(serde_json::json!({

View File

@@ -149,8 +149,8 @@ impl SpeechHand {
Self {
config: HandConfig {
id: "speech".to_string(),
name: "Speech".to_string(),
description: "Text-to-speech synthesis for voice output".to_string(),
name: "语音合成".to_string(),
description: "文本转语音合成输出".to_string(),
needs_approval: false,
dependencies: vec![],
input_schema: Some(serde_json::json!({

View File

@@ -205,8 +205,8 @@ impl TwitterHand {
Self {
config: HandConfig {
id: "twitter".to_string(),
name: "Twitter".to_string(),
description: "Twitter/X automation capabilities for posting, searching, and managing content".to_string(),
name: "Twitter 自动化".to_string(),
description: "Twitter/X 自动化能力,发布、搜索和管理内容".to_string(),
needs_approval: true, // Twitter actions need approval
dependencies: vec!["twitter_api_key".to_string()],
input_schema: Some(serde_json::json!({

View File

@@ -180,8 +180,8 @@ impl WhiteboardHand {
Self {
config: HandConfig {
id: "whiteboard".to_string(),
name: "Whiteboard".to_string(),
description: "Draw and annotate on a virtual whiteboard".to_string(),
name: "白板".to_string(),
description: "在虚拟白板上绘制和标注".to_string(),
needs_approval: false,
dependencies: vec![],
input_schema: Some(serde_json::json!({