本文翻译整理自:https://github.com/kortix-ai/suna
文章目录
一、关于 Suna
Suna 是一款完全开源的人工智能助手,能帮助您轻松完成现实世界中的各种任务。通过自然对话,Suna 将成为您在研究、数据分析和日常挑战中的数字伙伴——它结合了强大功能与直观界面,能理解您的需求并交付成果。
Suna 的强大工具包包括:
- 无缝浏览器自动化:可导航网页并提取数据
- 文件管理:支持文档创建和编辑
- 网络爬虫和扩展搜索能力
- 命令行执行:用于系统任务
- 网站部署
- 与各种 API 和服务集成
这些功能协同工作,使 Suna 能通过简单对话解决复杂问题并自动化工作流程!
相关链接资源
- github : https://github.com/kortix-ai/suna
- 官网:https://www.suna.so
- Discord:https://discord.gg/Py6pCBUUPw
- Twitter:https://x.com/kortixai
- License : Apache-2.0
关键功能特性
- 完全开源可自托管
- 支持多 LLM 提供商(OpenAI/Anthropic)
- 浏览器自动化能力
- 文件管理系统
- 实时数据采集与分析
- 工作流自动化
二、架构设计
Suna 由四个主要组件构成:
1、后端 API
基于 Python/FastAPI 的服务,处理 REST 端点、线程管理,并通过 LiteLLM 集成 OpenAI、Anthropic 等 LLM 提供商。
2、前端
使用 Next.js/React 构建的响应式 UI,提供聊天界面、仪表板等功能。
3、Agent Docker
为每个代理提供的隔离执行环境,包含:
- 浏览器自动化
- 代码解释器
- 文件系统访问
- 工具集成
- 安全功能
4、Supabase 数据库
处理数据持久化,包括:
- 身份验证
- 用户管理
- 对话历史
- 文件存储
- 代理状态
- 分析功能
- 实时订阅
三、使用案例
1、竞品分析(观看)
“分析我在英国医疗保健行业下一家公司的市场情况。列出主要参与者、市场规模、优劣势,并附上他们的网站URL。完成后生成PDF报告。”
2、VC名单(观看)
“根据管理资产规模,列出美国最重要的风险投资基金名单。提供网站URL,如有可能附上联系邮箱。”
3、寻找候选人(观看)
“在LinkedIn上查找10位目前在德国慕尼黑待业的初级软件工程师候选人。要求至少拥有计算机科学相关学士学位和1年工作经验。”
4、公司旅行规划(观看)
“为我的公司制定加州旅行计划。我们8人将从法国巴黎出发,行程7天(2025年4月21日出发)。根据天气预报安排室内外活动。”
5、Excel数据处理(观看)
“公司要求我建立包含意大利彩票游戏(Lotto、10eLotto和Million Day)信息的Excel表格。根据公开信息生成并发送基础数据表格。”
6、自动化活动演讲者挖掘(观看)
“查找过去一年在欧洲会议上发言的20位AI伦理演讲者。抓取会议网站,交叉参考LinkedIn和YouTube,输出联系信息和演讲摘要。”
7、科研论文摘要与交叉引用(观看)
“研究并比较过去5年关于酒精对人体影响的科学论文。生成关于该主题最重要论文的报告。”
8、客户研究+首次联系草稿(观看)
“在LinkedIn上研究我的潜在客户(B2B)。他们应属于清洁技术行业。查找网站和邮箱地址。然后根据公司简介,生成个性化的首次联系邮件。”
9、SEO分析(观看)
“基于我的网站suna.so生成SEO分析报告,按关键词集群查找高排名页面,并识别缺失主题。”
10、个人旅行规划(观看)
“规划从曼谷出发的10天伦敦个人旅行(5月1日出发)。在伦敦市中心找评分至少4.5的住宿。安排有趣的户外活动并生成详细行程。”
11、新融资初创公司(观看)
“在Crunchbase、Dealroom和TechCrunch上筛选SaaS金融领域A轮融资公司,建立包含公司数据、创始人和销售外联联系信息的报告。”
12、论坛讨论抓取(观看)
“通过抓取讨论罗马美容中心的开放论坛,生成5家评价最好的美容中心列表。”
四、本地运行/自托管
Suna 可在您自己的基础设施上自托管。按照以下步骤设置您的实例。
1、系统要求
需要以下组件:
- Supabase 项目(用于数据库和身份验证)
- Redis 数据库(用于缓存和会话管理)
- Daytona 沙箱(用于安全代理执行)
- Python 3.11(用于API后端)
- LLM 提供商的API密钥(OpenAI或Anthropic)
- (可选但推荐)Tavily API密钥(增强搜索能力)
2、先决条件
1、Supabase:
- 创建新 Supabase项目
- 保存项目的API URL、匿名密钥和服务角色密钥
- 安装 Supabase CLI
2、Redis:通过以下选项设置Redis实例:
- Upstash Redis(云部署推荐)
- 本地安装:
3、Daytona:
- 在 Daytona 创建账户
- 从账户设置生成API密钥
- 转到 Images
- 点击"Add Image"
- 输入
adamcohenhillel/kortix-suna:0.0.20
作为镜像名称 - 设置
/usr/bin/supervisord -n -c /etc/supervisor/conf.d/supervisord.conf
为入口点
4、LLM API密钥:
5、搜索API密钥(可选):
- 为增强搜索能力,获取 Tavily API密钥
6、RapidAPI密钥(可选):
- 要启用LinkedIn等服务,需要RapidAPI密钥
- 每个服务需要在RapidAPI账户中单独激活
3、安装步骤
1、克隆仓库:
git clone https://github.com/kortix-ai/suna.git
cd suna
2、配置后端环境:
cd backend
cp .env.example .env
编辑 .env
文件并填写凭证:
NEXT_PUBLIC_URL="http://localhost:3000"
# Supabase凭证
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# Redis凭证
REDIS_HOST=your_redis_host
REDIS_PORT=6379
REDIS_PASSWORD=your_redis_password
REDIS_SSL=True # 本地Redis无SSL设为False
# Daytona凭证
DAYTONA_API_KEY=your_daytona_api_key
DAYTONA_SERVER_URL="https://app.daytona.io/api"
DAYTONA_TARGET="us"
# Anthropic或OpenAI:
# Anthropic
ANTHROPIC_API_KEY=
MODEL_TO_USE="anthropic/claude-3-7-sonnet-latest"
# 或OpenAI API:
OPENAI_API_KEY=your_openai_api_key
MODEL_TO_USE="gpt-4o"
# 可选但推荐
TAVILY_API_KEY=your_tavily_api_key
RAPID_API_KEY=
3、设置Supabase数据库:
# 登录Supabase CLI
supabase login
# 链接到项目(在Supabase仪表板查找项目引用)
supabase link --project-ref your_project_reference_id
# 推送数据库迁移
supabase db push
然后再次访问Supabase网页平台 -> 选择项目 -> 项目设置 -> 数据API -> 在"Exposed Schema"中添加"basejump"(如尚未存在)
4、配置前端环境:
cd ../frontend
cp .env.example .env.local
编辑 .env.local
文件:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_BACKEND_URL="http://localhost:8000/api"
NEXT_PUBLIC_URL="http://localhost:3000"
5、安装依赖:
# 安装前端依赖
cd frontend
npm install
# 安装后端依赖
cd ../backend
pip install -r requirements.txt
6、启动应用:
在一个终端启动前端:
cd frontend
npm run dev
在另一个终端启动后端:
cd backend
python api.py
7、访问Suna:
- 打开浏览器访问
http://localhost:3000
- 使用Supabase身份验证注册账户
- 开始使用自托管的Suna实例!
五、致谢
主要贡献者
核心技术
- Daytona - 安全代理执行环境
- Supabase - 数据库
- Playwright - 浏览器自动化
- OpenAI - LLM提供商
- Anthropic - LLM提供商
- Tavily - 搜索能力
- RapidAPI - API服务
伊织 xAI 2025-04-25(五)