OpenFang Hands 配置指南

13分钟阅读

Hands 是 OpenFang 的可组合自动化能力模块。本文详解七个内置 Hands 的功能定位、配置语法、适用场景和资源消耗,并提供两个生产级组合案例:自动化内容运营流水线和销售情报系统。每个 Hand 都配有完整的 TOML 配置示例,可直接复制使用。

OpenFang Hands 配置指南:掌握七大自动化能力模块

Slug: openfang-hands-config-guide 分类: usage-guides (使用指南) 目标关键词: OpenFang Hands, OpenFang 自动化模块, OpenFang Agent 配置 搜索意图: 信息型(用户想了解和使用 OpenFang Hands) 目标字数: ~2000 字 语言: zh


什么是 Hands?

Hands 是 OpenFang 的核心概念——每个 Hand 代表一个独立的、可组合的自动化能力模块。就像瑞士军刀的每一层工具,你可以根据需求启用、禁用和组合不同的 Hands。

与单体 Agent 设计不同,OpenFang 的 Hands 架构让每个自动化任务运行在独立的沙箱中,互不干扰。一个 Hand 崩溃不会影响其他正在运行的任务。这种设计在保持轻量级的同时,提供了企业级的稳定性。

目前 OpenFang 提供七个内置 Hands,覆盖了从数据采集到内容生产的完整自动化链路。

七大 Hands 概览

Hand功能适用场景资源消耗
Clip视频/音频内容自动化内容创作者、媒体监控
Lead销售线索挖掘销售团队、市场营销
Collector情报监控与采集竞品分析、行业研究
Predictor趋势预测投资分析、市场研究
Researcher深度研究学术研究、报告撰写
Twitter + Browser社交媒体与网页自动化社媒运营、数据抓取
Multi-Agent多 Agent 编排复杂工作流、企业自动化

通用配置结构

所有 Hands 共享一套通用配置语法:

toml
[hands.clip]enabled = true                    # 启用/禁用schedule = "0 */6 * * *"         # Cron 调度表达式timeout = 300                     # 超时时间(秒)retry = 3                         # 失败重试次数notify_on = ["error", "complete"] # 通知策略workspace = "./hands/clip"        # 独立工作目录

Hand 1: Clip — 视频与音频自动化

Clip 是内容创作者的利器,可以自动处理视频和音频内容:

toml
[hands.clip]enabled = trueschedule = "0 9 * * 1-5"        # 工作日每天早上 9 点[hands.clip.sources]youtube_channels = ["@techreview", "@aiexplained"]podcast_feeds = ["https://example.com/feed.xml"][hands.clip.outputs]formats = ["summary", "transcript", "key_points"]languages = ["zh", "en"]max_duration = 3600              # 最长处理 1 小时的视频

Clip 的核心能力是将长视频/音频转化为结构化文本。它会自动拉取新内容,生成摘要、关键点和完整文字稿。适合需要跟踪大量视频频道的团队。

Hand 2: Lead — 销售线索挖掘

Lead 专注于从公开数据源中识别和提取潜在客户信息:

toml
[hands.lead]enabled = trueschedule = "0 */8 * * *"         # 每 8 小时运行一次[hands.lead.filters]industries = ["SaaS", "Fintech", "HealthTech"]company_size = "10-500"signals = ["job_posting:AI", "funding_round", "tech_stack_change"]exclude_existing = true           # 排除已有客户[hands.lead.outputs]format = "crm_ready"             # 输出格式兼容主流 CRMmax_leads_per_run = 50

Lead 的工作方式是扫描多个信号源——招聘信息、融资新闻、技术栈变更——来识别有购买意向的潜在客户。所有线索会以 CRM 就绪的格式输出,可直接导入 Salesforce 或 HubSpot。

Hand 3: Collector — 情报监控

Collector 是持续的、可定制的信息采集系统:

toml
[hands.collector]enabled = trueschedule = "0 * * * *"            # 每小时运行[hands.collector.targets]competitors = ["competitor-a.com", "competitor-b.com"]keywords = ["agent operating system", "AI automation platform"]news_sources = ["techcrunch.com", "theverge.com"][hands.collector.alerts]threshold = "high_confidence"     # 低置信度过滤dedup_window = "24h"              # 24 小时内不重复通知

Collector 与 Researcher 的区别在于:Collector 是持续的"雷达"——它一直在扫描,发现变化立即通知;Researcher 是定向的"探测器"——针对特定主题进行深度挖掘。

Hand 4: Predictor — 趋势预测

Predictor 是七个 Hands 中计算密集度最高的模块,它分析历史数据来预测趋势:

toml
[hands.predictor]enabled = trueschedule = "0 2 * * *"            # 每天凌晨 2 点运行(计算密集)[hands.predictor.models]time_series = "prophet"           # 时序预测模型sentiment = "finbert"             # 情感分析模型[hands.predictor.data_sources]reddit = ["r/MachineLearning", "r/technology"]arxiv = ["cs.AI", "cs.CL", "stat.ML"]github = ["trending"]

Predictor 的输出是一份结构化的趋势报告,包含新兴话题的热度曲线、情感倾向和置信区间。适合投资分析师和市场研究人员使用。

Hand 5: Researcher — 深度研究

Researcher 是最灵活的 Hand,能针对任意主题进行多源、多轮的深度研究:

toml
[hands.researcher]enabled = truetimeout = 600                     # 10 分钟超时(深度研究耗时较长)[hands.researcher.methods]search_depth = "deep"             # shallow / medium / deepsource_types = ["academic", "news", "social", "code"]cross_validation = true           # 跨源验证diversity_lenses = 3              # 多视角分析

Researcher 的输出是一份带完整引用的结构化报告,包括主要发现、对立观点、置信度评估和进一步研究方向。

Hand 6: Twitter + Browser

这个组合 Hand 提供了社交媒体和网页浏览的自动化能力:

toml
[hands.twitter]enabled = trueschedule = "0 */4 * * *"[hands.twitter.monitors]accounts = ["@OpenFangOS", "@AnthropicAI", "@rustlang"]hashtags = ["#AgentOS", "#RustLang", "#AIAutomation"]reply_policy = "manual_review"    # manual_review / auto / off[hands.browser]enabled = trueheadless = trueproxy = "${PROXY_URL}"user_agent = "OpenFang-Browser/1.0"

Twitter Hand 监控指定账号和话题标签,Browser Hand 提供完整的无头浏览器能力用于网页数据抓取。

Hand 7: Multi-Agent 编排

Multi-Agent Hand 可以将多个 Agent 编排为复杂工作流。这是从"单个 Agent"到"Agent 团队"的跨越:

toml
[hands.multi_agent]enabled = true[[hands.multi_agent.teams]]name = "content_pipeline"agents = ["researcher", "writer", "reviewer"]pipeline = [    { agent = "researcher", action = "research_topic" },    { agent = "writer", action = "draft_article", depends_on = ["researcher"] },    { agent = "reviewer", action = "fact_check", depends_on = ["writer"] },]

每个子 Agent 可以配置不同模型:Researcher 使用深度分析模型,Writer 使用创意型模型,Reviewer 使用严谨型模型。

Hands 组合使用案例

实际生产中,很少有只使用单个 Hand 的场景。以下是两个常见的组合案例:

案例一:自动化内容运营

text
Collector(监控热点)→ Researcher(深度调研)→ Clip(生成内容)→ Twitter(发布推广)

这套组合可以实现从话题发现到内容发布的完全自动化。Collector 每小时扫描行业热点,发现值得关注的话题后触发 Researcher 进行深度调研,调研报告交由 Clip 转化为文章/视频摘要,最后通过 Twitter 自动发布。

案例二:销售情报系统

text
Lead(挖掘线索)→ Researcher(调研公司)→ Collector(监控动态)→ 通知销售团队

Lead 每天从招聘信息、融资新闻中发现潜在客户,Researcher 对高优先级线索进行公司背景调研,Collector 持续监控已有线索的关键变化。整个流程的输出是一份"今日最佳 10 个销售机会"清单。

常见问题

Hands 可以自定义开发吗?
可以。OpenFang 提供了完整的 Hand SDK。你可以用 Rust 编写自定义 Hand 并通过 hands.custom 配置项加载。文档参考官方 Wiki 的 "Custom Hand Development" 章节。
Hand 之间的数据如何传递?
Hands 之间通过共享工作目录和消息队列传递数据。每个 Hand 的输出会写入约定的位置,下游 Hand 自动读取。对于复杂的数据流转,建议使用 Multi-Agent Hand 的 pipeline 模式。
最多能同时运行多少个 Hands?
这取决于你的硬件配置。在 4GB 内存的树莓派上,可以同时运行 3-5 个轻量级 Hands(Lead、Collector、Twitter)。在 16GB 内存的服务器上,可以同时运行所有七个 Hands。
如何监控 Hands 的运行状态?
``bash
openfang hands list # 列出所有 Hands 及状态
openfang hands logs clip # 查看指定 Hand 的日志
openfang hands stats # 查看 Hands 运行统计
``

所有 Hands 的运行指标也会暴露为 Prometheus 端点,方便接入 Grafana 监控。

下一步