当前位置: 首页 > ds >正文

Suna - 开源通用人工智能助手

本文翻译整理自:https://github.com/kortix-ai/suna

文章目录

    • 一、关于 Suna
      • 相关链接资源
      • 关键功能特性
    • 二、架构设计
      • 1、后端 API
      • 2、前端
      • 3、Agent Docker
      • 4、Supabase 数据库
    • 三、使用案例
    • 四、本地运行/自托管
      • 1、系统要求
      • 2、先决条件
      • 3、安装步骤
    • 五、致谢
      • 主要贡献者
      • 核心技术


在这里插入图片描述


一、关于 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(云部署推荐)
  • 本地安装:
    • Mac: brew install redis
    • Linux: 遵循发行版特定说明
    • Windows: 使用WSL2或Docker

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密钥

  • 从 OpenAI 或 Anthropic 获取API密钥
  • 虽然其他提供商可通过 LiteLLM 工作,但推荐使用OpenAI和Anthropic

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实例!

五、致谢


主要贡献者

  • Adam Cohen Hillel
  • Dat-lequoc
  • Marko Kraemer

核心技术

  • Daytona - 安全代理执行环境
  • Supabase - 数据库
  • Playwright - 浏览器自动化
  • OpenAI - LLM提供商
  • Anthropic - LLM提供商
  • Tavily - 搜索能力
  • RapidAPI - API服务

伊织 xAI 2025-04-25(五)

http://www.xdnf.cn/news/3024.html

相关文章:

  • 算法每日一题 | 入门-顺序结构-A+B Problem
  • 颜色分类,不靠“调色盘”:双指针 VS 计数排序的正面PK
  • 【Hive入门】Hive高级特性:视图与物化视图
  • 从 Synchron 会议观察 Lustre/Scade 同步语言的演化 (1994 - 2024)
  • 探索豆包WEB/PC超能创意1.0:创意新利器的全面解析
  • 1.6 点云数据获取方式——单目相机多视图几何
  • 论文笔记-基于多层感知器(MLP)的多变量桥式起重机自适应安全制动与距离预测
  • socket套接字-UDP(下)
  • 揭开应用程序的神秘面纱:深入了解 AWS X-Ray
  • 阿里云 CentOS YUM 源配置指南
  • 【论文阅读】Partial Retraining Substitute Model for Query-Limited Black-Box Attacks
  • 高德地图MCP介绍和cursor接入编码示例(高德MCP)
  • AWS SQS 队列策略配置指南:常见错误与解决方案
  • 【计算机视觉】深度解析MediaPipe:谷歌跨平台多媒体机器学习框架实战指南
  • 在开发板上如何处理curl: (60) SSL certificate problem
  • 微服务架构下的熔断与降级:原理、实践与主流框架深度解析
  • CentOS一键安装MySQL5.7(源码安装)
  • matplotlib饼图练习
  • 通过 Node.js 搭配 Nodemailer 实现邮箱验证码发送
  • 五、UI自动化测试05--PyTest框架
  • grafana/loki 设置日志保留时间
  • Cursor —— AI编辑器 使用详解
  • 【动态导通电阻】 GaN PiN二极管电导调制对动态 RON 的影响
  • 从Windows开发迁移到信创开发的指南:国产替代背景下的技术路径与实践
  • Webshell管理工具的流量特征
  • 桂链:使用Fabric的测试网络
  • 043-代码味道-循环依赖
  • LeetCode58_最后一个单词的长度
  • QT控件 参考Qt的PIMPL设计模式实现使用QWidget控件绘制3D饼状图表和3D柱状图表,使用QChartView绘制圆柱体图表
  • CORS跨域学习