快速摘要
OpenFang 是一个基于 Rust 构建的开源 Agent 操作系统(Agent OS),它不是传统的聊天机器人框架,而是一套让 AI Agent 能够 24 小时自主运行的完整基础设施。 整套系统编译成一个约 32MB 的单一二进制文件,内置 7 个名为"Hands"的预构建自主能力包、16 层独立安全机制、40 个消息通道适配器、53 个内置工具,以及对 27 家大语言模型供应商的支持。如果你正在寻找一个能让 Agent 按计划自动执行任务并输出结果的框架,而不仅仅是一个"你问它答"的对话工具,那 OpenFang 值得你认真研究。往下看,莫潇羽@无忆研习社 为你做了更详细的拆解。
一、Agent 框架正在经历怎样的进化?
2025 年下半年以来,AI Agent 领域的发展节奏明显加快了。先是微软的 AutoGen 和 CrewAI 这类用 Python 编写的多 Agent 协调框架引发了第一波关注,它们让开发者可以定义多个 Agent 角色并让它们协作完成复杂任务。紧接着,OpenClaw(原 Clawdbot,最早由奥地利开发者 Peter Steinberger 创建)凭借其开源特性和丰富的消息平台整合能力迅速走红。OpenClaw 支持 WhatsApp、Telegram、Slack、Discord 等十多个主流通讯平台,让你可以在日常使用的聊天工具里直接和 AI 助手对话交互,这种"无处不在"的体验让它在全球开发者群体中获得了极高的人气。再到后来 ZeroClaw 用 Rust 语言对 Agent 框架进行了性能层面的重新思考,把内存占用压到了 5MB、冷启动时间降到了 10 毫秒级别,直接在运行效率上甩开了 OpenClaw 一大截。
但如果你仔细观察这些工具的实际使用方式,会发现它们本质上依然是"被动响应型"的:你发一条消息,Agent 处理一条消息,然后等你发下一条。整个交互模式都是"人来驱动"的——人不动,Agent 就不动。这就像雇了一个能力超强的助手,但他只会在你明确开口的时候才开始工作,你不说话,他就安静地坐在那里等着你的下一个指令。即使是功能最丰富的 OpenClaw,它的 Agent 本质上还是一个"你问我答"的对话式助手,并不具备主动规划和自主持续执行的能力。
OpenFang 想要改变的正是这件事。它追求的不是"更快地回答你的问题",而是"在你没有提问的时候,也能按照预设的计划自主地完成工作并交付结果"。
它在 2026 年 2 月正式开源,项目仓库地址为 https://github.com/RightNow-AI/openfang,由 RightNow AI 的创始人 Jaber 主导开发。整个代码库有 137,000 行 Rust 代码,14 个 crate(Rust 的模块化组织单位),超过 1,767 个测试用例,代码检查工具 Clippy 的警告数为零——这在 Rust 社区中意味着代码质量达到了非常高的标准。项目采用 MIT 和 Apache-2.0 双许可证,也就是说你可以自由使用、修改和分发,无论是个人项目还是商业应用都没有许可证方面的障碍。
为什么选择 Rust 而不是 Python?这是很多读者可能会有的疑问。毕竟目前市面上主流的 Agent 框架——AutoGen、CrewAI、LangGraph——清一色都是 Python 写的。Python 的优势在于开发效率高、生态丰富、上手门槛低,但它的劣势在长时间运行的后台服务场景中会被放大:Python 的解释执行带来的性能开销、GIL(全局解释器锁)对并发的限制、动态类型在大型系统中容易引入的运行时错误——这些在一个需要 24 小时不间断运行、同时管理多个自主 Agent 的系统中,都会成为真实的痛点。而 Rust 作为一门系统级编程语言,在内存安全、并发性能和运行效率方面有着天然的优势,非常适合构建这类长期运行的基础设施软件。
在莫潇羽@无忆研习社看来,OpenFang 的出现代表了 Agent 框架进化的第三个阶段:第一阶段是"打功能"(谁能接更多的平台、调更多的模型),第二阶段是"打性能"(谁启动更快、内存更小),现在进入第三阶段——"打自动化流程的完整度"。也就是说,Agent 不再只是一个工具,而是要成为一个能自己运转的系统。
二、OpenFang 的核心定位:不是聊天框架,是 Agent 操作系统
要理解 OpenFang,首先要搞清楚它自己的定位——这一点官方说得很明确:
OpenFang 不是一个聊天机器人框架(Chatbot Framework),不是一个套了层壳的 Python LLM 封装,也不是一个"多 Agent 编排器"。它是一个面向自主 Agent 的完整操作系统,从头开始用 Rust 构建。
这个"操作系统"的说法并不只是营销话术,它确实在架构上借鉴了操作系统的设计理念。我们来看一下它的 14 个 crate 是怎么分工的:
openfang-kernel → 编排调度、工作流引擎、资源计量、RBAC 权限控制、任务调度器、预算追踪
openfang-runtime → Agent 运行循环、3 个 LLM 驱动器、53 个工具、WASM 沙箱、MCP 协议、A2A 通信
openfang-api → 140+ REST/WebSocket/SSE 端点、兼容 OpenAI 的 API、Dashboard 面板
openfang-channels → 40 个消息平台适配器、速率限制、私信/群组策略
openfang-memory → SQLite 持久化存储、向量嵌入、会话管理、自动压缩
openfang-types → 核心类型定义、污点追踪、Ed25519 清单签名、模型目录
openfang-skills → 60 个内置技能、SKILL.md 解析器、FangHub 市场
openfang-hands → 7 个自主 Hands、HAND.toml 解析器、生命周期管理
openfang-extensions → 25 个 MCP 模板、AES-256-GCM 加密凭证库、OAuth2 PKCE 流程
openfang-wire → OFP 点对点协议、HMAC-SHA256 双向认证
openfang-cli → CLI 命令行工具、后台守护进程管理、TUI 面板、MCP 服务器模式
openfang-desktop → 基于 Tauri 2.0 的桌面应用(系统托盘、通知、全局快捷键)
openfang-migrate → 支持从 OpenClaw、LangChain、AutoGPT 迁移的引擎
openfang-xtask → 构建任务自动化
如果你熟悉操作系统的结构,会发现这跟一个 OS 的分层非常相似:kernel 负责核心调度,runtime 相当于进程运行环境,channels 类似于 I/O 子系统,memory 就是存储管理,wire 是网络层,desktop 是用户界面层。这不是巧合,而是有意为之的架构设计。
对我们普通开发者来说,这意味着什么?意味着 OpenFang 不是一个"脚本工具",而是一个可以持续运行的后台服务。你把它启动之后,它就像一个操作系统一样在那里跑着,里面的 Agent 按照各自的任务计划自主运转。
三、Hands:OpenFang 最核心的创新
如果只用一个词来概括 OpenFang 最大的亮点,那就是 Hands。
Hands(直译为"手",意为"执行者")是 OpenFang 的核心创新概念——它们是预构建的自主能力包(Pre-built Autonomous Capability Packages),能够按照预设的计划独立运行,不需要你每次都去输入提示词来触发。
3.1 Hands 和普通 Agent 到底有什么区别?
这里莫潇羽@无忆研习社用一个通俗的类比来帮大家理解:
普通 Agent 就像一个"随叫随到的外卖员"——你下单了他才出发,你不下单他就站在那里等着。整个流程是:你发指令 → Agent 接收 → Agent 执行 → 返回结果 → 等待下一次指令。
而 Hands 更像是"公司里一个有完整 SOP 的正式员工"——你跟他说清楚目标和规则,他就自己按流程去做了。每天几点开始工作、做什么事、做完把结果放哪里、遇到什么情况要来跟你请示——这些全都提前定义好了,不需要你每次都去盯着。
技术上看,每个 Hand 内部打包了四样关键组件:
- HAND.toml 清单文件:声明这个 Hand 需要哪些工具、参数设置、依赖要求,以及 Dashboard 上需要显示哪些指标。相当于这个"员工"的岗位职责说明书。
- System Prompt 系统提示词:这不是简单的一两句话,而是 500 字以上的多阶段操作流程手册。它详细规定了 Hand 在不同阶段应该如何思考和行动。
- SKILL.md 专家知识库:在运行时注入到上下文中的领域专业知识,让 Hand 具备特定领域的判断能力。
- Guardrails 安全护栏:对敏感操作设置审批门槛。比如 Browser Hand 在涉及任何消费操作时,会强制暂停等待人工确认。
所有这些内容都被编译进了二进制文件本身,不需要额外下载、不需要 pip install、不需要 Docker pull。
3.2 内置的 7 个 Hands 详细介绍
OpenFang 目前内置了 7 个 Hands,覆盖了从信息收集、内容创作到网页自动化的多种场景。下面逐一拆解它们的工作原理和适用场景。
Collector(情报收集员)
Collector 是一个 OSINT(开源情报)级别的信息收集与监控 Hand。你给它指定一个目标——可以是某家公司、某个人物、某个行业话题——它就会持续不断地在后台进行自动化的信息监控和分析工作。
具体来说,Collector 在运行期间会自动执行以下几类任务:首先是变化检测,它会定期检查目标的公开信息源,识别哪些内容发生了更新或变化;其次是情感分析,通过自然语言处理技术来判断舆论风向是否在发生转变,比如某个品牌的用户评价是否突然变差了;第三是知识图谱构建,Collector 会把采集到的零散信息自动整理成结构化的关联网络,帮助你看清各个信息点之间的关系;最后是关键告警推送,一旦发现目标出现重大变化或异常情况,它会立即通过你配置的通知通道(比如 Telegram 或邮件)来告知你。
举个实际的应用场景:假设你是一名产品经理,需要持续关注竞品的动态。你可以给 Collector 指定几家竞品公司,它就会自动监控这些公司的官网更新、新闻报道、社交媒体动态、产品发布等信息,一旦有重要变化就推送给你。而你需要做的,仅仅是最初设定好监控目标而已。这种"设好就不用管"的工作方式,正是 Hands 和传统 Agent 最根本的区别。
Lead(线索挖掘员)
Lead 是一个自主运行的潜在客户发现引擎,特别适合做市场拓展和商务开发的团队使用。它每天会自动执行一轮完整的工作流程:首先扫描网络上的公开信息,发现匹配你理想客户画像(ICP,Ideal Customer Profile)的潜在目标;然后对发现的每个目标进行深度的网络调研,收集联系方式、公司规模、行业定位、近期动态等信息来丰富数据维度;接着用一套内置的评分模型对每个目标按 0 到 100 分进行量化评分,分数越高表示越匹配你的需求;然后和你现有的数据库进行自动去重处理,避免重复录入;最后以 CSV、JSON 或 Markdown 格式打包好交付给你。
更值得一提的是,Lead 具备学习能力。它会随着时间推移不断根据你的反馈来优化和完善 ICP 画像,你用得越多,它对"什么样的客户才是你真正想要的"理解得就越精准。这种持续学习、持续优化的特性,让 Lead 不会像一次性的脚本工具那样,需要你反复手动调整筛选条件。
Researcher(深度调研员)
Researcher 是一个面向严肃研究场景的 Hand。它不是简单地搜索一下然后罗列几条搜索结果,而是采用了学术界广泛认可的 CRAAP 评估标准来进行系统化的信息可信度评估:
- Currency(时效性):信息发布或更新的时间是否足够近?过时的信息可能已经不再准确。
- Relevance(相关性):信息的内容是否与当前调研的主题直接相关?很多搜索结果看似相关但实际上偏离了核心问题。
- Authority(权威性):信息的发布者或来源是否具有该领域的专业资质和公信力?
- Accuracy(准确性):信息中陈述的事实是否有可靠的数据或证据支撑?是否存在明显的错误或夸大?
- Purpose(目的性):信息发布者的意图是什么?是客观报道、学术研究,还是带有商业推广或政治宣传的目的?
Researcher 在工作过程中会从多个不同的信息源收集数据,然后用以上五个维度对每条信息进行交叉验证和可信度打分。只有通过了可信度评估的信息才会被纳入最终的研究报告。生成的报告采用 APA 格式的规范引用,每一个关键结论都标注了具体的信息来源,让你可以追溯和验证。
Researcher 还支持多语言输入和输出,你可以让它去调研一个英文或日文的话题,然后用中文输出研究报告,在跨语言的信息获取场景中非常实用。
Clip(视频剪辑员)
Clip 是一个全自动的视频内容处理和再创作 Hand。它面向的是短视频内容创作场景——你给它一个长视频的链接(比如一个 YouTube 的教程视频或者一场会议的录像),它会自动完成 8 个阶段的完整处理流水线:
第一阶段是视频下载,使用 yt-dlp 工具从各大视频平台获取原始视频文件。第二阶段是内容分析,Agent 会"看"完整个视频,理解其内容结构和叙事逻辑。第三阶段是高光识别,从整段视频中找出最精彩、最有传播价值的片段。第四阶段是格式裁剪,将横屏的原始视频裁剪为适合手机观看的竖屏短视频格式。第五阶段是字幕生成,通过 STT(语音转文字)技术自动生成字幕——Clip 支持 5 种不同的 STT 后端引擎供你选择。第六阶段是封面设计,自动从视频中提取或生成具有吸引力的封面缩略图。第七阶段是可选的 AI 配音,可以根据需要为短视频添加 AI 生成的旁白解说。第八阶段是自动发布,将最终成品推送到你配置好的平台(如 Telegram、WhatsApp 等)。
底层使用的是业界标准的 FFmpeg 进行视频编解码和处理,yt-dlp 负责视频的下载获取,整个流水线从头到尾全程无需人工介入。这对于需要大量产出短视频内容的场景来说,可以极大地提升效率。
Predictor(预测分析员)
Predictor 是一个"超级预测者"引擎。它从多个信息源收集信号,构建校准过的推理链条,给出带有置信区间的预测结果。更有意思的是,它会用 Brier 评分来追踪自己的预测准确度——也就是说,它会给自己"打分",并且不断校准自己的判断。
Predictor 还内置了一个"对赌模式"(Contrarian Mode),会刻意从相反的角度来论证,防止分析陷入单一思维定势。
Twitter(社交媒体管理员)
Twitter Hand 是一个自主的社交媒体账号管理工具。它能够以 7 种不同的内容格式轮换创作,在最优时间段安排发布,自动响应提及和评论,追踪内容表现指标。
但请注意一个重要的安全设计:所有内容发布前都必须经过审批队列,未经你确认的内容不会被发布出去。
Browser(网页操作员)
Browser Hand 是一个基于 Playwright 的网页自动化 Agent。它可以在网站上进行导航、填表、点击、处理多步骤工作流程,并且支持会话持久化(也就是登录状态可以保持)。
这里有一个非常关键的安全设计:Browser Hand 设置了强制性的消费审批门槛。只要操作涉及到任何金额支付,它会立即暂停并等待你的人工确认。AI 没有权限自己花钱,这在实际使用中是非常重要的安全保障。
3.3 如何激活和管理 Hands
Hands 的操作全部通过命令行完成,非常简洁:
# 激活 Researcher Hand,它会立即开始工作
openfang hand activate researcher
# 查看 Researcher 的运行状态和进度
openfang hand status researcher
# 激活 Lead Hand,按每日计划运行
openfang hand activate lead
# 暂停 Lead Hand(状态会被保存,不会丢失)
openfang hand pause lead
# 查看所有可用的 Hands
openfang hand list
这里要特别说明的是 pause 命令的设计。暂停一个 Hand 不会导致它的工作状态丢失,你可以随时恢复。这对于需要临时暂停某个监控任务、后续再继续的场景非常实用。
四、自己动手构建 Hand:HAND.toml 配置详解
除了内置的 7 个 Hands,OpenFang 允许你自己创建定制化的 Hand。这是通过编写一个 HAND.toml 配置文件来实现的,下面莫潇羽@无忆研习社为大家详细拆解这个过程。
4.1 HAND.toml 的基本结构
一个 HAND.toml 文件本质上是一个 TOML 格式的清单文件,它定义了这个 Hand 的"身份"和"行为规范"。虽然官方还没有公开完整的 HAND.toml 模板文档(毕竟 v0.1.0 刚发布),但根据已有的代码库和文档信息,我们可以推断出它的基本结构大致如下:
[hand]
name = "my-custom-hand"
version = "0.1.0"
description = "我的自定义 Hand,用于每天自动整理行业资讯"
[hand.schedule]
cron = "0 8 * * *" # 每天早上 8 点执行
[hand.tools]
required = ["web_search", "web_fetch", "file_write"]
optional = ["browser"]
[hand.settings]
max_sources = 20
output_format = "markdown"
language = "zh-CN"
[hand.dashboard]
metrics = ["articles_processed", "sources_checked", "last_run_time"]
[hand.guardrails]
require_approval = ["purchase", "post_public"]
这个配置文件告诉 OpenFang:这个 Hand 叫什么名字、什么时候运行、需要用到哪些工具、有哪些可调参数、在 Dashboard 上显示哪些指标、以及哪些操作需要人工审批。
4.2 配套的 SKILL.md 文件
除了 HAND.toml,每个 Hand 还需要一个 SKILL.md 文件作为领域知识库。这个文件会在运行时被注入到 Agent 的上下文中,相当于给 Agent 一本"专业参考手册"。
比如你创建了一个用于行业分析的 Hand,那 SKILL.md 里可以写上行业术语的解释、关键数据源的说明、分析框架的描述等等。这样 Agent 在执行任务时就有了专业知识的支撑,不会因为缺乏领域理解而产出低质量的结果。
4.3 发布到 FangHub
OpenFang 有一个叫做 FangHub 的技能市场,你构建好的 Hand 可以发布到上面供其他人使用。同时,OpenFang 也兼容 OpenClaw 的 ClawHub 市场,能够直接读取 SKILL.md 格式的技能文件。
五、16 层安全机制深度解析
Agent 的能力越大,安全问题就越关键。OpenFang 的 Hands 能操控浏览器、发布社交媒体内容、处理数据文件,这些操作所需的权限远远超过普通的聊天 Agent。
为此,OpenFang 设计了 16 层独立安全机制,每一层单独运作、互不依赖。这种"纵深防御"(Defense in Depth)的设计思路,在传统的开源 Agent 框架中是非常罕见的。下面逐一介绍其中最核心的几层。
5.1 WASM 双计量沙箱(第 1 层)
这是整个安全体系中最基础也最重要的一层。所有通过 Agent 调用的工具代码都运行在 WebAssembly(简称 WASM)沙箱环境中,而不是直接在你的主机操作系统上执行。
对于不太了解底层技术的读者,莫潇羽@无忆研习社 这里做一个通俗的解释。WebAssembly 是一种低级的二进制指令格式,最初设计用于在浏览器中高效运行编译后的代码。但随着技术的发展,WASM 已经超越了浏览器的范畴,被广泛应用于需要安全隔离执行的各类场景。
所谓"沙箱",你可以理解为一个"封闭的施工围挡"。运行在 WASM 沙箱里的代码只能访问被明确授权的资源,无法触及围挡外面的任何东西——不能读取你的文件系统、不能访问你的网络、不能调用系统命令,除非这些权限被明确赋予。这种隔离机制保证了即使某段代码有恶意行为或存在安全漏洞,它造成的影响也被限制在沙箱之内,不会蔓延到主机系统。
OpenFang 的 WASM 沙箱更进一步,采用了"双计量"(Dual Metering)机制来实现精细化的资源控制:
- 燃料计量(Fuel Metering):系统给每个工具的执行分配一定的"燃料"配额,就像给汽车加油一样,油用完了车就停下来。代码在沙箱中执行的每一步操作都会消耗一定量的燃料,当燃料耗尽时,执行会被自动终止。这个机制可以有效防止恶意代码或程序 Bug 导致的无限循环,避免占满系统资源。
- 纪元中断(Epoch Interruption):在燃料计量之外,OpenFang 还部署了一个独立的看门狗线程(Watchdog Thread)在后台持续监控每个工具的执行时间。如果某段代码的运行时间超过了预设的时间阈值,不管它的燃料是否用完,看门狗都会直接强制终止它。这提供了一个时间维度上的额外保障。
这两个机制双管齐下,从计算资源和执行时间两个维度来约束代码行为,确保即使某个工具出现了意料之外的问题,也不会影响到 OpenFang 整体系统的正常运行和其他 Agent 的工作。对于需要让 Agent 在无人值守的情况下长时间运行的场景来说,这种级别的安全保障是非常必要的。
5.2 Merkle 哈希链审计跟踪(第 2 层)
OpenFang 中的每一个操作都会被记录下来,并且每条记录都通过密码学哈希链与前一条记录关联。这就是所谓的 Merkle 审计跟踪。
原理其实不复杂:假设 Agent 执行了三个操作 A → B → C,那么 B 的记录里包含了 A 的哈希值,C 的记录里包含了 B 的哈希值。如果有人试图篡改 B 的记录,C 的哈希验证就会失败,整条链就会断裂。
这意味着:如果系统出了问题,你可以精准地追溯到是哪一步出了错,而不需要在海量日志里"靠猜"来排查。同时,由于哈希链的防篡改特性,审计记录的完整性和真实性也得到了保障。
5.3 信息流污点追踪(第 3 层)
污点追踪(Taint Tracking)是一种源自安全研究领域的技术。它的核心思路是:给敏感数据打上"标签",然后追踪这些标签在整个执行过程中的流动路径。
在 OpenFang 中,如果一个 Agent 获取了你的 API 密钥,这个密钥会被标记为"敏感数据"。后续不管这个数据被传递到哪里、经过了怎样的处理,污点标签会一直跟随。如果系统检测到敏感数据试图流向不安全的地方(比如被写入日志文件或发送到外部服务),就会立即拦截。
5.4 Ed25519 签名的 Agent 清单(第 4 层)
每个 Agent 的身份和能力集都经过 Ed25519 数字签名。Ed25519 是一种高效的椭圆曲线签名算法,被广泛应用于 SSH、TLS 等场景。
这层机制确保了两件事:第一,Agent 的身份是可验证的(防止冒充);第二,Agent 的能力声明是不可篡改的(防止未授权的能力扩展)。
5.5 其他安全层
除了以上四层,OpenFang 还包括:
- SSRF 防护(第 5 层):阻止 Agent 访问内网 IP、云服务元数据端点,防止 DNS 重绑定攻击。这在 Agent 需要访问网络资源的场景中尤为重要。
- 密钥零化(第 6 层):使用
Zeroizing<String>类型,API 密钥在不再使用的瞬间就会从内存中被彻底擦除。这防止了内存转储攻击。 - HMAC-SHA256 双向认证(第 7 层):用于 P2P 网络通信的认证,采用基于 nonce 的恒定时间验证,防止时序攻击。
- RBAC 权限控制(第 8 层):基于角色的访问控制,Agent 必须声明自己需要哪些工具,内核来强制执行权限边界。
- GCRA 速率限制器(第 9 层):防止 Agent 过度频繁地调用外部 API。
- 子进程隔离(第 10 层):Agent 启动的子进程会在环境清除后运行。
- 提示词注入扫描器(第 11 层):检测并过滤可能的提示词注入攻击。
- 路径遍历防护(第 12 层):防止 Agent 通过路径操作访问未授权的文件系统区域。
- HTTP 安全头(第 13-16 层):CSP、X-Frame-Options、HSTS、X-Content-Type-Options 等标准 Web 安全头,保护 Dashboard 和 API 端点。
如果你之前接触过 OpenClaw,会知道它只有 3 层基础安全机制。ZeroClaw 好一些,有 6 层。而 OpenFang 直接拉到了 16 层,这在开源 Agent 框架中是目前最高的。
六、从安装到运行:完整操作指南
说了这么多原理,接下来莫潇羽@无忆研习社 带大家走一遍实际的安装和使用流程。
6.1 系统要求
OpenFang 编译为单一二进制文件,对系统的要求非常低:
- 操作系统:macOS、Linux(推荐 Ubuntu 20.04+)、Windows(通过 WSL2)
- 磁盘空间:约 32MB(安装包大小)
- 内存:空闲状态约 40MB(相比 OpenClaw 的 394MB 已经大幅降低)
- 网络:需要能够访问你配置的 LLM 供应商 API
6.2 一键安装
macOS / Linux 用户:
# 第一步:下载并安装
curl -fsSL https://openfang.sh/install | sh
# 第二步:初始化配置(会引导你设置 LLM 供应商等参数)
openfang init
# 第三步:启动守护进程
openfang start
# 启动后,Dashboard 控制台在浏览器打开:
# http://localhost:4200
Windows 用户:
# PowerShell 执行
irm https://openfang.sh/install.ps1 | iex
openfang init
openfang start
整个安装过程非常简单,三条命令就能跑起来。openfang init 这一步会以交互式向导的形式引导你完成基础配置,包括选择默认的 LLM 供应商、设置 API 密钥等。
6.3 初始化配置详解
在执行 openfang init 时,系统会创建一个 openfang.toml 配置文件。这个文件是整个系统的核心配置,你可以在初始化后随时手动编辑它。
根据官方提供的示例配置文件 openfang.toml.example,配置的主要部分包括:
# LLM 供应商配置
[providers.anthropic]
api_key = "sk-ant-xxxxx"
default_model = "claude-sonnet-4-5-20250929"
[providers.openai]
api_key = "sk-xxxxx"
default_model = "gpt-4o"
[providers.deepseek]
api_key = "sk-xxxxx"
default_model = "deepseek-chat"
# 通道配置
[channels.telegram]
enabled = true
token = "YOUR_BOT_TOKEN"
[channels.discord]
enabled = true
token = "YOUR_BOT_TOKEN"
# 全局设置
[settings]
default_provider = "anthropic"
dashboard_port = 4200
OpenFang 支持 27 家 LLM 供应商,包括:Anthropic、OpenAI、Google Gemini、Groq、OpenRouter、DeepSeek、Together AI、Mistral、Fireworks、Cohere、Perplexity、xAI、AI21、Cerebras、SambaNova、Hugging Face、Replicate、Ollama、vLLM、LM Studio 等。
其中一个亮点是智能模型路由功能:OpenFang 内置了任务复杂度评分系统,可以根据任务的难度自动选择合适的模型。简单任务用便宜的小模型,复杂任务用高性能的大模型,从而在效果和成本之间取得平衡。同时还有故障转移驱动:如果当前供应商出了问题,会自动切换到备选供应商,保证服务不中断。
6.4 激活你的第一个 Hand
安装配置完成后,就可以开始激活 Hands 了。我们以 Researcher(深度调研员)为例:
# 激活 Researcher Hand
openfang hand activate researcher
# 查看它的运行状态
openfang hand status researcher
激活后,Researcher 就会开始按照它内置的工作流程自主运行。你可以随时通过 hand status 命令查看进度,也可以打开浏览器访问 http://localhost:4200 的 Dashboard 面板来查看更详细的运行情况和输出结果。
6.5 与 Agent 对话
除了自主运行的 Hands 模式,你也可以直接和 Agent 进行对话:
# 与 Researcher Agent 聊天
openfang chat researcher
> "帮我分析一下 2026 年上半年 AI Agent 框架领域的主要发展趋势"
6.6 通过 API 调用
OpenFang 提供了兼容 OpenAI 格式的 API 端点,这意味着你可以用任何兼容 OpenAI API 的客户端来调用它:
curl -X POST localhost:4200/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "researcher",
"messages": [{"role": "user", "content": "分析当前 AI 技术发展趋势"}],
"stream": true
}'
这个设计非常友好,意味着如果你的现有系统已经对接了 OpenAI 的 API,只需要把请求地址换成 OpenFang 的地址就行了,几乎不需要修改代码。
七、40 个消息通道:让 Agent 无处不在
OpenFang 内置了 40 个消息平台适配器,这是目前同类框架中覆盖最广泛的。这些适配器让你的 Agent 可以在几乎任何你常用的通讯和社交平台上工作。
即时通讯类:Telegram、Discord、Slack、WhatsApp、Signal、Matrix、LINE、Viber、XMPP、IRC 等。这些是日常使用频率最高的通讯工具,Agent 可以像一个真正的联系人一样出现在你的聊天列表中。
企业协作类:Microsoft Teams、Google Chat、Mattermost、Webex、飞书/Lark 等。对于在企业环境中工作的用户来说,这意味着你不需要额外安装任何应用,直接在公司已有的协作平台上就能使用 Agent。
社交媒体类:Mastodon、Bluesky、Reddit、LinkedIn、Twitch、Facebook Messenger 等。这对于需要管理社交媒体账号的场景特别有用,Twitter Hand 就是基于这些通道来工作的。
其他:Email 邮件、WebChat 网页聊天等。Email 通道让 Agent 可以通过邮件来发送报告和接收指令,WebChat 则提供了一个内置的