Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

Suna AI: Đội ngũ AI Tổng quát Mã nguồn Mở

Minh Triết

Minh Triết

Updated on tháng 4 25, 2025

Lĩnh vực trí tuệ nhân tạo ngày càng chuyển mình hướng tới những tác nhân có khả năng làm nhiều hơn chỉ là xử lý thông tin – chúng có thể hành động. Suna AI xuất hiện trong không gian này như một tác nhân AI tổng quát mã nguồn mở hấp dẫn, được thiết kế để hoạt động như một người bạn kỹ thuật số có khả năng hiểu các chỉ dẫn bằng ngôn ngữ tự nhiên và thực hiện các nhiệm vụ phức tạp trong thế giới thực trực tiếp thay mặt bạn. Được phát triển bởi Kortix AI và phát hành dưới giấy phép Apache 2.0, Suna tự phân biệt mình bằng cách kết hợp một bộ công cụ mạnh mẽ với giao diện hội thoại, nhằm cầu nối khoảng cách giữa ý định của người dùng và hành động kỹ thuật số hữu hình.

Khác với các công cụ AI chuyên biệt, sức mạnh của Suna nằm ở sự đa dạng của nó. Nó được xây dựng để phối hợp nhiều khả năng – từ duyệt web và quản lý tệp đến thực thi mã và tương tác với API – tất cả đều được điều khiển bởi các câu lệnh hội thoại của bạn. Bài viết này cung cấp cái nhìn tổng quan về các khả năng và kiến trúc cốt lõi của Suna, tiếp theo là hướng dẫn chi tiết, từng bước về cách thiết lập và chạy phiên bản của riêng bạn trên máy tính cá nhân, giúp bạn tận dụng tác nhân AI mạnh mẽ này trong môi trường của riêng bạn.

💡
Bạn có muốn một công cụ kiểm tra API tuyệt vời có khả năng tạo ra tài liệu API đẹp mắt?

Bạn có muốn một nền tảng tích hợp, All-in-One cho đội ngũ phát triển của bạn làm việc cùng nhau với năng suất tối đa?

Apidog đáp ứng tất cả các nhu cầu của bạn, và thay thế Postman với giá cả phải chăng hơn nhiều!
button

Suna AI là gì và Suna AI hoạt động như thế nào?

Để hiểu Suna có thể làm gì, điều cần thiết là nắm bắt các công cụ mà nó sở hữu. Những khả năng này cho phép nó tương tác với thế giới kỹ thuật số giống như một người dùng, nhưng được tự động hóa và điều khiển bởi AI.

  1. Tự động hóa trình duyệt (qua Playwright): Suna có thể khởi động và kiểm soát một phiên bản trình duyệt web trong môi trường an toàn của nó. Điều này có nghĩa là nó có thể điều hướng đến các URL cụ thể, đăng nhập vào các trang web (nếu đã cung cấp thông tin xác thực một cách an toàn), nhấp vào các nút, điền vào các biểu mẫu, cuộn trang, và, quan trọng nhất, trích xuất dữ liệu trực tiếp từ nội dung trang web. Khả năng này mở ra một lượng lớn thông tin và chức năng có sẵn trên web cho việc tự động hóa.
  2. Quản lý tệp: Tác nhân không chỉ bị giới hạn ở dữ liệu web. Nó có khả năng tương tác với hệ thống tệp trong môi trường được cách ly của nó. Điều này bao gồm việc tạo tệp mới (như báo cáo hoặc xuất dữ liệu), đọc các tài liệu hiện có, chỉnh sửa nội dung của chúng và sắp xếp các tệp vào trong các thư mục. Điều này rất quan trọng cho các nhiệm vụ liên quan đến việc tạo ra các đầu ra hoặc xử lý dữ liệu cục bộ.
  3. Quét web & Tìm kiếm nâng cao: Ngoài việc duyệt trang đơn, Suna có thể quét hệ thống các trang web (theo liên kết) để thu thập thông tin bao quát. Nó cũng có thể tích hợp với các API tìm kiếm chuyên dụng (như tích hợp Tavily tùy chọn) để thực hiện việc truy xuất thông tin mục tiêu và tinh vi hơn so với việc sử dụng công cụ tìm kiếm thông thường, cho phép khả năng nghiên cứu sâu hơn.
  4. Thực thi dòng lệnh: Trong container Docker an toàn của nó, Suna có khả năng thực thi các lệnh shell. Tính năng mạnh mẽ này cho phép nó chạy các tập lệnh, sử dụng các tiện ích dòng lệnh khác, tương tác với tài nguyên hệ thống (trong giới hạn của container), và có thể tự động hóa các nhiệm vụ như xây dựng phần mềm hoặc triển khai nếu được cấu hình đúng cách. An ninh là yếu tố hàng đầu ở đây, điều này được quản lý bởi môi trường cô lập.
  5. Tích hợp API (qua RapidAPI & Cuộc gọi trực tiếp): Suna có thể thực hiện các cuộc gọi đến các Giao diện Lập trình Ứng dụng (API) bên ngoài. Điều này cho phép nó kết nối với một hệ sinh thái rộng lớn của các dịch vụ bên thứ ba. Tài liệu nhấn mạnh tích hợp RapidAPI tùy chọn, cho phép truy cập vào nhiều nhà cung cấp dữ liệu khác nhau (ví dụ: cho dữ liệu LinkedIn, thông tin tài chính, v.v.), nhưng nó cũng có thể được cấu hình để tương tác với các API RESTful khác trực tiếp, mở rộng tiềm năng thu thập dữ liệu và thực hiện hành động của nó một cách to lớn.
  6. Giải thích mã: Suna bao gồm khả năng thực thi các đoạn mã (chủ yếu là Python) trong môi trường an toàn của nó. Điều này không chỉ để chạy các tập lệnh hiện có mà còn cho phép tác nhân tạo động và thực thi mã để thực hiện các phép toán phức tạp, phân tích dữ liệu, xử lý logic tùy chỉnh, hoặc các phép biến đổi vượt ra ngoài khả năng của các công cụ khác của nó.

Thực sự sức mạnh của Suna nằm ở khả năng của AI chọn lọc và sắp xếp các công cụ này một cách thích hợp dựa trên yêu cầu của người dùng. Một chỉ dẫn duy nhất có thể kích hoạt một quy trình làm việc liên quan đến việc tìm kiếm trên web, trích xuất dữ liệu, xử lý nó bằng mã được diễn giải, định dạng kết quả thành một tệp, và lưu lại – tất cả đều được tác nhân quản lý.

Kiến trúc của Suna: Các thành phần liên quan

Để hiểu quy trình thiết lập, cần có cái nhìn cơ bản về các thành phần kiến trúc chính của Suna:

  1. API Backend (Python/FastAPI): Logic cốt lõi nằm ở đây. Nó quản lý các yêu cầu của người dùng, duy trì trạng thái hội thoại, điều phối việc sử dụng công cụ của tác nhân, và xử lý thông tin liên lạc với Mô hình Ngôn ngữ Lớn (LLM) được chọn thông qua LiteLLM (cung cấp sự linh hoạt với các nhà cung cấp như OpenAI và Anthropic).
  2. Frontend (Next.js/React): Đây là ứng dụng web đối diện với người dùng. Nó cung cấp giao diện chat để tương tác với Suna, hiển thị kết quả, và bao gồm các phần tử bảng điều khiển để theo dõi hoạt động của tác nhân.
  3. Môi trường Docker của Tác nhân (qua Daytona): An ninh và cách ly là rất quan trọng. Mỗi tác vụ của tác nhân hoạt động trong một container Docker chuyên dụng được quản lý bởi Daytona. Môi trường cách ly này chứa tất cả các công cụ cần thiết (trình duyệt, trình diễn hợp mã, quyền truy cập hệ thống tệp) và ngăn tác nhân can thiệp vào hệ thống chủ.
  4. Cơ sở dữ liệu Supabase (PostgreSQL): Xử lý tất cả các nhu cầu lưu trữ dữ liệu, bao gồm tài khoản người dùng và xác thực, lịch sử hội thoại, lưu trữ các tệp được tạo bởi tác nhân, theo dõi trạng thái tác nhân, và có thể là phân tích.

Các thành phần này hoạt động cùng nhau, giao tiếp qua các API, để mang lại trải nghiệm Suna. Quy trình tự lưu trữ yêu cầu cấu hình và chạy các phần liên kết này.

Cách thiết lập Suna AI

Chạy Suna trên chính máy của bạn mang lại sự kiểm soát và quyền riêng tư tối đa. Các bước sau hướng dẫn bạn quy trình thiết lập:

Giai đoạn 1: Thu thập yêu cầu

Trước khi cài đặt Suna, bạn cần một vài dịch vụ bên ngoài và thông tin xác thực:

Dự án Supabase:

  • Đăng ký hoặc đăng nhập tại supabase.com và tạo một dự án mới.
  • Đi đến Cài đặt > API của dự án của bạn. Cẩn thận sao chép URL Dự án, anon public key, và service_role secret key.
  • Cài đặt Supabase CLI: Theo dõi hướng dẫn tại supabase.com/docs/guides/cli.

Cơ sở dữ liệu Redis:

  • Tùy chọn 1 (Đám mây - Được khuyến nghị): Sử dụng dịch vụ như Upstash (cung cấp mức miễn phí). Tạo một cơ sở dữ liệu và ghi lại Host/Endpoint, Port, Password, và lưu ý nếu SSL/TLS là cần thiết (thường là có).
  • Tùy chọn 2 (Cục bộ): Cài đặt Redis tại chỗ (ví dụ: brew install redis trên macOS, sudo apt install redis-server trên Debian/Ubuntu, hoặc qua Docker/WSL trên Windows). Ghi lại Host (localhost), Port (thường là 6379), Password (thường không có), và cài đặt SSL (False).

Tài khoản Daytona & Cấu hình Hình ảnh:

  • Đăng ký tại daytona.io.
  • Đi đến Cài đặt > API Keys và tạo một API Key mới. Sao chép nó.
  • Đi đến phần Hình ảnh. Nhấp vào Thêm Hình ảnh.
  • Tên Hình ảnh: adamcohenhillel/kortix-suna:0.0.20
  • Entrypoint: /usr/bin/supervisord -n -c /etc/supervisor/conf.d/supervisord.conf
  • Lưu cấu hình hình ảnh này.

API Key LLM:

  • Chọn giữa OpenAI (platform.openai.com) hoặc Anthropic (console.anthropic.com). Lấy một API Key từ nhà cung cấp mà bạn chọn.
  • Lưu ý Model Identifier cụ thể mà bạn dự định sử dụng (ví dụ: gpt-4o, anthropic/claude-3-5-sonnet-latest).

(Tùy chọn) Tavily API Key: Để có kết quả tìm kiếm tốt hơn. Lấy một khóa từ Tavily AI.

(Tùy chọn) RapidAPI Key: Nếu bạn dự định sử dụng các tích hợp đã được xây dựng trước cần nó (như các trình thu thập thông tin cụ thể).

  • Lấy một khóa từ rapidapi.com.
  • Nhớ đăng ký cho các API cụ thể (ví dụ: trình thu thập LinkedIn) trên marketplace RapidAPI mà các công cụ Suna có thể sử dụng. Kiểm tra thư mục backend/agent/tools/data_providers/ để biết mã công cụ liên quan và các URL cơ sở API mà chúng yêu cầu.

Giai đoạn 2: Cài đặt và Cấu hình

Giờ đây, hãy cấu hình các thành phần của ứng dụng Suna:

Sao chép Kho lưu trữ:

git clone https://github.com/kortix-ai/suna.git cd suna

Cấu hình Backend (.env):

  • cd backend
  • cp .env.example .env (hoặc tạo .env nếu ví dụ bị thiếu).
  • Chỉnh sửa .env với thông tin xác thực từ Giai đoạn 1:

NEXT_PUBLIC_URL="http://localhost:3000" # Hoặc URL frontend của bạn nếu khác # 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=YOUR_REDIS_PORT REDIS_PASSWORD=YOUR_REDIS_PASSWORD # Để trống nếu không có REDIS_SSL=True # Hoặc False cho Redis không SSL cục bộ # Daytona DAYTONA_API_KEY=YOUR_DAYTONA_API_KEY DAYTONA_SERVER_URL="https://app.daytona.io/api" DAYTONA_TARGET="us" # Hoặc khu vực của bạn # --- Cấu hình LLM (CHỈ ĐIỀN MỘT TẬP) --- # Ví dụ Anthropic: ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY MODEL_TO_USE="anthropic/claude-3-5-sonnet-latest" # Hoặc mô hình Claude khác OPENAI_API_KEY= # Ví dụ OpenAI: # ANTHROPIC_API_KEY= # OPENAI_API_KEY=YOUR_OPENAI_API_KEY # MODEL_TO_USE="gpt-4o" # Hoặc mô hình OpenAI khác # ----------------------------------------- # Tùy chọn TAVILY_API_KEY=YOUR_TAVILY_API_KEY # Tùy chọn RAPID_API_KEY=YOUR_RAPID_API_KEY # Tùy chọn

  • Cực kỳ quan trọng: Chỉ cung cấp khóa cho một nhà cung cấp LLM (hoặc Anthropic hoặc OpenAI).

Thiết lập Lược đồ Cơ sở dữ liệu Supabase:

  • Đảm bảo bạn đang ở trong thư mục backend.
  • Đăng nhập: supabase login
  • Liên kết dự án: supabase link --project-ref YOUR_PROJECT_REF_ID (Lấy ID từ bảng điều khiển Supabase).
  • Áp dụng di trú: supabase db push
  • Xác minh Lược đồ: Đi đến bảng điều khiển dự án Supabase của bạn -> Cài đặt Dự án -> API -> phần Lược đồ dưới "Cấu hình". Đảm bảo basejump được liệt kê trong "Các lược đồ được hiển thị". Thêm nó nếu bị thiếu và lưu lại.

Cấu hình Frontend (.env.local):

  • cd ../frontend
  • cp .env.example .env.local (hoặc tạo .env.local).
  • Chỉnh sửa .env.local:

NEXT_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_URL # Giống như trong backend .env NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR_SUPABASE_ANON_KEY # Giống như trong backend .env NEXT_PUBLIC_BACKEND_URL="http://localhost:8000/api" # Vị trí backend mặc định NEXT_PUBLIC_URL="http://localhost:3000" # Vị trí frontend mặc định

Cài đặt các phụ thuộc:

  • Frontend (Node.js/npm):

# Trong thư mục frontend npm install

  • Backend (Python 3.11):

# Trong thư mục backend (sử dụng một môi trường ảo!) # python -m venv venv # source venv/bin/activate  OR .\venv\Scripts\activate (Windows) pip install -r requirements.txt

Giai đoạn 3: Chạy Suna

Bắt đầu Dịch vụ Backend:

  • Mở một terminal.
  • Đi đến path/to/suna/backend.
  • Nếu sử dụng môi trường ảo, hãy kích hoạt nó (source venv/bin/activate).
  • Chạy: python api.py
  • Chờ xác nhận rằng máy chủ đang chạy (có thể trên cổng 8000).

Bắt đầu Dịch vụ Frontend:

  • Mở một terminal thứ hai.
  • Đi đến path/to/suna/frontend.
  • Chạy: npm run dev
  • Chờ xác nhận rằng máy chủ đang chạy (có thể trên cổng 3000).

Truy cập Phiên bản Suna của bạn:

  • Mở một trình duyệt web và nhập http://localhost:3000.
  • Sử dụng tùy chọn Đăng ký để tạo tài khoản người dùng của bạn (được cung cấp bởi Supabase Auth).
  • Đăng nhập và bắt đầu hướng dẫn tác nhân Suna tự lưu trữ của bạn.

Kết luận

Suna AI là một bước thực tiễn tiến tới các tác nhân AI tự động có khả năng thực hiện các nhiệm vụ trong lĩnh vực kỹ thuật số. Tính chất mã nguồn mở của nó, kết hợp với bộ công cụ mạnh mẽ và kiến trúc mô-đun, khiến nó trở thành một lựa chọn hấp dẫn cho các nhà phát triển và người dùng tìm kiếm một trợ lý AI có thể tùy chỉnh và tự lưu trữ. Bằng cách theo dõi quy trình thiết lập chi tiết được nêu ở trên, bạn có thể triển khai phiên bản Suna của riêng mình, mang đến cho bạn một giao diện hội thoại để tự động hóa việc duyệt web, thao tác tệp, thu thập dữ liệu, thực thi mã và nhiều hơn nữa, tất cả trong môi trường mà bạn kiểm soát. Mặc dù việc thiết lập yêu cầu sự chú ý cẩn thận đối với nhiều thành phần của nó, nhưng kết quả là một tác nhân AI linh hoạt sẵn sàng hành động thay mặt bạn.

💡
Bạn có muốn một công cụ kiểm tra API tuyệt vời có khả năng tạo ra tài liệu API đẹp mắt?

Bạn có muốn một nền tảng tích hợp, All-in-One cho đội ngũ phát triển của bạn làm việc cùng nhau với năng suất tối đa?

Apidog đáp ứng tất cả các nhu cầu của bạn, và thay thế Postman với giá cả phải chăng hơn nhiều!
button