OpenMausBot — 複数AIエージェントと仮想環境を統合するチャットアプリ
milind-soni/OpenMausBot
★ 19,881 ・ TypeScript ・ Apache-2.0
概要
OpenMausBot(旧称:OpenGrokBot、別名:MausBot)は、複数のAIエージェントをチャットアプリの連絡先のように一覧管理し、対話しながらタスクを処理できるオープンソースのデスクトップアプリケーションです。xAIの「Grok Bot」やMetaの「Muse」、OpenAIの「dots」、Manusの「Cue」といったパーソナルエージェント製品にインスパイアされた独立プロジェクトとして開発されています。
単一の対話ボックスに依存するのではなく、ボットごとに異なるモデル、パーソナリティ、実行環境(仮想デスクトップやローカルホスト)、接続アプリを個別に割り当てられる点が特徴です。データや会話履歴をクラウド側に預けず、自身の端末上でローカルファーストにAIチームを組織・運用したい開発者に向いています。
主な特徴
-
ローカル環境のCLIを活用(Bring Your Own Agents) 端末に導入済みの
claude、codex、grokなどのCLIツールをそのままエンジンとして利用できます。既存のアカウントやサブスクリプションを流用でき、プロキシを介さずに独自のバイナリやラッパーを指定することも可能です。 -
エージェントごとの仮想デスクトップと実行環境 各ボットにはクラウド上のLinuxデスクトップや隔離されたローカルVM、あるいは自身のPC環境(設定で許可した場合)を割り当てられます。動作中の画面をライブプレビューしたり、ブラウザから直接デスクトップ操作を引き継ぐことができます。
-
実行前のアクション承認システム シェルコマンドの実行やファイルの変更、ユーザーへの確認事項は、チャット内のインラインカードとして表示されます。危険を伴う操作はユーザーが明示的に「Allow / Deny」を選択するパーミッションブローカー機構を備えています。
-
500種類以上のアプリ連携 Composio経由でGmail、Slack、GitHub、Notion、Linearなどのサービスと連携できます。一度OAuth認証を通せば、ボットが各サービスをツールとして呼び出せるようになります。
-
コンテキストに応じたチャンネル管理 業務、個人、個別プロジェクトごとにチャンネルを作成し、ボットの編成、共有プロンプト、作業フォルダ、応答ルールを分けて管理できます。
-
Markdown形式でのチーム構成インポートと共有 YAMLフロントマターを含むMarkdownファイルから、エージェント構成、チャンネル、プレイブックなどを一括インポートできます。また、作成した部署やチーム構成を機密情報を除外した形でエクスポートして共有することも可能です。
使い方
READMEで案内されている導入手順は、ビルド済みパッケージを利用する方法が基本となっています。
1. アプリケーションのダウンロードとインストール
GitHubのReleasesページまたは公式サイトから、利用環境に合わせたインストーラーを入手して実行します。
- macOS: Apple Silicon版およびIntel版(署名・公証済み
.dmg) - Windows: x64向けインストーラー
- Ubuntu 24.04 (x64):
.debパッケージまたはAppImage(ベータ)
2. 初期設定と認証
アプリ起動後、Settings → Engines から利用するモデルやCLIのパスを設定します。また、必要に応じてAPIキーや認証情報を設定画面に入力します。入力したキー情報はローカルにのみ保存され、UI上には設定済みかどうかのフラグのみが表示されます。
3. ボットの利用と承認
サイドバーからボットを選択してメッセージを送信します。ボットがコマンドの実行やファイルの編集を行おうとすると、チャット欄に確認カードが表示されるため、内容を確認した上で承認または拒否を選択します。
4. チーム構成のインポート(任意)
Teams → Import から、対応するMarkdownファイル(.md)またはGitHubの公開URLを指定することで、あらかじめ定義されたボット編成やチャンネル設定を一括で読み込むことができます。
技術的なポイント
-
TypeScriptとローカルハーネスサーバー リポジトリの主要言語はTypeScriptです。ローカルのアドレス(
127.0.0.1)で動作する軽量なハーネスサーバーが各エージェントのプロセスを一元管理し、会話ログやキー、イベントデータはすべてユーザーのホームディレクトリ配下(~/.openmausbot)に保存されます。 -
書き込み専用(Write-only)のシークレット管理 セキュリティの観点から、アプリ設定に入力した認証情報はUI側で平文を再読み出しできない設計になっています。一度保存された後は設定済み状態のみがUIへ伝達され、プロバイダー群が動的にリロードされます。
-
意思決定モデルによる自動ルーティング(Jevなど) Settings → Decision and extraction において、Cloudflare Workers AIトークン、TypeSafe Jevキー、またはOpenRouterを設定することで、メンションのない投稿に対して適切なボットを数百ミリ秒単位で自動判別する機能が提供されています。
-
ポータブルなチーム定義フォーマット チーム共有用のファイルは人間が読めるMarkdown形式を採用しつつ、設定情報はYAMLフロントマターに構造化して格納しています。エクスポート時には会話履歴や認証情報、モデル指定が自動的に除去される配慮がなされています。
注意点
-
暗号資産との関係について READMEの冒頭で明記されている通り、本プロジェクトにはトークンや暗号資産は存在せず、関連名称を騙るコインやプロジェクトとは一切関係がありません。
-
ホスト制御(Computer-use)のプラットフォーム制限 自身のPCを直接操作させる機能は、macOSおよびUbuntu Xorg環境において明示的なオプトインを行うことで利用可能です。一方、Ubuntu Wayland環境については課題(issue #345)の対応中のため、現在ホスト制御機能が無効化されています。
-
ライセンス ソースコードは Apache License 2.0 のもとで公開されています。
-
外部サービス連携の前提 ボットに連携アプリを操作させる場合はComposio等のセッションが必要となり、各LLMエンジンの利用にあたってはユーザー自身が契約・設定したCLIやAPIキーが必要です。
まとめ
OpenMausBotは、ローカルファーストの設計原則を守りながら、複数エージェントによる分業とコンピュータ操作を統合したチャットクライアントです。手持ちのLLM環境を活かしつつ、データのローカル保持と明確な権限制御を行いたい開発者にとって、実践的な選択肢となるプロジェクトです。





