Files
zclaw_openfang/wiki/hands-skills.md
iven 36a1c87d87
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
docs(wiki): 重构为模块化知识库 — 按模块组织而非按文档类型
问题: 旧 wiki 按文档类型组织(architecture/data-flows/file-map),
修复 Butler Router 需要读 4 个文件才能拼凑全貌。
且 SaaS Relay 主路径 vs 本地降级的优先级描述不准确。

重构为模块化结构,每个模块页自包含:
- 设计思想: 为什么这样设计
- 代码逻辑: 数据流 + 关键代码
- 关联模块: 依赖关系

新增模块页:
- routing.md: 客户端路由 (明确 SaaS Relay 是主路径,不是本地模式)
- chat.md: 聊天系统 (3种实现 + Token Pool 中转机制)
- butler.md: 管家模式 (路由/冷启动/痛点/双模式UI)
- memory.md: 记忆管道 (提取→FTS5→检索→注入)
- saas.md: SaaS平台 (认证/Token池/计费/Admin)
- middleware.md: 中间件链 (14层 + 优先级)
- hands-skills.md: Hands(9) + Skills(75)
- pipeline.md: Pipeline DSL

删除旧文件: architecture.md, data-flows.md, module-status.md, file-map.md
(内容已分布到对应模块页中)

添加 .gitignore 排除 Obsidian 工作区状态文件
2026-04-11 00:36:26 +08:00

2.7 KiB

title, updated, status, tags
title updated status tags
Hands + Skills 2026-04-11 active
module
hands
skills

Hands + Skills

index 导航。关联模块: chat middleware

设计思想

Hands = 自主能力 (行动层), Skills = 知识技能 (认知层)

  • Hands: 浏览器自动化、数据收集、Twitter 操作等 — 执行动作
  • Skills: 75 个 SKILL.md 文件 — 语义路由匹配,增强 LLM 的领域知识
  • 触发: 用户请求 → LLM 判断需要执行 → 选择 Hand/Skill → 执行

代码逻辑

Hands (9 启用 + 2 禁用)

Hand 功能 依赖 配置
Browser 浏览器自动化 WebDriver hands/Browser/HAND.toml
Collector 数据收集聚合 hands/Collector/HAND.toml
Researcher 深度研究 LLM hands/Researcher/HAND.toml
Clip 视频处理 FFmpeg hands/Clip/HAND.toml
Twitter Twitter 自动化 OAuth 1.0a hands/Twitter/HAND.toml
Whiteboard 白板演示 hands/Whiteboard/HAND.toml
Slideshow 幻灯片生成 hands/Slideshow/HAND.toml
Speech 语音合成 Browser TTS hands/Speech/HAND.toml
Quiz 测验生成 hands/Quiz/HAND.toml
Predictor 预测分析 禁用 无 TOML/无 Rust 实现
Lead 销售线索 禁用 无 TOML/无 Rust 实现

触发流

UI 触发 → handStore.trigger(handName, params)
  → Tauri invoke('hand_trigger', { handName, params })
    → Kernel → Hand 执行
    → needs_approval? → 等待 approvalStore 确认
    → 执行结果 → Tauri Event emit
    → handStore 更新状态 + 记录日志

Skills (75 个)

skills/
├── SKILL_001_数据分析.md
├── SKILL_002_报告生成.md
├── ... (75 个 SKILL.md 文件)

每个 SKILL.md 定义:

  • 技能名称和描述
  • 触发条件
  • 执行步骤
  • 输入/输出格式

语义路由

crates/zclaw-skills/src/semantic_router.rs

用户消息 → SemanticSkillRouter
  → TF-IDF 计算消息与 75 个技能的相似度
  → 返回最匹配的技能
  → ButlerRouter 使用此结果增强 system prompt

关联模块

  • chat — 消息流中可能触发 Hand/Skill
  • butler — ButlerRouter 使用语义路由匹配技能
  • middleware — 技能注入通过中间件实现

关键文件

文件 职责
crates/zclaw-hands/src/ 9 个 Hand 实现
crates/zclaw-skills/src/semantic_router.rs TF-IDF 语义路由
skills/*.md 75 个技能定义
hands/*/HAND.toml Hand 配置
desktop/src/store/handStore.ts 前端 Hand 状态
desktop/src/store/approvalStore.ts 审批状态