はじめに
SunaはKortix AIによって開発されたオープンソースの汎用AIエージェントで、Apache 2.0ライセンスに基づいてGitHubでホストされており、ユーザーは無料でダウンロード、変更、セルフホストすることができます。Sunaは、Python/FastAPIバックエンド、Next.js/Reactフロントエンド、Supabaseデータベース、セキュリティと柔軟性を保証するDaytonaサンドボックスを含むモジュラーアーキテクチャで構築されています。OpenAIやAnthropicなどの大規模な言語モデルとの統合をサポートしています。 タヴィリー とRapidAPIはリアルタイムの検索とデータサービスを提供する。
機能一覧
- ブラウザ・オートメーション 自動的にウェブページをナビゲートし、フォームに入力し、データを抽出し、価格監視とコンテンツのクロールをサポートします。
- 文書管理 ファイルの作成、編集、削除、バッチ処理、フォーマット変換(CSVからJSONなど)をサポートします。
- ウェブのクローリングと検索 ウェブコンテンツをクロールし、Tavilyのリアルタイム検索によって構造化されたレポートを生成します。
- コマンドライン操作 Linuxコマンドを実行し、Daytonaサンドボックス内でシステムタスクを処理する。
- ウェブサイト展開 静的ウェブサイトをCloudflare Pagesにデプロイし、一般にアクセス可能なリンクを生成します。
- APIの統合 LinkedInやZillowなどのサービスに接続し、会社情報や物件情報などの専門的なデータを得る。
- データ分析 JSON、CSV、XMLデータを処理し、ビジュアルチャートやレポートを生成します。
- ミッション計画 スルー
todo.md
システムは複雑なタスクを分解し、実行を自動化し、進捗を追跡する。
ヘルプの使用
設置プロセス
Sunaはセルフホスティングをサポートしており、PythonとNode.jsの開発経験を持つユーザーに適しています。詳しいインストール手順は以下の通りです:
- 環境を整える ::
- Python 3.11+、Node.js 20.x、Gitをインストールする。
- Redisを設定する(Upstashまたはローカルインストールを推奨)。
- Supabaseプロジェクトを作成し、API URL、匿名キー、サービスロールキーを取得する。
- デイトナアカウントの登録、設定
adamcohenhillel/kortix-suna:0.0.20
ミラーリング。 - OpenAIまたは アンソロピック APIキー
- (オプション)TavilyキーとRapidAPIキーを取得し、検索とデータ機能を強化します。
- コードベースのクローン ::
git clone https://github.com/kortix-ai/suna.git
cd suna
- バックエンド環境の設定 ::
- 入る
backend
ディレクトリにコピーします。.env.example
というのも.env
::cd backend cp .env.example .env
- コンパイラ
.env
次のように記入する: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
- 入る
- Supabaseデータベースの設定 ::
- Supabase CLIをインストールする:
npm install -g @supabase/supabase
- ログインしてプロジェクトをリンクする:
supabase login supabase link --project-ref your_project_reference_id supabase db push
- Supabase コンソールの Project Settings > Data API で、Exposed Schema に "basejump" が表示されていることを確認する。
- Supabase CLIをインストールする:
- フロントエンド環境の設定 ::
- 入る
frontend
ディレクトリにコピーします。.env.example
というのも.env.local
::cd ../frontend cp .env.example .env.local
- コンパイラ
.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"
- 入る
- 依存関係のインストール ::
- フロントエンド
cd frontend npm install
- リアエンド:
cd ../backend pip install -r requirements.txt
- フロントエンド
- サービス開始 ::
- バックエンドを開始する:
cd backend python api.py
- フロントエンドを開始する:
cd frontend npm run dev
- ブラウザを開き、次のサイトにアクセスする。
http://localhost:3000
利用したい場合は、アカウントを登録して利用する必要がある。
- バックエンドを開始する:
- (オプション)クラウド展開 ::
- Kortixが提供するクラウドサービスをsuna.so経由で利用することで、ローカルでの設定が不要になります。
主な機能
ブラウザ・オートメーション
SunaはChromiumブラウザを使ってウェブ・アクションを実行する。例えば、「AmazonからiPhone 14の価格を抽出する」と入力する:
- アマゾンを開き、iPhone 14を検索するスナ。
- 価格要素を見つけ、データを抽出する。
- 結果を返すか、ファイルとして保存する。
手続き ::
- チャット画面に「ウェブサイトから価格を抽出する」などのコマンドを入力する。
- スナ 操作の進行状況を表示し、結果を返す。
- データはCSVまたはJSONでエクスポートできます。
文書管理
Sunaはファイルの作成と編集をサポートしています。例えば、「売上データを書き込むためにreport.txtを作成する」:
- Sunaはファイルを生成し、指定された内容を書き込む。
- ファイル形式の変換などのバッチ処理に対応。
手続き ::
- ファイル名と内容を指定するコマンドを入力する。
- Suna ファイルのパスまたは内容のプレビューを返します。
- ファイルをPDFに変換する」などの操作を続けることができます。
ウェブのクローリングと検索
SunaはTavilyと統合してリアルタイム検索を提供する。例えば、「ドイツの自動車市場を分析する」:
- Sunaは関連するウェブページを検索し、データを抽出する。
- データのクリーニングとレポートの作成
手続き ::
- 分析対象を入力する。
- スナは捕獲プロセスを計画し、結果を表示する。
- CSV、JSON、PDFで保存可能。
コマンドライン操作
SunaはDaytonaサンドボックス内でLinuxコマンドを実行する。例えば、"list catalog files":
- スナ実施
ls
結果を返す。 - 次のような複雑なコマンドをサポートしている。
grep
もしかしたらsed
.
手続き ::
- コマンドまたはタスクの説明を入力する。
- スナは出力または処理結果を返す。
ウェブサイト展開
Sunaは静的ウェブサイトのデプロイをサポートしています。例えば、"Deploy my HTML project":
- Cloudflare PagesにアップロードされたSunaバリデーションファイル。
- 公開URLを返します。
手続き ::
- プロジェクトのパスとデプロイメント手順を入力します。
- スナは配備を確認し、実行する。
- アクセスリンクに戻る
注目の機能操作
ミッション計画
スナ使用 todo.md
タスクを体系的に分解する。例えば、「ロンドンでの10日間の旅程を計画する」:
- Sunaはタスクリスト(フライト、ホテル、イベントの検索)を作成します。
- 項目ごとに実行し、トリップファイルを生成する。
手続き ::
- タスクの説明を入力する。
- スナのショー
todo.md
プラン - ユーザーは実施内容を調整または確認することができる。
APIの統合
Sunaは、LinkedInやZillowなどのAPIをサポートしています:
- SunaはLinkedIn APIを呼び出し、企業情報を抽出します。
- セールスリードのリストを作成する。
手続き ::
- 必要なデータを入力する。
- SunaはAPIを設定し、結果を表示する。
- エクセルにエクスポート可能。
アプリケーションシナリオ
- 市場調査
Sunaは、業界データをクロールしてレポートを作成します。例えば、英国のヘルスケア市場を分析するために、SunaはGoogleとCrunchbaseからデータを抽出し、主要プレーヤーと市場規模を照合します。 - 採用サポート
SunaはLinkedInから候補者を検索することができます。例えば、ミュンヘンのジュニア・ソフトウェア・エンジニアを検索し、学歴と経験でフィルターをかけ、候補者のリストを出力します。 - コンテンツ生成
Sunaはレポートや旅程を作成します。例えば、パリからカリフォルニアへの7日間の企業旅行を計画し、フライトやアクティビティを検索し、詳細なプログラムを出力します。 - B2Bセールス
Sunaは見込み客データを取得します。例えば、バルセロナにある従業員10~50人の企業を検索し、連絡先情報とパーソナライズされたEメールテンプレートを作成します。 - SEO最適化
Sunaは、ウェブサイトのSEOを分析し、キーワードの順位や不足しているトピックを見つけます。例えば、suna.soを分析し、最適化に関する推奨事項を記載したレポートを作成します。
品質保証
- Sunaは技術者でないユーザーにも適していますか?
技術的な知識がないユーザーでも、suna.soを使えば設定なしでクラウドサービスを利用できます。セルフホストには技術的なバックグラウンドが必要です。 - スナは完全に無料ですか?
Sunaはオープンソースで無料だが、クラウド・デプロイメントやAPIコール(TavilyやRapidAPIなど)には料金が発生する場合がある。 - スナの対応機種は?
SunaはLiteLLMを通じてOpenAIやAnthropicなどのモデルをサポートしており、これを推奨している。 クロード またはGPT-4o。 - スナを確保するには?
Sunaは、Daytona Sandboxを使用して操作を分離し、システムを保護します。ユーザーはAPIキーを適切に管理する必要がある。