Bytebot: オープンソース AI デスクトップエージェント
あなたのためにタスクを完了するために独自のコンピューターを持つAI
https://github.com/user-attachments/assets/f271282a-27a3-43f3-9b99-b34007fdd169
https://github.com/user-attachments/assets/72a43cf2-bd87-44c5-a582-e7cbe176f37f
デスクトップエージェントとは?
デスクトップエージェントは、独自のコンピューターを持つAIです。ブラウザのみのエージェントや従来のRPAツールとは異なり、Bytebotは完全な仮想デスクトップを備えており、以下のことが可能です:
- 任意のアプリケーション(ブラウザ、メールクライアント、オフィスツール、IDE)を使用する
- 独自のファイルシステムでファイルをダウンロードおよび整理する
- パスワードマネージャーを使用してウェブサイトやアプリケーションにログインする
- ドキュメント、PDF、スプレッドシートを読み取り処理する
- 異なるプログラム間で複雑なマルチステップのワークフローを完了する
仮想の従業員が自分のコンピューターを持ち、画面を見て、マウスを動かし、キーボードで入力し、人間と同じようにタスクを完了すると考えてください。
なぜAIに独自のコンピューターを与えるのか?
AIが完全なデスクトップ環境にアクセスできると、ブラウザのみのエージェントやAPI連携では不可能な機能が解放されます:
完全なタスク自律性
「ベンダーポータルからすべての請求書をダウンロードし、フォルダに整理する」といったタスクをBytebotに与えると、次のことを行います:
- ブラウザを開く
- 各ポータルに移動する
- 認証を処理する(パスワードマネージャー経由の2FAを含む)
- ファイルをローカルファイルシステムにダウンロードする
- フォルダに整理する
ドキュメントの処理
ファイルを直接Bytebotのデスクトップにアップロードすると、次のことができます:
- PDF全体をコンテキストに読み込む
- 複雑なドキュメントからデータを抽出する
- 複数のファイル間で情報を相互参照する
- 分析に基づいて新しいドキュメントを作成する
- APIがアクセスできない形式を処理する
実際のアプリケーションの使用
BytebotはWebインターフェースに限定されません。次のことができます:
- テキストエディタ、VS Code、メールクライアントなどのデスクトップアプリケーションを使用する
- スクリプトやコマンドラインツールを実行する
- 必要に応じて新しいソフトウェアをインストールする
- 特定のワークフロー用にアプリケーションを設定する
クイックスタート
2分でデプロイ
AIプロバイダーのAPIキーをクリックして追加するだけです。
オプション2: Docker Compose
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
# Add your AI provider key (choose one)
echo "ANTHROPIC_API_KEY=sk-ant-..." > docker/.env
# Or: echo "OPENAI_API_KEY=sk-..." > docker/.env
# Or: echo "GEMINI_API_KEY=..." > docker/.env
docker-compose -f docker/docker-compose.yml up -d
# Open http://localhost:9992
仕組み
Bytebotは4つの連携コンポーネントで構成されています:
- 仮想デスクトップ: プリインストールアプリケーションを備えた完全なUbuntu Linux環境
- AIエージェント: タスクを理解し、デスクトップを制御して完了させる
- タスクインターフェース: タスクを作成し、Bytebotの作業を見守るWeb UI
- API: プログラムによるタスク作成とデスクトップ制御のためのRESTエンドポイント
主な機能
- 自然言語タスク: 必要な作業を説明するだけ
- ファイルアップロード: タスクにファイルをドロップしてBytebotに処理させる
- ライブデスクトップ表示: Bytebotの作業をリアルタイムで視聴
- テイクオーバーモード: 支援や設定が必要な時に制御を引き継ぐ
- パスワードマネージャー対応: 1Password、Bitwardenなどをインストールして自動認証を実現
- 永続的な環境: プログラムをインストールすると将来のタスクでも利用可能
タスク例
基本例
"Go to Wikipedia and create a summary of quantum computing"
"Research flights from NYC to London and create a comparison document"
"Take screenshots of the top 5 news websites"
ドキュメント処理
"Read the uploaded contracts.pdf and extract all payment terms and deadlines"
"Process these 5 invoice PDFs and create a summary report"
"Download and analyze the latest financial report and answer: What were the key risks mentioned?"
マルチアプリケーションワークフロー
"Download last month's bank statements from our three banks and consolidate them"
"Check all our vendor portals for new invoices and create a summary report"
"Log into our CRM, export the customer list, and update records in the ERP system"
プログラム制御
API経由でのタスク作成
import requests
# Simple task
response = requests.post('http://localhost:9991/tasks', json={
'description': 'Download the latest sales report and create a summary'
})
# Task with file upload
files = {'files': open('contracts.pdf', 'rb')}
response = requests.post('http://localhost:9991/tasks',
data={'description': 'Review these contracts for important dates'},
files=files
)
直接デスクトップ制御
# Take a screenshot
curl -X POST http://localhost:9990/computer-use \
-H "Content-Type: application/json" \
-d '{"action": "screenshot"}'
# Click at specific coordinates
curl -X POST http://localhost:9990/computer-use \
-H "Content-Type: application/json" \
-d '{"action": "click_mouse", "coordinate": [500, 300]}'
デスクトップエージェントの設定
1. Bytebotのデプロイ
上記のデプロイ方法のいずれかを使用して、Bytebot を実行させます。
2. デスクトップの設定
UI の [Desktop] タブを使用して、以下の操作を行います:
- 必要な追加プログラムのインストール
- 認証のためのパスワードマネージャーの設定
- 好みに応じたアプリケーションの設定
- Bytebot にアクセスさせたい Web サイトへのログイン
3. タスクの実行開始
自然言語でタスクを作成し、設定されたデスクトップを使用して Bytebot がそれらを完了するのを確認します。
ユースケース
ビジネスプロセス自動化
- 請求書処理とデータ抽出
- マルチシステム間のデータ同期
- 複数ソースからのレポート生成
- クロスプラットフォームでのコンプライアンスチェック
開発 & テスト
- 自動化された UI テスト
- クロスブラウザ互換性チェック
- スクリーンショット付きドキュメント生成
- コードデプロイ検証
リサーチ & 分析
- Web サイト間での競合分析
- 複数ソースからのデータ収集
- ドキュメント分析と要約
- 市場調査のまとめ
アーキテクチャ
Bytebot は以下で構築されています:
- デスクトップ: XFCE、Firefox、VS Code およびその他のツールを搭載した Ubuntu 22.04
- エージェント: AI とデスクトップ操作を調整する NestJS サービス
- UI: タスク管理のための Next.js アプリケーション
- AI サポート: Anthropic Claude、OpenAI GPT、Google Gemini と連携
- デプロイメント: 簡単なセルフホスティングのための Docker コンテナ
セルフホストする理由
- データプライバシー: すべてがあなたのインフラストラクチャ上で実行されます
- 完全な制御: 必要に応じてデスクトップ環境をカスタマイズ可能
- 制限なし: プラットフォームの制約なく独自のAI APIキーを使用可能
- 柔軟性: あらゆるソフトウェアのインストール、あらゆるシステムへのアクセスが可能
高度な機能
複数のAIプロバイダー
LiteLLM統合を通じてあらゆるAIプロバイダーを利用可能:
- Azure OpenAI
- AWS Bedrock
- Ollama経由のローカルモデル
- 100以上のその他のプロバイダー
エンタープライズデプロイメント
Kubernetes上でHelmを使用してデプロイ:
# Clone the repository
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
# Install with Helm
helm install bytebot ./helm \
--set agent.env.ANTHROPIC_API_KEY=sk-ant-...
コミュニティ & サポート
- Discord: ヘルプとディスカッションのためにコミュニティに参加
- ドキュメント: docs.bytebot.aiで包括的なガイドを提供
- GitHub Issues: バグの報告と機能リクエスト
貢献
貢献を歓迎します!以下を含みます:
- 🐛 バグ修正
- ✨ 新機能
- 📚 ドキュメント改善
- 🌐 翻訳
以下の手順に従ってください:
ライセンス
BytebotはApache 2.0ライセンスの下でオープンソースです。