Shell
Shell は、プロジェクトのコンテナ内でコマンドを実行するモジュールです。AI がビルドやテスト、git の操作などを行うときに使います。
コマンドの実行
Section titled “コマンドの実行”AI は runCommand ツールでコマンドを実行します。実行前に、権限モードに応じて承認カードが表示されます。カードには、実行するコマンドと作業ディレクトリが表示されます。
- コマンドはプロジェクトのコンテナ内で、プロジェクトのルートを基準に実行されます
- 既定のタイムアウトは120秒です
- 出力が長い場合は先頭と末尾だけが AI に返され、全体はファイルに保存されます
バックグラウンドで実行する
Section titled “バックグラウンドで実行する”ビルドや E2E テストなど時間のかかるコマンドは、完了を待たずにバックグラウンドで実行できます。
- 実行するとすぐに制御が戻り、AI はほかの作業を続けられます
- コマンドが終了すると、終了コードと出力の末尾が会話に届き、AI が再び動き出します
- 実行中のコマンドは、サイドバーの会話名の下に「バックグラウンドで n 件」と表示されます
- banto を再起動しても、コマンドは止まらずに実行を続けます
実行中のコマンドの一覧は listCommands、停止は cancelCommand で行います。どちらも、そのコマンドを実行した会話からのみ操作できます。
シークレットを使う
Section titled “シークレットを使う”API トークンや SSH 鍵が必要なコマンドでは、Vault に登録したシークレットを参照名で指定します。値はコマンドのプロセスに直接渡され、AI のコンテキストや会話の履歴には含まれません。
| 指定方法 | 用途 |
|---|---|
環境変数として渡す(envSecrets) |
GH_TOKEN などのトークン |
ファイルとして渡す(secretFiles) |
.npmrc などの設定ファイル。コマンドの終了後に削除される |
SSH 鍵を使う(sshIdentity) |
git push など。秘密鍵はファイルにもならず、ssh-agent 経由で使われる |
たとえば、GitHub の操作に gh コマンドを使う場合は、Vault に登録したトークンを GH_TOKEN として渡します。
Shell のホーム
Section titled “Shell のホーム”コマンドを実行するときのホームディレクトリは、プロジェクトのフォルダとは別に用意されます。git の設定やシェルの設定ファイルなど、すべてのプロジェクトで共通に使いたいファイルは、banto 全体の設定の「Shell のホーム」で指定できます。