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

打印 上一主题 下一主题

主题 1970|帖子 1970|积分 5910

本文翻译整理自: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(云摆设推荐)
  • 本地安装:

    • 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、克隆仓库
  1. git clone https://github.com/kortix-ai/suna.git
  2. cd suna
复制代码
2、配置后端环境
  1. cd backend
  2. cp .env.example .env
复制代码

编辑 .env 文件并填写凭证:
  1. NEXT_PUBLIC_URL="http://localhost:3000"
  2. # Supabase凭证
  3. SUPABASE_URL=your_supabase_url
  4. SUPABASE_ANON_KEY=your_supabase_anon_key
  5. SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
  6. # Redis凭证
  7. REDIS_HOST=your_redis_host
  8. REDIS_PORT=6379
  9. REDIS_PASSWORD=your_redis_password
  10. REDIS_SSL=True  # 本地Redis无SSL设为False
  11. # Daytona凭证
  12. DAYTONA_API_KEY=your_daytona_api_key
  13. DAYTONA_SERVER_URL="https://app.daytona.io/api"
  14. DAYTONA_TARGET="us"
  15. # Anthropic或OpenAI:
  16. # Anthropic
  17. ANTHROPIC_API_KEY=
  18. MODEL_TO_USE="anthropic/claude-3-7-sonnet-latest"
  19. # 或OpenAI API:
  20. OPENAI_API_KEY=your_openai_api_key
  21. MODEL_TO_USE="gpt-4o"
  22. # 可选但推荐
  23. TAVILY_API_KEY=your_tavily_api_key
  24. RAPID_API_KEY=
复制代码

3、设置Supabase数据库
  1. # 登录Supabase CLI
  2. supabase login
  3. # 链接到项目(在Supabase仪表板查找项目引用)
  4. supabase link --project-ref your_project_reference_id
  5. # 推送数据库迁移
  6. supabase db push
复制代码

然后再次访问Supabase网页平台 -> 选择项目 -> 项目设置 -> 数据API -> 在"Exposed Schema"中添加"basejump"(如尚未存在)

4、配置前端环境
  1. cd ../frontend
  2. cp .env.example .env.local
复制代码

编辑 .env.local 文件:
  1. NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
  2. NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
  3. NEXT_PUBLIC_BACKEND_URL="http://localhost:8000/api"
  4. NEXT_PUBLIC_URL="http://localhost:3000"
复制代码

5、安装依赖
  1. # 安装前端依赖
  2. cd frontend
  3. npm install
  4. # 安装后端依赖
  5. cd ../backend
  6. pip install -r requirements.txt
复制代码

6、启动应用
在一个终端启动前端:
  1. cd frontend
  2. npm run dev
复制代码

在另一个终端启动后端:
  1. cd backend
  2. 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(五)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

河曲智叟

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表