suna  by kortix-ai

Open-source AI agent for real-world task automation

created 10 months ago
17,104 stars

Top 2.7% on sourcepulse

GitHubView on GitHub
Project Summary

Suna is an open-source generalist AI agent designed to act on behalf of users to accomplish real-world tasks through natural conversation. It targets users needing automated workflows for research, data analysis, and complex problem-solving, offering a unified interface for diverse capabilities.

How It Works

Suna employs a modular architecture comprising a Python/FastAPI backend for API endpoints and LLM integration (via LiteLLM), a Next.js/React frontend for the user interface, isolated Docker containers for agent execution with sandboxed tools, and Supabase for data persistence, authentication, and real-time features. This design allows for secure, isolated execution of agent tasks, including browser automation, file management, and command-line operations, while leveraging a robust backend and database for scalability and user management.

Quick Start & Requirements

  • Installation: Clone the repository, configure backend (backend/.env) and frontend (frontend/.env.local) environment files with Supabase, Redis, Daytona, and LLM API keys. Install dependencies (npm install in frontend, pip install -r requirements.txt in backend).
  • Running: Start frontend (npm run dev in frontend) and backend (python api.py in backend) in separate terminals. Alternatively, use docker compose -f docker-compose.ghcr.yaml up after configuring environment variables.
  • Prerequisites: Python 3.11, Node.js, Supabase project, Redis instance, Daytona account/API key, LLM API keys (Anthropic recommended), optional Tavily, Firecrawl, and RapidAPI keys.
  • Access: http://localhost:3000
  • Docs: https://github.com/kortix-ai/suna

Highlighted Details

  • Integrates browser automation, file management, command-line execution, and API services.
  • Supports multiple LLM providers via LiteLLM, with Anthropic recommended for specific tool-call formatting.
  • Utilizes Daytona for secure, isolated agent execution environments.
  • Offers extensive use cases, including market analysis, lead generation, web scraping, and report generation.

Maintenance & Community

  • Active development with contributions from Adam Cohen Hillel, Dat-lequoc, and Marko Kraemer.
  • Community channels available via Discord.
  • Links to Twitter and GitHub stars are provided.

Licensing & Compatibility

  • Licensed under the Apache License, Version 2.0.
  • Permissive license suitable for commercial use and integration with closed-source projects.

Limitations & Caveats

The setup requires multiple external services (Supabase, Redis, Daytona) and API keys, which may incur costs. LLM integration requires specific prompt adjustments for non-Anthropic providers to ensure correct tool call output.

Health Check
Last commit

1 day ago

Responsiveness

1 week

Pull Requests (30d)
149
Issues (30d)
144
Star History
7,747 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.