Suna: 開源多面手 AI 代理

GitHub:GitHub - kortix-ai/suna: Suna - Open Source Generalist AI Agent

更多AI開源軟件:發現分享好用的AI工具、AI開源軟件、AI模型、AI變現 - 小眾AI

Suna 是一個完全開源的 AI 助手,可幫助您輕松完成實際任務。通過自然對話,Suna 成為您進行研究、數據分析和日常挑戰的數字伴侶 — 將強大的功能與直觀的界面相結合,了解您的需求并提供結果。

Suna 強大的工具包包括用于導航 Web 和提取數據的無縫瀏覽器自動化、用于文檔創建和編輯的文件管理、Web 爬蟲和擴展搜索功能、用于系統任務的命令行執行、網站部署以及與各種 API 和服務的集成。這些功能和諧地協同工作,使 Suna 能夠解決您的復雜問題并通過簡單的對話實現工作流程自動化!

?

?

主要功能

? 瀏覽器自動化:自動抓取網頁數據,告別手動復制粘貼!
? 文件管理:智能生成報告、表格,支持多種格式,文檔管理從未如此簡單。
? 網絡爬蟲:精準抓取信息,自動生成總結,研究效率翻倍!
? 命令行執行:自動化腳本、系統管理,復雜操作一句話搞定。
? API集成:無縫對接LinkedIn、Crunchbase等平臺,輕松獲取第三方數據。
? 數據分析:市場趨勢、投資建議、論文對比,Suna幫你深度挖掘數據價值!

安裝和使用

先決條件
  1. Supabase:

    • 創建新的 Supabase 項目
    • 保存項目的 API URL、anon key 和服務角色 key 以備后用
    • 安裝 Supabase CLI
  2. Redis 和 RabbitMQ:

    • 轉到文件夾/backend?
    • 跑docker compose up redis rabbitmq?
  3. Daytona:

    • 在 Daytona 上創建帳戶
    • 從您的賬戶設置中生成 API 密鑰
    • 轉到圖片
    • 點擊“添加圖片”
    • Enter 作為映像名稱kortix/suna:0.1.2?
    • 設置為 Entrypoint/usr/bin/supervisord -n -c /etc/supervisor/conf.d/supervisord.conf?
  4. LLM API 密鑰:

    • 獲取 API 密鑰 Anthropic
    • 雖然其他提供程序應該通過 LiteLLM 工作,但建議使用 Anthropic – 需要調整提示,以便其他提供程序為工具調用輸出正確的 XML。
  5. 搜索 API 密鑰(可選):

    • 要增強搜索功能,請獲取 Tavily API 密鑰
    • 對于 Web 抓取功能,請獲取 Firecrawl API 密鑰
  6. RapidAPI API 密鑰(可選):

    • 要啟用 LinkedIn 等 API 服務,您需要一個 RapidAPI 密鑰

    • 每個服務都需要在你的 RapidAPI 賬戶中單獨激活:

      1. 在其相應的文件中找到服務的 (例如,在 backend/agent/tools/data_providers/LinkedinProvider.pybase_url"https://linkedin-data-scraper.p.rapidapi.com"?)
      2. 在 RapidAPI Marketplace 上訪問該特定 API
      3. 訂閱服務(許多服務提供免費套餐,但請求有限)
      4. 訂閱后,您的代理將通過 API 服務工具使用該服務
安裝步驟
  1. 克隆存儲庫:
git clone https://github.com/kortix-ai/suna.git
cd suna
  1. 配置后端環境:
cd backend
cp .env.example .env  # Create from example if available, or use the following template

編輯文件并填寫您的憑據:.env?

NEXT_PUBLIC_URL="http://localhost:3000"# Supabase credentials from step 1
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key# Redis credentials from step 2
REDIS_HOST=your_redis_host
REDIS_PORT=6379
REDIS_PASSWORD=your_redis_password
REDIS_SSL=True  # Set to False for local Redis without SSLRABBITMQ_HOST=your_rabbitmq_host # Set to localhost if running locally
RABBITMQ_PORT=5672# Daytona credentials from step 3
DAYTONA_API_KEY=your_daytona_api_key
DAYTONA_SERVER_URL="https://app.daytona.io/api"
DAYTONA_TARGET="us"# Anthropic
ANTHROPIC_API_KEY=# OpenAI API:
OPENAI_API_KEY=your_openai_api_key# Optional but recommended
TAVILY_API_KEY=your_tavily_api_key  # For enhanced search capabilities
FIRECRAWL_API_KEY=your_firecrawl_api_key  # For web scraping capabilities
RAPID_API_KEY=
  1. 設置 Supabase 數據庫:
# Login to Supabase CLI
supabase login# Link to your project (find your project reference in the Supabase dashboard)
supabase link --project-ref your_project_reference_id# Push database migrations
supabase db push

然后,再次轉到 Supabase Web 平臺 ->選擇您的項目 -> 項目設置 -> 數據 API -> 并在“公開的架構”中添加“basejump”(如果還沒有)

  1. 配置前端環境:
cd ../frontend
cp .env.example .env.local  # Create from example if available, or use the following template

編輯文件:.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"  # Use this for local development
NEXT_PUBLIC_URL="http://localhost:3000"

注意:如果您使用的是 Docker Compose,請使用容器名稱而不是 localhost:

NEXT_PUBLIC_BACKEND_URL="http://backend:8000/api"  # Use this when running with Docker Compose
  1. 安裝依賴項:
# Install frontend dependencies
cd frontend
npm install# Install backend dependencies
cd ../backend
poetry install
  1. 啟動應用程序:
    在一個終端中,啟動前端:
cd frontend
npm run dev

在另一個終端中,啟動后端:

cd backend
poetry run python3.11 api.py

在另一個終端中,啟動 backend worker:

cd backend
poetry run python3.11 -m dramatiq run_agent_background

5-6. Docker Compose 替代方案:

在使用 Docker Compose 運行之前,請確保您的環境文件已正確配置:

  • 在 中,如上所述設置所有必需的環境變量backend/.env?

    • 對于 Redis 配置,請使用 instead 而不是 localhostREDIS_HOST=redis?

    • 對于 RabbitMQ,請使用 localhostRABBITMQ_HOST=rabbitmq?

    • Docker Compose 設置將自動設置這些 Redis 環境變量:

      REDIS_HOST=redis
      REDIS_PORT=6379
      REDIS_PASSWORD=
      REDIS_SSL=FalseRABBITMQ_HOST=rabbitmq
      RABBITMQ_PORT=5672
      
  • 在 中,確保設置為使用容器名稱frontend/.env.localNEXT_PUBLIC_BACKEND_URL="http://backend:8000/api"?

然后運行:

export GITHUB_REPOSITORY="your-github-username/repo-name"
docker compose -f docker-compose.ghcr.yaml up

如果您在本地構建鏡像,而不是使用預構建的鏡像:

docker compose up

Docker Compose 設置包括后端將自動使用的 Redis 和 RabbitMQ 服務。

  1. 訪問 Suna:

    • 打開瀏覽器并導航到http://localhost:3000?
    • 使用 Supabase 身份驗證注冊一個帳戶
    • 開始使用您的自托管 Suna 實例!

實戰演習

我們讓它規劃下5.1的旅游行程

生成一次前往倫敦的個人旅行,5 月 1 日從深圳出發。行程將持續 10 天。在倫敦市中心尋找一家谷歌評價至少為 4.5 分的住宿,為我尋找旅途中有趣的戶外活動。生成一份詳細的行程計劃。

可以看到suna做了一系列的推理,并且循環使用了:**網絡搜索->命令執行->創建文件**等操作!經過了15次的tools調用,最終生成了一份完整的攻略計劃!

?

?

可以看到,功能還是很強大的,目前看最大的缺點就是價格有點貴,每個月只能使用2小時,費用卻需要20美元!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80236.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80236.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80236.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

直接從圖片生成 html

1. 起因, 目的: 無意間碰到一個網站: https://wise.com/zh-cn/currency-converter/brl-to-cny-rate其實我就是想搜一下巴西的貨幣單位是什么。這個網站的設計很漂亮, 尤其是顏色搭配很不錯,討人喜歡。所以我想讓 AI 幫我生成類似的效果。本文…

驗證碼與登錄過程邏輯學習總結

目錄 前言 一、驗證碼與登錄 二、使用步驟 1.先apipost測試一波 2.先搞驗證碼 3.跨域問題 4.后端走起 總結 前言 近期要做一個比較完整的demo,需要自己做一個前端登錄頁面,不過api接口都是現成的,一開始以為過程會很easy,…

軌道炮--范圍得遍歷,map巧統計

1.思路很難想,但代碼一看一下就明白了,就是模擬時間,map存起來遍歷也不受10*6影響 2.每次先統計點對應的直線,再動這個點,map一遍歷實時更新ma統計max,AC!!!! https://www.luogu.com.cn/problem/P8695 #i…

Vue 3.5 新特性深度解析:全面升級的開發體驗

Vue 3.5 新特性深度解析:全面升級的開發體驗 前言 隨著Vue 3.5的正式發布,這個漸進式JavaScript框架再次帶來了令人興奮的改進。本文將深入剖析Vue 3.5的核心更新,幫助開發者快速掌握新特性并應用于實際項目。 ? 核心新特性 1. 增強的響應…

質量管理工程師面試總結

今天閑著無聊參加了學校招聘會的一家雙選會企業,以下是面試的過程。 此次面試采用的是一對多的形式。(此次三個求職者,一個面試官) 面試官:開始你們每個人先做個自我介紹吧。 哈哈哈哈哈哈哈哈,其實我們…

c++ std庫中的文件操作學習筆記

1. 概述 C標準庫提供了 頭文件中的幾個類來進行文件操作,這些類封裝了底層的文件操作,提供了面向對象和類型安全的接口,使得文件讀寫更加便捷和高效。主要的文件流類包括: std::ifstream:用于從文件中讀取數據。 st…

【網絡安全】SQL注入

如果文章不足還請各位師傅批評指正! 想象一下,你經營著一家咖啡店,顧客可以通過店內的點單系統下單。這個系統會根據顧客的輸入,向后廚發送指令,比如“為顧客A準備一杯拿鐵”。 然而,如果有個不懷好意的顧客…

解決Mawell1.29.2啟動SQLException: You have an error in your SQL syntax問題

問題背景 此前在openEuler24.03 LTS環境下的Hive使用了MySQL8.4.2,在此環境下再安裝并啟動Maxwell1.29.2時出現如下問題 [ERROR] Maxwell: SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version f…

Oracle APEX IR報表列寬調整

目錄 1. 問題:如何調整Oracle APEX IR報表列寬 2. 解決辦法 1. 問題:如何調整Oracle APEX IR報表列寬 1-1. 防止因標題長而數據短,導致標題行的文字都立起來了,不好看。 1-2. 防止因數據太長而且中間還沒有空格,把列…

pytorch 14.3 Batch Normalization綜合調參實踐

文章目錄 一、Batch Normalization與Batch_size綜合調參二、復雜模型上的Batch_normalization表現1、BN對復雜模型(sigmoid)的影響2、模型復雜度對模型效果的影響3、BN對復雜模型(tanh)的影響 三、包含BN層的神經網絡的學習率優化…

Model.eval() 與 torch.no_grad() PyTorch 中的區別與應用

Model.eval() 與 torch.no_grad(): PyTorch 中的區別與應用 在 PyTorch 深度學習框架中,model.eval() 和 torch.no_grad() 是兩個在模型推理(inference)階段經常用到的函數,它們各自有著獨特的功能和應用場景。本文將詳細解析這兩…

Swagger go中文版本手冊

Swaggo(github.com/swaggo/swag)的注解語法是基于 OpenAPI 2.0 (以前稱為 Swagger 2.0) 規范的,并添加了一些自己的約定。 主要官方文檔: swaggo/swag GitHub 倉庫: 這是最權威的來源。 鏈接: https://github.com/swaggo/swag重點關注: README.md: 包含了基本的安裝、使用…

物聯網設備遠程管理:基于代理IP的安全固件更新通道方案

在物聯網設備遠程管理中,固件更新的安全性直接關系到設備功能穩定性和系統抗攻擊能力。結合代理IP技術與安全協議設計,可構建安全、高效的固件更新通道。 一、代理IP在固件更新中的核心作用 網絡層隱匿與路由優化 隱藏更新源服務器:通過代理I…

【C++重載操作符與轉換】句柄類與繼承

目錄 一、句柄類的基本概念 1.1 什么是句柄類 1.2 句柄類的設計動機 1.3 句柄類的基本結構 二、句柄類的實現方式 2.1 基于指針的句柄類 2.2 值語義的句柄類 2.3 引用計數的句柄類 三、句柄類與繼承的結合應用 3.1 實現多態容器 3.2 實現插件系統 3.3 實現狀態模式…

谷歌曾經的開放重定向漏洞(如今已經修復) -- noogle DefCamp 2024

題目描述: 上周,我決定創建自己的搜索引擎。這有點難,所以我背上了另一個。我也在8000端口上嘗試了一些東西。 未發現題目任何交互,但是存在一個加密js const _0x43a57f _0x22f9; (function(_0x3d7d57, _0x426e05) {const _0x16c3fa _0x22f9, _0x3187…

【C#】ToArray的使用

在 C# 中&#xff0c;ToArray 方法通常用于將實現了 IEnumerable<T> 接口的集合&#xff08;如 List<T>&#xff09;轉換為數組。這個方法是 LINQ 提供的一個擴展方法&#xff0c;位于 System.Linq 命名空間中。因此&#xff0c;在使用 ToArray 方法之前&#xff0…

資產管理平臺—chemex

1、簡介 Chemex CMDB&#xff08;Configuration Management Database&#xff09;是一個基于現代微服務架構的資產管理與自動化平臺&#xff0c;專為 IT 基礎設施與業務資產管理而設計。其核心目標是解決大規模系統運維中資產信息混亂、配置分散、數據不一致等問題&#xff0c…

【AI】mcp server是什么玩意兒

文章目錄 背景mcp server的必要性mcp server的基本概念mcp server的架構與核心組件總結 背景 劈里啪啦的整了一堆概念&#xff0c;對mcp server還是只停留在知道個詞的地步。 雖然目前大模型的對話生成能力很強&#xff0c;但是大模型&#xff08;如deepseek&#xff09;并不能…

c# 數據結構 樹篇 入門樹與二叉樹的一切

事先聲明,本文不適合對數據結構完全不懂的小白 請至少學會鏈表再閱讀 c# 數據結構 鏈表篇 有關單鏈表的一切_c# 鏈表-CSDN博客 數據結構理論先導:《數據結構&#xff08;C 語言描述&#xff09;》也許是全站最良心最通俗易懂最好看的數據結構課&#xff08;最遲每周五更新~~&am…

《Cookie Cutter》中2000多張精靈表與10000個2D光源的管理之道

一個小團隊如何在多個平臺上以優秀的效果展示手繪動畫&#xff1f;Subcult Joint 工作室給出了答案。他們用六年時間開發出了游戲《Cookie Cutter》。游戲中使用了數千個使用傳統動畫技術制作的高分辨率資產&#xff0c;而且這些資產都在 Unity 中進行了優化。由于工作室需要在…