このプロジェクトについて

Vibexは、RustとGPUI UIフレームワークで構築された、エージェント駆動型ソフトウェア開発のためのネイティブかつローカルファーストなワークベンチであり、AGPL-3.0-or-laterライセンスでリリースされています(現在のステータスは0.1.0-rc.2)。このプロジェクトの基本原則は、デスクトップランタイムが権限を持つことであり、エージェントプロセス、セッション履歴、ワークスペースファイル、Git、PTY、プロバイダー、権限のすべてがユーザーが選択したマシン上に存在します。ローカルデスクトップの実行にホストされたワークスペースは不要であり、リポジトリ、認証情報、永続的なセッション状態はローカルに保持されます。 エージェントの統合はAgent Client Protocol (ACP)に基づいており、プロジェクトではこれを唯一のオンラインエージェントトランスポートとして定義しています。そのため、コマンド、引数、環境、表示メタデータを登録することで、あらゆるACP互換エージェントを接続できます。組み込みプリセットにはClaude Code、Codex、ZCode、OpenCodeが含まれており、ACPカタログにはさらにAntigravity、Cline、Codebuddy Code、Cursor、Gemini CLI、GitHub Copilot、Devin、Grok、Hermes、Kimi Code、Pi、DeepSeek Harnessが記載されており、インストールされたランタイム、プロバイダー設定、ライブ機能プローブによって利用可能性が確認されます。 ドキュメント化されたワークフロー機能には、Markdown、推論、計画、ツールおよびプロセスの詳細、添付ファイル、承認、型付き抽出フォームを備えた構造化タイムラインとしてレンダリングされるエージェントセッションが含まれます。また、停止、続行、フォーク、名前変更、再開、およびサポートされているローカル履歴のインポートが可能です。ワークスペース範囲のファイルツリーは、ブラウジング、名前/コンテンツ検索、リビジョン確認済みの読み書き、および明示的なエンコーディング、行末処理、大容量ファイルのハンドリングをサポートしています。Gitサポートは、ステータス、履歴、diff、blame、ブランチの作成と切り替え、ステージング、アンステージング、リバート、コミット、フェッチ、プッシュ、およびガード付きのマージとリベースリカバリを備えた独立したワークツリーをカバーしています。ネイティブPTYは、ANSIエミュレーション、タブ、リサイズ、スクロールバック、検索、および生バイト処理を提供し、ワークベンチはMarkdown、画像、PDF、およびサポートされているOfficeドキュメントをプレビューします。設定センターでは、エージェントランタイム、モデルと推論の選択、プロバイダー認証、ヘルスプローブ、および範囲指定されたMCPサーバー、Skills、Prompts、Hooksを管理します。オートメーション機能により、単発、間隔、または日次のエージェント実行をスケジュールし、実行状態、リカバリ、監査履歴を持つオートメーショングラフを構成できます。デスクトップ通知は、完了、失敗、または入力待ちのセッションを追跡し、タイムラインの状態は再接続や再起動後も保持される設計となっています。 3つのネイティブサーフェスが定義されています。デスクトップアプリは、Linux、macOS、Windows向けの完全なGPUIワークベンチであり、権限を持つDesktopRuntimeです。モバイルコンパニオンは、ネイティブのGPUI iOSおよびAndroidクライアントで、デスクトップセッションモデルをタイムラインとしてレンダリングし、型付きのリモートミューテーションを送信します。これはローカルエージェントの起動、ワークスペースファイルシステムの所有、ローカルGitの変更、または第2のPTY権限の保持は行いません。オプションのセルフホストリレーは、暗号化されたWebSocketフレームを転送するRust/Axumサービスであり、ワークスペース、プロバイダー、エージェント、またはアプリケーションデータを保存しません。ペアリングにはDirectまたはTailnetルートも利用可能です。 アーキテクチャ的に、ランタイムは複数のクレートに分割されています。coreはシリアル化されたID、DTO、エラー、機能、およびリモートプロトコル契約を担い、desktop-modelはフレームワークに依存しないセッションとタイムラインの投影を、vibex-backendはプロバイダーに依存しない機能ファサードを、vibex-uiはセマンティックトークンとコンポーネントモデルを、そしてvibex-remote-clientはペアリング、再接続、同期、およびルート選択を担当します。スタックには、ACP schema 1.6、Tokio、rusqlite経由のSQLite、xptyおよびalacritty_terminal、PDFium、そしてトランスポート用にX25519、HKDF、HMAC、ChaCha20-Poly1305を備えたRustlsが含まれています。開発には、サブモジュール付きのGit、Node.js 22、pnpm 11.3.0、rust-toolchain.tomlで固定されたRust 1.97.0、および動作するVulkanドライバーが必要です。デスクトップの実行はpnpm dev:desktopで開始し、モバイルビルドにはcargo-ndkを伴うAndroid SDK/NDK、またはXcodeおよびXcodeGenを伴うmacOSが必要です。リポジトリゲートにはpnpm check、pnpm release:build-smoke、pnpm check:mobile-nativeが含まれます。プライバシーに関する注意として、権限は機能ゲートされており監査可能であること、プロバイダーのホーム設定はデフォルトで書き換えられないこと、およびトークン、秘密鍵、プロンプト、ファイル内容、ターミナルのバイトデータはログや診断アーティファクトから除外されることが明記されています。