banto

AI エージェントとの開発のためのセルフホスト型ワークスペース

AI と開発する環境を、まるごとひとつに。

会話の管理から、コマンドの実行、ブラウザでの確認、シークレットの管理、サーバーの公開、タスクの自動実装まで。banto は、AI エージェントとの開発に必要なものをひとつにまとめたワークスペースです。作業をいくつ並行させても、進行中のものと判断待ちのものがひと目でわかります。

インストール手順を見る

これひとつで

  • 会話と Fork
  • 受信箱と承認
  • コマンド実行
  • ターミナル
  • ブラウザ
  • シークレット管理
  • 開発サーバーの公開
  • リポジトリ管理
  • バックログ
  • 自動実装(Factory)
  • サブエージェント
  • コンテナによる隔離
banto の画面。サイドバーに複数のプロジェクトと会話が並び、作業中・判断待ち・未読の状態が表示されている

並行して走らせるほど、
追いかける手間が増えていく。

AI エージェントに作業を任せると、待ち時間が生まれます。その間に別の作業を頼み、別のプロジェクトにも手を付ける。気がつくと、どのターミナルで何を頼んだのか、どれが自分の返事を待っているのかを覚えておくこと自体が、新しい仕事になっています。

banto は、この「追いかける手間」をなくすために作りました。プロジェクトと会話を一覧にまとめ、AI が作業中のものはサイドバーに、あなたの番になったものは受信箱に集めます。並行する作業の数を増やしても、覚えておくべきことは増えません。

受信箱を見るだけで、開発が進む

すべてのプロジェクトの「あなたの番になったもの」が、受信箱に集まります。AI からの承認依頼にはその場で答えられ、作業が終わった会話は、結果のまとめと AI が決めてほしいことをカードでそのまま読めます。次の指示も受信箱から返信できるので、会話を1つずつ開いて回る必要はありません。

  • 承認依頼は、カードのボタンでその場で回答
  • 結果・分かったこと・確認していないことをまとめて表示
  • 決めてほしいことは、選択肢を選んでそのまま返信
  • 作業の途中のものは出さず、本当に対応が必要なものだけ
受信箱と承認について
受信箱のカード。AI の作業の結果、分かったこと、確認していないこと、決めてほしいことの選択肢と返信の欄が並んでいる

会話を分岐させて、複数の案を同時に試す

会話は Fork で分岐できます。同じ依頼から2つの実装方針を並行して進めたり、本題を止めずに別の調査を切り出したりできます。どの会話から分岐したかは構造として残るので、作業の経緯を見失いません。

  • それまでの会話を引き継ぐか、新しく始めるかを選べる
  • AI が自分で Fork を作って作業を分担することも
  • 決定事項は Memory に記録され、どの Fork にも引き継がれる
会話と Fork について
同じプロジェクトで2つの Fork を並行して進めている画面

重要な操作は、承認してから実行

コマンドの実行やファイルの書き換えなど、確認したい操作は会話の中にカードとして表示されます。内容を確認して、許可するか拒否するかを選ぶだけです。AI が選択肢つきで判断を求めてきたときも、ボタンを押せばそのまま回答が送られます。

  • 確認の要否は、会話ごとに切り替え可能
  • プロジェクト単位で「すべて自動で許可」にも設定できる
  • シークレットの値は、AI のコンテキストに一切含まれない
承認のしくみ
会話の中に表示された承認カード

開発に必要なツールを、最初から

コマンドの実行、ファイル操作、ブラウザ、シークレットの管理、開発サーバーの起動と公開。開発で使うツールはモジュールとして組み込まれていて、AI も人も同じものを操作します。AI が開いた画面を、人がそのまま引き継いで操作することもできます。

モジュール一覧
モジュールの画面を開いたところ
Shell
コンテナ内でコマンドを実行。時間のかかる処理はバックグラウンドで動かし、終わったら AI に通知します。
Browser
コンテナ内のブラウザ。AI が操作している画面を、人も同じように見て操作できます。
Terminal
人が使うターミナル。画面を閉じてもセッションは残ります。
Vault
API トークンや SSH 鍵を保管。AI には参照名だけを渡します。
Service・Publish
開発サーバーを常駐させ、ログイン付きの URL で公開します。
Repositories
GitHub からのクローンや新規作成から、そのままプロジェクトを始められます。
Backlog
ストーリー・タスク・バグを管理。リポジトリの専用ブランチに保存されます。
Subagent
Claude Code や OpenCode に、別の作業を並行して依頼します。

定型の開発フローは、Factory に任せる

Backlog のタスクを Factory に渡すと、次の流れを1件ずつ自動で進めます。複数のタスクを同時に流すこともでき、main へのマージは順番に行われます。人が対応するのは、テストが通らない・コンフリクトが解消できないなど、処理が止まったときだけです。

  1. worktree の作成タスクごとに作業用のブランチを用意
  2. 実装サブエージェントがコードを書く
  3. テスト通らなければ実装に差し戻し
  4. レビュー別の AI が完了条件と照らして確認
  5. マージ最新の main に rebase して取り込み
Factory について

スマートフォンからも、同じように

画面はスマートフォンに対応していて、ホーム画面に追加すればアプリのように起動できます。外出先で承認だけ済ませる、進み具合を確認して次の指示を出す、といった使い方ができます。

スマートフォンで使う
スマートフォンで会話を開いた画面

自分のサーバーで動き、プロジェクトごとに隔離

コンテナによる隔離

プロジェクトごとにコンテナを作成し、AI によるコマンド実行やファイル操作はその中で行われます。メモリ・CPU・プロセス数の上限もプロジェクト単位で設定されます。

シークレットを AI に見せない

トークンや鍵は Vault で管理し、AI には参照名だけを渡します。値はコマンドの実行時に直接渡されるため、会話の履歴にも残りません。

パスキーでログイン

パスワードは使いません。スマートフォンなどの端末は、ログイン済みの端末に表示される QR コードから追加できます。

別のサーバーでも実行

仮想化支援が必要な作業などのために、SSH で接続した別のサーバーをプロジェクトの実行環境にすることもできます。

banto が向いている場合・向いていない場合

banto は Claude Code の代わりではなく、Claude Code を中で動かし、複数の作業をまとめて管理するためのツールです。作業のしかたによっては、ほかのツールのほうが合うこともあります。

向いている場合

  • 複数の作業やプロジェクトを同時に AI に任せたいターミナルやウィンドウを行き来して、確認待ちを取りこぼしている
  • 自分のサーバーで動かしたいコードや開発環境を自宅や社内のサーバーに置きたい
  • パソコンから離れても作業を進めたい外出先のスマートフォンから承認したり、次の指示を出したりしたい
  • AI に安心して権限を渡したいプロジェクトごとに隔離し、トークンの値は AI に見せずに渡したい
  • 開発の周辺までまとめて任せたい開発サーバーの起動、ブラウザでの確認、タスクの実装からマージまで

ほかのツールが合う場合

  • 1つの作業を、エディターでコードを見ながら進めたいCursor などのエディター型や、エディターの拡張機能が向いています
  • サーバーを用意せず、すぐに試したいClaude Code や Codex を手元のパソコンやクラウドで使うほうが手軽です
  • チームで使いたいbanto は現在、1人で使うことを前提にしています
  • 会話に Claude 以外のモデルを使いたい会話は Claude だけに対応しています(サブエージェントには OpenCode を使えます)
  • Mac や Windows の上で直接作業させたいXcode を使う開発など。banto の AI は Linux のコンテナの中で作業します
ほかのツールとの比較を見る

インストール

Ubuntu 24.04 または 26.04 のサーバーに、コマンド1つでインストールできます。

  1. サーバーとドメイン名を用意する

    仮想マシンでも構いません。banto に割り当てるドメイン名(例:banto.example.com)を決めておきます。Cloudflare で管理しているドメインなら、DNS と証明書の設定も自動で行えます。

  2. インストールコマンドを実行する

    sudo 権限のあるユーザーで実行します。

    curl -fsSL https://banto.tjst-t.dev/install.sh | bash -s -- --domain banto.example.com
  3. ログインしてパスキーを登録する

    完了時に表示されるリンクを開いてログインし、「設定」→「ログイン」でパスキーを登録します。

AI との会話には Claude のアカウント(Claude Code)が必要です。詳しくはインストールガイドを参照してください。

よくある質問

どの AI を使いますか?

会話には Claude(Claude Code)を使います。banto をインストールしたサーバーで Claude Code にログインしておくと、そのアカウントで動作します。サブエージェントとして OpenCode を使うこともできます。

Windows や Mac でも使えますか?

banto 本体は Ubuntu 24.04 または 26.04 のサーバーで動作します。操作はブラウザから行うので、Windows・Mac・スマートフォンなど、手元の端末は問いません。仮想マシンにインストールすることもできます。

AI が誤ってファイルを消したりしませんか?

AI の操作はプロジェクトごとのコンテナの中で行われ、ほかのプロジェクトやサーバー本体のファイルには届きません。危険な操作は実行前に承認を求めるように設定できます。

データはどこに保存されますか?

会話の履歴・設定・シークレットなどは、すべて banto をインストールしたサーバーに保存されます。外部に送信されるのは、AI との会話の内容(Claude の API)と、ご自身で設定した連携先への通信だけです。

外出先から使えますか?

banto の画面はブラウザから HTTPS で利用でき、スマートフォンにも対応しています。インターネットに直接公開するのではなく、Tailscale などの VPN を経由して利用することをおすすめします。

複数人で使えますか?

現在は1人で使うことを前提にしています。複数人での共同利用には対応していません。

まずは、手元のサーバーで試してみてください。