开源自主AI智能体助手Frona

简介

什么是 Frona ?

Frona 是一个开源的个人 AI 助手。你创建自主代理,这些代理在沙盒环境中浏览网页、运行代码、构建应用程序、打电话、委派工作、记忆对话上下文,所有这些都在沙盒环境中,对你的文件、网络和凭证有受控访问权。你给他们一个任务,他们自己想办法完成。

主要特点

  • 自主 AI 智能体:智能体能够自主决定使用哪些工具,并执行多步骤任务
  • 浏览器自动化:通过无头 Chrome 浏览网站、填写表单和提取数据
  • 网络搜索:内置 SearXNGTavilyBrave Search 支持
  • 代码执行:沙盒化的 shell 命令,带有文件系统、网络和资源限制
  • 应用部署:智能体可以构建和部署 Web 应用程序
  • 技能系统:安装共享技能或创建智能体特定的指令包
  • 定时任务:通过 cron 表达式设置周期性任务
  • 语音通话:通过 Twilio 拨打和接听电话
  • 持久记忆:智能体跨对话记住事实
  • 智能体间委托:智能体可以将任务委托给其他专业智能体
  • 实时流式传输:通过 Server-Sent Events 进行令牌级响应流式传输
  • SSO 支持OpenID Connect 支持 GoogleKeycloak
  • 单容器后端:整个后端(API 服务器、嵌入式数据库、调度器、工具执行)在一个无根 OCI 容器中运行
  • 安全优先:在沙盒环境中运行,隔离文件系统访问、控制网络访问、执行超时限制
  • 凭据保险库:智能体需要凭据时实时审批,支持 1PasswordBitwardenHashiCorp VaultKeePass
  • 开源免费:基于 Business Source License 1.1 协议开源

应用场景

  • 个人 AI 助手:创建专属 AI 助手帮您处理日常任务
  • 自动化工作流:让智能体自动执行重复性任务
  • 研究助手:智能体可以搜索互联网、分析信息、生成报告
  • 开发者助手:智能体可以帮助编写代码、部署应用
  • 多智能体协作:不同智能体分工合作完成复杂任务

总的来说,Frona 是一个功能强大的自托管 AI 助手平台,让您在自己的基础设施上运行 AI 智能体,完全掌控您的数据。

安装

在群晖上以 Docker 方式安装。

Frona 镜像托管在 ghcr.io,群晖 Docker 套件无法直接搜索。

该项目包含多个服务(Frona 主服务、browserless 浏览器服务、SearXNG 搜索服务),需要使用 docker-compose 部署,可以自动处理服务间的依赖关系。

searxng-settings.yml 配置

首先创建 searxng-settings.yml 配置文件:

1
2
3
4
5
use_default_settings: true
search:
formats:
- html
- json

docker-compose.yml

将下面的内容保存为 docker-compose.yml 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
services:
frona:
image: ghcr.io/fronalabs/frona:latest
container_name: frona-web
restart: unless-stopped
ports:
- "3771:3001"
volumes:
- ./data:/app/data
environment:
- FRONA_BROWSER_WS_URL=ws://browserless:3333
- FRONA_SEARCH_SEARXNG_BASE_URL=http://searxng:8080
security_opt:
- seccomp:unconfined
depends_on:
- browserless
- searxng

browserless:
image: ghcr.io/browserless/chromium:latest
container_name: frona-browserless
restart: unless-stopped
volumes:
- ./data/browser_profiles:/profiles
environment:
- MAX_CONCURRENT_SESSIONS=10
- PREBOOT_CHROME=true

searxng:
image: searxng/searxng:latest
container_name: frona-searxng
restart: unless-stopped
volumes:
- ./searxng-settings.yml:/etc/searxng/settings.yml:ro
environment:
- SEARXNG_BASE_URL=http://searxng:8080
- SEARXNG_SECRET=change-me-to-something-random

部署

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 frona 和子目录
mkdir -p /volume1/docker/frona/data/browser_profiles

# 进入 frona 目录
cd /volume1/docker/frona

# 修改目录权限
chmod a+rw data

# 将 docker-compose.yml 和 searxng-settings.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中访问 http://<群晖IP>:3771 即可进入注册界面。

密码不能少于 8 个字符

安装向导会引导您完成初始配置。第一步需要设置 AI 提供商

必须启用至少一个,老苏选了 OpenAI,原本打算还是以 硅基流动 为例

  • API Key硅基流动API Key
  • Base URL硅基流动的地址是 https://api.siliconflow.cn/v1

接下来设置模型

  • Primary:主要模型
  • Reasoning:推理模型
  • Coding:编码模型

可以根据需要进行设置

但是测试发现,模型会自动加上 Provider ,所以最终的模型名称会变成 OpenAI/Pro/zai-org/GLM-5.1,导致错误

OpenRouter 又总是速率限制,最后决定使用 ollama

受限于机器性能,没有使用本地模型而是用的 minimax-m2.7:cloud

其他的设置,可根据需要进行调整,或者使用默认的也可以

设置会保存到 config.yaml

Restart Server 重启服务后,会看到主界面

随便运行了一个 Chat,开起来像是调用了 Tool

1
查询今天的IT新闻,并做成卡片

注意事项

  1. API Key 安全:请妥善保管您的 LLM API Key
  2. 网络要求Frona 需要访问互联网来使用 LLM API 和网络搜索功能
  3. 资源要求browserless 浏览器服务需要较多资源,建议至少 4GB 内存
  4. 数据持久化./data 目录包含所有数据,请定期备份
  5. 安全配置:生产环境建议配置 HTTPS 和适当的访问控制
  6. 凭据管理:智能体需要凭据时会请求您审批,确保凭据安全
  7. 版本更新:建议定期更新镜像以获取最新功能和安全修复

参考文档

Frona: Personal AI Assistant - 开源项目主页
地址:https://github.com/fronalabs/frona

Frona 官方文档
地址:https://docs.frona.ai

frona - Docker 图像 | GitHub Container Registry
地址:https://ghcr.io/fronalabs/frona

Frona Quickstart - 官方快速入门指南
地址:https://docs.frona.ai/platform/quickstart.html