📌 项目地址RightNow-AI/openfang | ⭐ 17,674 颗星 | 🔧 Rust | 📜 Apache-2.0

这个项目在做什么

OpenFang 的 README 第一句话就划清了界限:“不是聊天机器人框架、不是 LLM 的 Python 包装器、不是多 agent 协调器”。它是一个从零用 Rust 写的 Agent 操作系统。137K 行代码、14 个 crate、1767 个测试,零 clippy 警告,编译成一个约 32MB 的二进制文件。

当前版本 v0.5.10(2026 年 4 月),Feature complete 但标注 pre-1.0。README 直接建议生产环境要 pin 到特定 commit,因为小版本之间可能有 breaking changes。

安装和启动只需要两条命令:

curl -fsSL https://openfang.sh/install | sh
openfang init
openfang start

Windows 用 PowerShell:

irm https://openfang.sh/install.ps1 | iex
openfang init
openfang start

Dashboard 默认跑在 localhost:4200

Hands:编译时绑定的能力包

OpenFang 的核心概念叫 Hands。每个 Hand 是一个独立的能力包,在编译时就和二进制绑在一起。一个 Hand 包含四个文件:

  • HAND.toml:声明工具依赖、运行参数、Dashboard 要显示的指标。
  • System Prompt:500 字以上的操作说明,不是一句 “帮我做 xx”。
  • SKILL.md:领域知识参考,运行时自动注入上下文。
  • Guardrails:敏感操作的审批规则(比如 Browser Hand 在付款前必须等用户确认)。

Hands 不是动态加载的——你不能在运行后加一个新的。想加新能力,必须改 Rust 代码、重新编译、重新部署。代价是损失灵活性,换来运行时稳定:没有 import 异常,没有版本冲突。

官方内置了 7 个 Hands。我挑两个最值得展开的。

Clip Hand:YouTube URL → 竖屏短视频

你给它一个 YouTube 链接,它自己跑一个 8 阶段流水线:

  1. 下载视频(依赖 ffmpeg 和 yt-dlp)
  2. 识别高光片段(支持 5 种语音识别后端)
  3. 剪辑成竖屏格式
  4. 加字幕和缩略图
  5. 可选 AI 配音
  6. 发布到 Telegram 和 WhatsApp

传统做法:手动下载、找亮点、打开剪辑软件、切素材、加字幕、导出、上传。中间要你反复决策。Clip Hand 让 agent 自己决定什么是高光、字幕用什么样式、什么时间发布。你只把 URL 扔给它,或者配个 cron 让它每天检查特定频道的新视频。

Lead Hand:每日 B2B 线索挖掘

配置好你的理想客户画像(ICP)后,Lead Hand 会按日调度。它做的事情:

  • 通过网页搜索发现匹配的潜在客户
  • 用 web research 做信息补充
  • 对线索打分 0-100
  • 跟已有数据库去重
  • 输出 CSV、JSON 或 Markdown 格式报告

整个过程不需要第三方 SaaS 服务,全部跑在你的二进制里。Lead Hand 还会根据获得的线索特征,不断调整 ICP 模型。

两个明显的设计取舍

我觉得评价 OpenFang 的关键,是看你的需求落在哪边。

第一个缺陷:它没有聊天界面。 你不能在浏览器里跟 agent 对话。交互方式只靠配置文件:cron 表达式、事件触发、以及 Hand 的配置参数。你得学会用 “什么时间做什么事” 的思维去配置,而不是 “怎么描述这个任务”。学习曲线不是 Python 或 API,是理解 Hands 怎么配置、怎么调度。

第二个缺陷:你没法在运行时改任何东西。 不能写个 Python 脚本让 agent 调用。想加新 Hand,只能改 Rust 代码,重新编译。对比一下:AutoGPT 或 crewAI 允许你随时加工具函数、改 prompt。OpenFang 的开发者选择预编译换取稳定:没有 runtime import 异常,agent 不会因为加载插件网络失败而挂掉。

如果你是做个实验性项目,经常换不同的 agent 行为,OpenFang 不适合。你是跑固定几个自动化任务,想它 24 小时不出错,那它的稳定性远超那些需要反复调 prompt 的方案。

技术指标说明的稳定性

32MB 二进制,启动到 agent 活跃不超过 2 秒,空载内存不到 60MB RSS。这些数据放 2025 年的 Rust 项目里很正常,但放在 AI Agent 工具里算优秀的。

我更在意的是它的设计思路。主流的 AI Agent 框架默认把自己做成聊天机器人的升级版——更好的对话、更多工具调用、更复杂的多 agent 协调。OpenFang 认为 agent 的最优形态不是聊天框,而是批处理调度器。Hands 的预编译模式像微控制器的固件:烧进去,上电,跑。这个模式在物联网被验证过。

如果一个 agent 不工作,给你十万行日志也难排查。如果一个 agent 持续工作两年不出 bug,你甚至不需要知道它用 Rust 写的。OpenFang 押在后一种情况。你需要的是每天跑竞品监控、线索挖掘、内容分发的数字员工,它的 Hands 值得你花时间学配置方法。聊天机器人?README 都写了,去找别家。

什么人应该考虑

没有万能适用场景。说清楚两点:

  • 你有一个或几个固定的自动化流程,需要每天/每周定时运行,并且你能接受用配置文件而不是对话框来管理。OpenFang 是少有的不用你亲自写 agent 逻辑(除非你要加新 Hand)的方案。
  • 如果你需要频繁修改 agent 行为、动态添加工具、或者想用 Python 快速迭代,OpenFang 的编译-部署循环会让你痛苦。这类需求用 AutoGPT、CrewAI 甚至 LangChain 更合适。

OpenFang 的 README 自己写了:“v0.5.10 still pre-1.0, expect rough edges and breaking changes。” 生产环境请 pin 到特定 commit。

这篇文章对你有帮助吗?

发表回复