feat(hands): restructure Hands UI with Chinese localization

Major changes:
- Add HandList.tsx component for left sidebar
- Add HandTaskPanel.tsx for middle content area
- Restructure Sidebar tabs: 分身/HANDS/Workflow
- Remove Hands tab from RightPanel
- Localize all UI text to Chinese
- Archive legacy OpenClaw documentation
- Add Hands integration lessons document
- Update feature checklist with new components

UI improvements:
- Left sidebar now shows Hands list with status icons
- Middle area shows selected Hand's tasks and results
- Consistent styling with Tailwind CSS
- Chinese status labels and buttons

Documentation:
- Create docs/archive/openclaw-legacy/ for old docs
- Add docs/knowledge-base/hands-integration-lessons.md
- Update docs/knowledge-base/feature-checklist.md
- Update docs/knowledge-base/README.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
iven
2026-03-14 23:16:32 +08:00
parent 67e1da635d
commit 07079293f4
126 changed files with 36229 additions and 1035 deletions

70
hands/browser.HAND.toml Normal file
View File

@@ -0,0 +1,70 @@
# Browser Hand - 浏览器自动化能力包
#
# OpenFang Hand 配置示例
# 这个 Hand 提供浏览器自动化、网页抓取和交互能力
[hand]
name = "browser"
version = "1.0.0"
description = "浏览器自动化能力包 - 自动化网页操作和数据采集"
author = "ZCLAW Team"
type = "automation"
requires_approval = true # 浏览器操作需要审批
timeout = 600
max_concurrent = 2
tags = ["browser", "automation", "web-scraping", "selenium", "playwright"]
[hand.config]
# 浏览器引擎: chromium, firefox, webkit
browser_engine = "chromium"
# 是否使用无头模式
headless = true
# 页面加载超时(秒)
page_timeout = 30
# 是否加载图片
load_images = false
# 是否执行 JavaScript
enable_javascript = true
# User-Agent
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
# 代理配置 (可选)
# proxy = "http://127.0.0.1:7890"
[hand.triggers]
manual = true
schedule = false
webhook = true
[[hand.triggers.events]]
type = "chat.intent"
pattern = "打开网页|访问网站|抓取|爬取|browse|scrape|visit"
priority = 5
[hand.permissions]
requires = [
"browser.navigate",
"browser.click",
"browser.type",
"browser.screenshot",
"browser.evaluate",
"file.write"
]
roles = ["operator.read"]
[hand.rate_limit]
max_requests = 50
window_seconds = 3600
[hand.audit]
log_inputs = true
log_outputs = true
retention_days = 14

73
hands/lead.HAND.toml Normal file
View File

@@ -0,0 +1,73 @@
# Lead Hand - 销售线索发现能力包
#
# OpenFang Hand 配置示例
# 这个 Hand 自动发现和筛选销售线索
[hand]
name = "lead"
version = "1.0.0"
description = "销售线索发现和筛选能力包 - 自动识别潜在客户"
author = "ZCLAW Team"
type = "automation"
requires_approval = true # 线索操作需要审批
timeout = 600
max_concurrent = 1
tags = ["sales", "leads", "automation", "discovery", "qualification"]
[hand.config]
# 线索来源
sources = ["linkedin", "company_website", "crunchbase", "public_records"]
# 筛选条件
[hand.config.filters]
# 最小公司规模
min_company_size = 10
# 目标行业
industries = ["technology", "saas", "fintech", "healthcare"]
# 目标地区
regions = ["china", "north_america", "europe"]
# 评分权重
[hand.config.scoring]
company_fit = 0.4
engagement_likelihood = 0.3
budget_indication = 0.2
timing_signals = 0.1
[hand.triggers]
manual = true
schedule = true # 允许定时触发
webhook = true
# 定时触发:每天早上 9 点
[[hand.triggers.schedules]]
cron = "0 9 * * 1-5" # 工作日 9:00
enabled = true
timezone = "Asia/Shanghai"
[hand.permissions]
requires = [
"web.search",
"web.fetch",
"api.external",
"database.write"
]
roles = ["operator.read", "operator.write", "sales.read"]
[hand.approval]
# 审批流程配置
timeout_hours = 24
approvers = ["sales_manager", "admin"]
auto_approve_after_hours = 0 # 不自动批准
[hand.rate_limit]
max_requests = 100
window_seconds = 86400 # 每天
[hand.audit]
log_inputs = true
log_outputs = true
retention_days = 90 # 销售数据保留更久

View File

@@ -0,0 +1,96 @@
# Researcher Hand - 深度研究和分析能力包
#
# OpenFang Hand 配置示例
# 这个 Hand 提供深度研究、信息收集和分析能力
[hand]
name = "researcher"
version = "1.0.0"
description = "深度研究和分析能力包 - 执行复杂的多步研究任务"
author = "ZCLAW Team"
# Hand 类型: research, automation, data, communication
type = "research"
# 是否需要人工审批才能执行
requires_approval = false
# 默认超时时间(秒)
timeout = 300
# 最大并发执行数
max_concurrent = 3
# 能力标签
tags = ["research", "analysis", "web-search", "information-gathering"]
[hand.config]
# 搜索引擎配置
search_engine = "auto" # auto, google, bing, duckduckgo
max_search_results = 10
search_timeout = 30
# 研究深度: quick, standard, deep
depth = "standard"
# 是否保存研究历史
save_history = true
# 输出格式: markdown, json, summary
output_format = "markdown"
[hand.triggers]
# 触发器配置
manual = true # 允许手动触发
schedule = false # 不允许定时触发
webhook = false # 不允许 webhook 触发
# 事件触发器
[[hand.triggers.events]]
type = "chat.intent"
pattern = "研究|调查|分析|查找|search|research|investigate"
priority = 5
[hand.permissions]
# 权限要求
requires = [
"web.search",
"web.fetch",
"file.read",
"file.write"
]
# RBAC 角色要求
roles = ["operator.read", "operator.write"]
# 速率限制
[hand.rate_limit]
max_requests = 20
window_seconds = 3600 # 1 hour
# 审计配置
[hand.audit]
log_inputs = true
log_outputs = true
retention_days = 30
# 示例工作流步骤
[[hand.workflow]]
id = "search"
name = "搜索信息"
description = "使用搜索引擎查找相关信息"
[[hand.workflow]]
id = "extract"
name = "提取内容"
description = "从搜索结果中提取关键内容"
[[hand.workflow]]
id = "analyze"
name = "分析整理"
description = "分析和整理提取的信息"
[[hand.workflow]]
id = "report"
name = "生成报告"
description = "生成结构化的研究报告"