General Introduction
Suna is an open source general-purpose AI agent developed by Kortix AI, hosted on GitHub, based on the Apache 2.0 license, allowing users to download, modify and self-host it for free. It helps users with complex tasks such as web browsing, file management, data crawling, and website deployment through natural language conversations.Suna is built on a modular architecture that includes a Python/FastAPI backend, a Next.js/React frontend, a Supabase database, and a Daytona sandbox to ensure security and flexibility. It supports integration with large language models such as OpenAI, Anthropic, and more, with Tavily and RapidAPI provide real-time search and data services.
Function List
- Browser Automation : Automatically navigate web pages, fill out forms, extract data, support price monitoring and content crawling.
- Document management : Create, edit and delete files, support batch processing and format conversion (e.g. CSV to JSON).
- Web crawling and searching : Crawl web content and generate structured reports through Tavily real-time search.
- command-line operation : Executes Linux commands and handles system tasks in the Daytona sandbox.
- Website deployment : Deploy static websites to Cloudflare Pages to generate publicly accessible links.
- API Integration : Connect to services like LinkedIn, Zillow, etc. for specialized data such as company information or real estate data.
- data analysis : Process JSON, CSV, XML data to generate visual charts or reports.
- Mission planning : By
todo.md
The system breaks down complex tasks, automates execution and tracks progress.
Using Help
Installation process
Suna supports self-hosting and is suitable for users with Python and Node.js development experience. Here are the detailed installation steps:
- Preparing the environment ::
- Install Python 3.11+, Node.js 20.x, and Git.
- Configure Redis (Upstash or local installation recommended).
- Create a Supabase project and get the API URL, anonymization key, and service role key.
- Register for a Daytona account, configure
adamcohenhillel/kortix-suna:0.0.20
Mirroring. - Get OpenAI or Anthropic API key.
- (Optional) Get Tavily and RapidAPI keys to enhance search and data capabilities.
- Cloning Codebase ::
git clone https://github.com/kortix-ai/suna.git
cd suna
- Configuring the back-end environment ::
- go into
backend
directory, copy the.env.example
because of.env
::cd backend cp .env.example .env
- compiler
.env
, fill in the following:NEXT_PUBLIC_URL="http://localhost:3000" SUPABASE_URL=your_supabase_url SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key REDIS_HOST=your_redis_host REDIS_PORT=6379 REDIS_PASSWORD=your_redis_password REDIS_SSL=True DAYTONA_API_KEY=your_daytona_api_key DAYTONA_SERVER_URL="https://app.daytona.io/api" DAYTONA_TARGET="us" ANTHROPIC_API_KEY=your_anthropic_api_key MODEL_TO_USE="anthropic/claude-3-7-sonnet-latest" TAVILY_API_KEY=your_tavily_api_key RAPID_API_KEY=your_rapid_api_key
- go into
- Configuring the Supabase Database ::
- Install the Supabase CLI:
npm install -g @supabase/supabase
- Log in and link the project:
supabase login supabase link --project-ref your_project_reference_id supabase db push
- In Project Settings > Data API in the Supabase console, make sure "basejump" appears in the Exposed Schema.
- Install the Supabase CLI:
- Configuring the front-end environment ::
- go into
frontend
directory, copy the.env.example
because of.env.local
::cd ../frontend cp .env.example .env.local
- compiler
.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"
- go into
- Installation of dependencies ::
- Front End:
cd frontend npm install
- Rear end:
cd ../backend pip install -r requirements.txt
- Front End:
- Starting services ::
- Start the back end:
cd backend python api.py
- Start the front end:
cd frontend npm run dev
- Open your browser and visit
http://localhost:3000
, register for an account to use it.
- Start the back end:
- (Optional) Cloud Deployment ::
- Use the cloud services provided by Kortix via suna.so, eliminating the need for local configuration.
Main Functions
Browser Automation
Suna uses the Chromium browser to perform web actions. For example, type "Extract iPhone 14 price from Amazon":
- Suna opens Amazon and searches for iPhone 14.
- Locate the price element and extract the data.
- Returns the result or saves it as a file.
procedure ::
- Enter a command into the chat screen, such as "Extract prices from a website".
- Suna displays the progress of the operation and returns the result.
- Data can be exported as CSV or JSON.
Document management
Suna supports file creation and editing. For example, "Create report.txt to write sales data":
- Suna generates a file and writes the specified contents.
- Supports batch processing, such as converting file formats.
procedure ::
- Enter a command that specifies the file name and contents.
- Suna Returns a preview of the file path or contents.
- You can continue with operations such as "Convert file to PDF".
Web crawling and searching
Suna integrates with Tavily to provide real-time search. For example, "Analyzing the German automotive market":
- Suna searches relevant web pages and extracts data.
- Cleaning data and generating reports.
procedure ::
- Enter an analysis theme.
- Suna plans the capture process and displays the results.
- Can be saved as CSV, JSON or PDF.
command-line operation
Suna runs Linux commands in the Daytona sandbox. For example, "list catalog files":
- Suna Implementation
ls
, returns the result. - Support for complex commands such as
grep
maybesed
The
procedure ::
- Enter a command or task description.
- Suna returns the output or processing results.
Website deployment
Suna supports static website deployment. For example, "Deploy my HTML project":
- Suna validation file, uploaded to Cloudflare Pages.
- Returns the public URL.
procedure ::
- Enter the project path and deployment instructions.
- Suna confirms and executes the deployment.
- Return to the access link.
Featured Function Operation
Mission planning
Suna use todo.md
Systematically break down tasks. For example, "Plan a 10-day trip to London."
- Suna creates task lists (search for flights, hotels, events).
- Execute item by item and generate trip files.
procedure ::
- Enter a description of the task.
- Suna shows
todo.md
Plan. - The user can adjust or confirm the implementation.
API Integration
Suna supports APIs for LinkedIn, Zillow, etc. e.g. "Grab Barcelona company data":
- Suna calls the LinkedIn API to extract company information.
- Generate a list of sales leads.
procedure ::
- Enter the data requirements.
- Suna configures the API and displays the results.
- Can be exported to Excel.
application scenario
- Market Research
Suna crawls industry data to generate reports. For example, to analyze the UK healthcare market, Suna extracts data from Google and Crunchbase to collate key players and market size. - Recruitment Support
Suna can search for candidates from LinkedIn. For example, find Junior Software Engineers in Munich, filter for education and experience, and output a list of candidates. - Content generation
Suna generates reports or itineraries. For example, plan a 7-day corporate trip from Paris to California, search for flights and activities, and output a detailed program. - B2B Sales
Suna captures prospect data. For example, find companies with 10-50 people in Barcelona and generate contact information and personalized email templates. - SEO Optimization
Suna analyzes website SEO to find keyword rankings and missing topics. For example, analyze suna.so and generate reports with optimization recommendations.
QA
- Is Suna suitable for non-technical users?
Non-technical users can use the cloud service via suna.so with no configuration required. Self-hosting requires a technical background. - Is Suna completely free?
Suna is free for open source, but cloud deployments or API calls (e.g. Tavily, RapidAPI) may incur fees. - What models does Suna support?
Suna supports models such as OpenAI, Anthropic, etc. through LiteLLM, which is recommended. Claude or GPT-4o. - How do I secure Suna?
Suna uses Daytona Sandbox to isolate operations and secure the system. Users need to manage API keys properly.