价格

项目总览

相关源文件

本页面内容基于以下源文件生成:

OpenFang 是一个开源的 Agent 操作系统,采用 Rust 语言编写,旨在支持自主运行的智能体系统。与传统需要用户主动输入提示词的智能体框架不同,OpenFang 的智能体能够按照预定计划 7x24 小时自主运行,执行知识图谱构建、目标监控、潜在客户挖掘、社交媒体管理等任务,并将结果汇报到仪表板。整个系统编译为约 32MB 的单一二进制文件,通过一条命令即可完成安装和部署(README.md:40-50)。

该项目由 14 个 Rust crate 组成模块化 Workspace 架构,涵盖类型定义、内存存储、运行时、内核、API、通道通信、技能扩展等核心组件(CLAUDE.md:1-8)。核心平台提供智能体生命周期管理(创建、列表、终止、克隆、模式切换)、SQLite 支持的内存基板、41 个内置工具、WASM 沙箱、工作流引擎、触发器系统和事件总线等关键能力(CHANGELOG.md:1-22)。

技术架构概览

OpenFang 采用 Rust Workspace 架构组织代码,当前版本为 0.4.5,使用 Rust 2021 版本规范。Workspace 包含 14 个成员 crate,分别是 openfang-types、openfang-memory、openfang-runtime、openfang-wire、openfang-api、openfang-kernel、openfang-cli、openfang-channels、openfang-migrate、openfang-skills、openfang-desktop、openfang-hands、openfang-extensions 和 xtask(Cargo.toml:1-26)。

核心依赖技术栈

技术领域依赖库版本用途说明
异步运行时Tokio1.x全特性异步运行时支持
序列化Serde + Serde_json1.xJSON/TOML/MessagePack 序列化
HTTP 服务器Axum0.8REST/WebSocket/SSE API 端点
数据库Rusqlite0.31SQLite 内存基板存储
WASM 沙箱Wasmtime41安全隔离的技能执行环境
HTTP 客户端Reqwest0.12LLM 驱动的 HTTP 通信
WebSocketTokio-tungstenite0.24Discord/Slack 网关连接
安全加密Ed25519-dalek + AES-GCM2.x / 0.10签名验证与数据加密

核心依赖配置详见 Cargo.toml:27-90,平台组件职责划分详见 CHANGELOG.md:12-22

目录结构

openfang/
├── crates/
│   ├── openfang-types/      # 核心类型定义
│   ├── openfang-memory/     # SQLite 内存基板
│   ├── openfang-runtime/    # 智能体运行时
│   ├── openfang-kernel/     # 内核协调层
│   ├── openfang-api/        # REST/WebSocket API
│   ├── openfang-cli/        # 命令行接口
│   ├── openfang-channels/   # 40+ 通道适配器
│   ├── openfang-wire/       # 点对点通信协议
│   ├── openfang-skills/     # 技能包管理
│   ├── openfang-hands/      # 自主智能体包
│   ├── openfang-extensions/ # 扩展系统
│   ├── openfang-desktop/    # 桌面应用
│   ├── openfang-migrate/    # 数据迁移
│   └── xtask/               # 构建任务
├── Cargo.toml               # Workspace 配置
└── README.md                # 项目文档

系统架构图

正在加载图表渲染器...

架构要点说明

  1. 分层设计:系统采用清晰的分层架构,CLI 和 API 作为入口层,Kernel 作为协调核心,能力层提供具体功能实现
  2. 内核协调:openfang-kernel 负责智能体生命周期管理、任务调度和资源协调(CHANGELOG.md:12-22
  3. 内存基板:openfang-memory 提供 SQLite 支持的结构化 KV 存储、语义召回和向量嵌入能力
  4. WASM 隔离:使用 Wasmtime 沙箱执行技能代码,通过 fuel + epoch 双重计量实现安全中断(Cargo.toml:83-84

Hands 自主智能体机制

Hands 是 OpenFang 的核心创新——预构建的自主能力包,能够独立运行、按计划执行,无需用户持续提示。每个 Hand 打包了四个核心组件:HAND.toml 清单文件(声明工具、设置、需求和仪表板指标)、多阶段操作手册式的系统提示(500+ 词的专业流程)、运行时注入上下文的 SKILL.md 领域专业知识,以及敏感操作的审批门控(如浏览器 Hand 在任何购买前需要审批)(README.md:64-78)。

系统内置 7 个 Hands 包,覆盖研究、浏览、社交媒体、潜在客户挖掘等自主智能体操作场景(CHANGELOG.md:20-22)。所有 Hands 编译进二进制文件,无需额外下载或 pip install。

Hand 激活与执行流程

正在加载图表渲染器...

流程要点说明

  1. 清单驱动:Hand 的行为由 HAND.toml 清单声明,包括所需工具、配置项和输出指标
  2. 上下文注入:SKILL.md 在运行时注入到 LLM 上下文,提供领域专业知识
  3. 审批门控:敏感操作触发审批流程,确保用户对关键决策保持控制
  4. 结果持久化:执行结果存储到 Memory 基板,支持后续查询和分析

LLM 支持与模型生态

OpenFang 支持 3 种原生 LLM 驱动(Anthropic、Google Gemini、OpenAI 兼容),覆盖 27 个提供商,包括 Anthropic、Gemini、OpenAI、Groq、OpenRouter、DeepSeek、Together、Mistral、Fireworks、Cohere、Perplexity、xAI、AI21、Cerebras、SambaNova、Hugging Face、Replicate、Ollama、vLLM、LM Studio 等(CHANGELOG.md:24-40)。

模型路由与成本管理

系统内置 130+ 模型目录,包含 23 个别名和分层分类。智能模型路由根据任务复杂度评分选择合适模型,Fallback 驱动支持提供商间自动故障转移。成本估算引擎按模型定价计量消耗,默认令牌配额从每小时 100K 提升至 1M。所有驱动支持 SSE 流式传输(CHANGELOG.md:24-40)。

HTTP 客户端使用 reqwest 库,配置 JSON、stream、multipart、rustls-tls、gzip、deflate、brotli 等特性,确保与各 LLM 提供商的兼容性(Cargo.toml:64-68)。

令牌管理策略

策略阈值行为
会话压缩70% 上下文容量触发 chars/4 启发式压缩
紧急修剪70%/90%循环内摘要注入
工具过滤默认 41 → 4-10聊天智能体节省 15-20K 令牌
结果截断15K 字符上限防止工具结果膨胀

通道与 API 能力

通道适配器

OpenFang 提供 40 个通道适配器,覆盖主流通讯平台:Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Email、Teams、Mattermost、Google Chat、Webex、Feishu/Lark、LINE、Viber、Facebook Messenger、Mastodon、Bluesky、Reddit、LinkedIn、Twitch、IRC、XMPP 等 18 个以上平台。统一网桥支持智能体路由、命令处理、消息分割,每个通道支持用户过滤和 RBAC 强制执行(CHANGELOG.md:58-62)。

WebSocket 客户端使用 tokio-tungstenite 库连接 Discord/Slack 网关,配置 rustls-tls-native-roots 特性(Cargo.toml:79-81)。

API 端点

系统提供 100+ REST/WebSocket/SSE API 端点,基于 Axum 0.8 框架实现。关键 API 包括:

  • OpenAI 兼容 API/v1/chat/completions(流式 SSE + 非流式)、/v1/models 端点
  • Google A2A 协议:智能体卡片、任务发送/获取/取消
  • Prometheus 监控/api/metrics 文本格式端点
  • 多会话管理:按智能体列出、创建、切换、标记会话
  • 使用分析:摘要、按模型、按日细分

HTTP 服务器使用 axum 配合 tower 和 tower-http 中间件,支持 CORS、trace、compression-gzip、compression-br 特性(Cargo.toml:86-89)。API 详情见 CHANGELOG.md:64-75

Web 界面与监控

Overview 页面

Overview 页面通过并行请求加载系统健康状态、运行状态、使用摘要、最近审计日志、通道列表、提供商列表、MCP 服务器和技能数量。页面支持静默后台刷新,无加载旋转器干扰(crates/openfang-api/static/js/pages/overview.js:3-42)。

核心数据结构

javascript
1{
2  health: {},          // 系统健康状态
3  status: {},          // 运行状态
4  usageSummary: {},    // 使用摘要
5  recentAudit: [],     // 最近审计日志
6  channels: [],        // 通道列表
7  providers: [],       // 提供商列表
8  mcpServers: [],      // MCP 服务器
9  skillCount: 0        // 技能数量
10}

Chat 页面

Chat 页面实现多会话管理、语音录制、模型切换和消息队列。关键状态包括当前智能体、消息列表、输入文本、发送状态、思考模式、WebSocket 连接、斜杠菜单、附件列表、拖放状态、上下文压力指示器、会话列表、搜索状态、录制状态和模型选择器(crates/openfang-api/static/js/pages/chat.js:3-42)。

语音录制实现:使用 MediaRecorder API,支持 WebM/Opus 编码,录制时间通过定时器追踪。

Logs 页面

Logs 页面支持实时 SSE 流式日志和审计链验证。页面分为两个标签页:实时日志和审计日志。实时日志通过 EventSource 连接 /api/logs/stream 端点,支持级别过滤和文本过滤。审计日志验证 Merkle 哈希链完整性,支持按操作过滤(crates/openfang-api/static/js/pages/logs.js:3-42)。

安全机制

OpenFang 实现多层安全防护:

安全层机制说明
访问控制基于能力的权限控制防止权限提升攻击
路径安全路径遍历保护所有文件工具防护
网络安全SSRF 保护阻止私有 IP 和云元数据端点
签名验证Ed25519 签名智能体清单签名
审计追踪Merkle 哈希链篡改检测
认证HMAC-SHA256 + Bearer Token点对点协议双向认证
限流GCRA 速率限制成本感知令牌桶
环境隔离子进程环境隔离敏感信息零化

核心特性总结

  1. 自主智能体:Hands 机制支持 7x24 小时自主运行,无需持续用户输入
  2. 单一二进制:约 32MB 可执行文件,一条命令完成部署
  3. 多 LLM 支持:27 个提供商、130+ 模型、智能路由、成本估算
  4. 全通道覆盖:40 个通讯平台适配器,统一网桥架构
  5. WASM 沙箱:安全隔离的技能执行环境,双重计量中断
  6. 工作流引擎:管道、扇出并行、条件步骤、循环、变量扩展
  7. 企业级安全:多层防护机制,Merkle 审计追踪
  8. 丰富 API:100+ 端点,OpenAI 兼容,Prometheus 监控

适用场景

  • 自动化研究:竞争对手监控、趋势分析、知识图谱构建
  • 社交媒体管理:多平台内容发布、互动管理、数据分析
  • 潜在客户挖掘:自动识别、评分、跟进潜在客户
  • 智能客服:多通道统一接入、自动响应、人工转接
  • 数据处理管道:ETL 流程、数据清洗、报告生成
  • 开发辅助:代码审查、文档生成、测试自动化

报告阅读路线图

正在加载图表渲染器...

推荐阅读顺序

  1. 项目总览(当前页面):了解整体定位、技术栈和核心特性
  2. 架构设计:深入理解模块划分、数据流和依赖关系
  3. Hands 机制:掌握自主智能体的工作原理和配置方法
  4. LLM 集成:了解多提供商支持、模型路由和成本管理
  5. API 设计:熟悉端点规范、认证方式和扩展机制
  6. 安全机制:理解多层防护策略和审计追踪
  7. 部署运维:学习安装配置、监控告警和故障排查

项目核心能力量化

指标数值说明
Workspace Crates14模块化架构组件数
内置工具41文件系统、Web、Shell、浏览器等
LLM 提供商27Anthropic、OpenAI、Gemini 等
模型目录130+含 23 个别名和分层分类
通道适配器40Telegram、Discord、Slack 等
API 端点100+REST/WebSocket/SSE
Hands 包7研究、浏览、社交媒体等
测试用例1744+工作区全量测试
二进制大小~32MB单一可执行文件
默认令牌配额1M/小时每小时每用户限额