frona
Rust 引擎驱动的自托管 AI Agent 平台,per-principal 沙箱隔离 + Ced
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Rust 引擎驱动的自托管 AI Agent 平台,per-principal 沙箱隔离 + Ced
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Frona 官方 Logo
想象一下:你在上班途中,对着手机说一声「帮我查一下今天有什么技术新闻,顺便把要点总结成文档」,然后继续刷视频。到了公司,你打开 Frona 的聊天界面,一份结构化的技术日报已经静静地躺在那里——链接、摘要、重点分析,一应俱全。
这不是科幻,这是 Frona 已经能实现的工作流。
Frona 是一个完全自托管的自主 AI 助手框架。用户创建 AI Agent,给它们装备工具,然后通过聊天界面与它们对话。这些 Agent 不再是被动回答问题的工具,而是能主动规划、分解任务、调用工具、协作分工的智能体。你描述任务,它们想办法完成。
Frona 的诞生源于一个核心矛盾:AI Agent 越强大,潜在风险就越大。
2024-2025 年,AI Agent 框架井喷式发展,但大多数产品在追求功能的同时将安全视为事后补丁。Agent 可以执行代码、浏览网页、访问文件——如果缺乏有效的隔离机制,一次提示词注入攻击就可能导致数据泄露。传统方案要么用 Docker 容器隔离(重且难以管理),要么用简单的权限控制(粒度不够)。
Frona 团队决定从底层重新设计安全架构。引擎核心使用 Rust 编写,利用 Rust 本身的内存安全特性减少底层漏洞;每个 Actor(Agent、MCP Server、应用、频道)运行在独立沙箱进程中,通过 seccomp + eBPF syscall 过滤策略限制能力范围,无需为每个 Agent 启动独立容器。这套方案叫做 per-principal sandboxing,将授权决策和进程隔离统一在同一个 Cedar Policy 引擎中。
项目由 fronalabs 团队开发维护,2024 年中开源,在 r/selfhosted 和 r/AI_Agents 社区引发大量讨论,被认为是 2026 年最具潜力的开源 Agent 平台之一。
Frona Agent 的工具集非常完整,涵盖 Agent 运行中可能需要的所有能力:
浏览器自动化:通过 Browserless(headless Chrome)实现网页导航、表单填写、内容抓取。不同于简单的 HTTP 请求爬虫,这是真正的浏览器级别自动化——可以处理 JavaScript 渲染页面、登录态 Cookie、复杂 SPA 应用。浏览器会话持久化,跨对话保持登录状态。
代码执行:提供沙箱化的 shell、Python 和 Node.js 执行环境。每个 Agent 有独立的文件系统命名空间、网络访问策略和资源限制。Agent 可以写代码、运行脚本、构建并部署应用。
MCP(Model Context Protocol)支持:支持安装 MCP 服务器。最值得关注的是 Bridge Mode——不是向 LLM 暴露每一个 MCP 工具(工具多了 token 消耗巨大),而是将整个 MCP 服务器抽象为单个 mcpctl CLI,让 LLM 通过这个统一的控制接口管理所有工具,节省数千 token。
Channels(消息渠道):将 Agent 连接到 Telegram、Discord、Signal、WhatsApp、Slack 等平台,让 Agent 跨平台保持上下文。Pairing 机制默认锁定设备,防止未授权访问。
Signals(信号机制):Agent 可以暂停对话等待特定入站事件——2FA 验证码、特定回复、特定类型的消息。到达后自动恢复执行,无需轮询。
语音通话:集成 Twilio,支持 AI 主动发起电话、接收来电、通话中 TTS/ASR。
记忆系统:Agent 拥有持久化的记忆存储,可以跨对话记住用户偏好和任务上下文。
Credential Vault:与 1Password、Bitwarden、HashiCorp Vault、KeePass 集成。Agent 请求凭证时由用户实时审批,密钥绝不进入 Agent 内存或发送给 LLM 提供商。
项目采用 Rust Monorepo Workspace 结构,crates 目录包含六个核心子 crate:
| Crate | 职责 |
|---|---|
frona-server | Rust 后端核心:Agent 调度、工具执行、沙箱管理 |
frona-api-types | API 类型定义,前后端共享 |
frona-browser | Browserless 集成,CDP 协议封装 |
frona-cli-mcp | MCP 协议 CLI 工具 |
frona-text | 文本处理相关工具 |
frona-derive | Rust 宏定义 |
关键依赖:使用 rig-core 0.37(Rust LLM Agent 框架)、Cedar Policy 4(安全策略引擎)、Tokio(异步运行时)、SearXNG / Presage(搜索和消息)、Syd(沙箱 enforcement)。
前端基于 Next.js 16.2.6 + React 19 + TypeScript,UI 组件库使用 Radix UI(无样式 headless 组件),Markdown 渲染使用 Shiki(代码高亮)。消息 UI 采用 Lexical(Meta 出品的编辑器框架)配合 @assistant-ui/react(AI 对话专用组件)。状态可视化使用 Recharts。整体技术栈现代、类型安全、性能优秀。
部署层面,Dockerfile 包含 5 个构建阶段(frontend → planner → backend-builder → cli-tools → prod),docker-compose.yml 定义了完整服务栈:frona-server(后端)、Next.js(前端)、Browserless(浏览器自动化)、SearXNG(搜索),生产环境约 10GB 磁盘占用。
前提条件:Docker + Docker Compose,Anthropic API Key(必填)。
快速启动(生产模式):
git clone https://github.com/fronalabs/frona
cd frona
export ANTHROPIC_API_KEY=sk-...
docker compose --profile prod up -d
服务启动后访问 http://localhost:3000,注册账户后即可创建 Agent。
开发模式(使用 mise 工具链):
mise install
mise run dev
会自动安装前端依赖、启动 Next.js 开发服务器和 Rust 后端热重载。
难度评估:配置 ANTHROPIC_API_KEY 后即可运行基础功能,无需 GPU。但如果需要完整的浏览器自动化和搜索能力,需要额外部署 Browserless + SearXNG 容器。整体部署难度中等,文档质量极高(docs.frona.ai),对 Rust 技术栈熟悉的开发者可以深度定制。
Frona 的安全设计是该项目区别于同类产品的核心亮点,值得重点说明:
Dual LLM Dispatch on Inbound(入站双 LLM 分发):来自不受信任渠道(如 Telegram、Discord)的入站消息,先经过一个「隔离 LLM」审查——这个 LLM 只有受限的工具注册表,没有敏感工具权限。即使攻击者发送精心构造的恶意消息,隔离 LLM 也无法被诱导执行危险操作或泄露数据。
沙箱架构:seccomp + eBPF syscall 过滤,每个 Actor 独立命名空间(文件系统、网络)。不同于 Docker-per-Agent 的方案,Frona 在进程级别管理沙箱,按需创建销毁,资源占用更少。Syd(exherbo 出品的沙箱工具)负责强制执行文件系统只读/网络白名单策略。
Credential Vault 实时审批:Agent 无法绕过用户直接获取密钥。每次需要使用凭证时,界面弹出实时审批对话框,用户明确授权后才能访问,且访问范围受策略限制。
1. 完全依赖 Anthropic:当前版本没有内置 Ollama/OpenAI 本地模型支持,LLM 调用完全走 Anthropic API。虽然 r/ollama 社区有人在讨论集成可能性,但目前无官方方案,数据完全经过第三方。
2. GHCR 镜像未公开:Docker Hub 上没有官方镜像,GHCR 镜像需要认证拉取(HTTP 401),对没有配置 Docker registry 认证的用户有一定门槛。
3. Rust 学习曲线:对于不熟悉 Rust 的开发者,深度定制后端有一定障碍。但前端 Next.js 部分相对独立,可以独立迭代。
4. 内存占用:Browserless Chrome 实例 + 多 Agent 并发运行时,内存占用可观。文档建议最低 4GB RAM,复杂场景建议 8GB+。
Frona 代表了 2025-2026 年 AI Agent 领域的一个重要方向:从「实验玩具」到「生产级工具」的安全进化。过去开源 Agent 框架的安全设计通常是事后再加护栏,Frona 的 per-principal sandboxing + Cedar Policy + Credential Vault 三层体系,首次在开源领域将安全作为一等公民设计。
它的出现也呼应了 self-hosted AI 的趋势——随着 Claude、GPT-4 等 API 的普及,越来越多人希望在自己的服务器上运行 Agent 工作流,避免数据经过第三方。Frona 在功能丰富性和安全性之间找到了一个有竞争力的平衡点。
| 维度 | 评分 | 说明 |
|---|---|---|
| 架构设计 | ★★★★★ | Rust Monorepo,安全设计严密,模块边界清晰 |
| 代码质量 | ★★★★☆ | 大量类型安全设计,rig-core 抽象优雅,但较新(2026.7.0) |
| 文档质量 | ★★★★★ | docs.frona.ai 完整,多语言(概念+配置+示例),README 详尽 |
| 部署体验 | ★★★★☆ | docker-compose 一键启动,配置灵活,但 GHCR 镜像未公开 |
| 社区活跃度 | ★★★☆☆ | 社区讨论热烈,但 Stars 196 仍属早期项目 |
总结:Frona 是目前开源领域最认真对待安全的 AI Agent 平台之一。Rust 引擎保证了运行时性能和内存安全,per-principal sandboxing 提供了容器级隔离而无需 Docker 开销。如果你需要一个自托管、功能完整、安全可控的 AI 助手框架,Frona 值得认真考虑。