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

OnItは、タスク自動化のために設計されたAIエージェントハーネスです。言語モデルにツール一式、作業ディレクトリ、完了したアクションのメモリを提供し、タスクが完了するまで反復処理を行います。エージェントはすべてのフロントエンドで一貫しており、インターフェースのみが変更されます。 **フロントエンド** - ターミナルテキストUI(デフォルト) - Googleログイン付きブラウザチャットUI(`onit serve web`) - A2Aプロトコルサーバー(`onit serve a2a`) - TelegramまたはViberボットゲートウェイ(`onit serve gateway`) - Dockerコンテナモード(`onit --container`) **モデルサーバーサポート** OnItは、OpenAI互換の任意のエンドポイントに接続します。サポートされているバックエンドは次のとおりです。 - セルフホスト:vLLM、SGLang、Ollama、MLX(Appleシリコン) - ホスト型:OpenRouter、Ollamaクラウド エージェントが機能するには、モデルがツール呼び出しをサポートしている必要があります。 **MCPツール** エージェントは、MCP(Model Context Protocol)ツールを介して作業を駆動します。これには以下が含まれます。 - Web検索(Ollama Web検索APIまたはDuckDuckGoフォールバック経由) - 天気検索(OpenWeatherMap) - シェル実行(作業ディレクトリに制限) - ファイル編集 - ドキュメント検索(ローカルインデックス) - GitHubリポジトリ管理 - コード実行 **インストール** Python 3.10〜3.12が必要です。ソースからインストールします。 ``` git clone https://github.com/sibyl-oracles/onit.git cd onit && pip install -U --upgrade-strategy eager -e '.[all]' ``` **設定** `onit setup`は、エンドポイント設定(URL、APIキー、モデル名)を順に案内します。APIキーはOSキーチェーンに保存され、設定ファイルには保存されません。フェイルオーバーとローテーションを備えた複数のエンドポイントをサポートします。 **統合** - GitHub:APIを介したgit操作とリポジトリ管理 - Hugging Face:モデルとデータセットのダウンロード - インデックス作成によるローカルドキュメント検索 **セッション管理** セッションは再起動後も保持されます。`\model`、`\host`、`\key`などのコマンドで実行時の切り替えが可能です。`\save`はエンドポイント設定を保持します。 **セキュリティ** - シェルは作業ディレクトリに制限されます - コンテナモードは強化された分離を提供します - コンテナモードでのコマンド許可リスト - APIキーはOSキーチェーンに保存されます **ライセンス:** Apache License 2.0