CLI リファレンス
すべての bxAgents 動詞 (verb) とそのフラグ。
On this page
CLI リファレンス
Usage: boxlang module:bxAgents <verb> [options]
(または、より短い bxAgents <verb> [options] 形式 - インストール 参照。)
グローバルフラグ
これらは動詞のディスパッチより前に処理され、動詞側には渡りません - 最初のトークンとしてのみ意味を持つため、動詞自身の同名フラグと衝突することは決してありません。
| フラグ | 効果 |
|---|---|
-h, --help, help | 使い方 (すべての動詞と説明) を表示して終了コード 0 で終了します。動詞がまったく指定されなかった場合も表示されます (終了コード 1)。 |
-v, --version | bxAgents v{version} を表示して終了コード 0 で終了します。 |
すべての動詞が受け付けるもの
--projectRoot=<path> (または最初の非フラグ引数としての単純な位置引数) は、カレントディレクトリ以外のプロジェクトを対象にします。優先順位: --projectRoot フラグ > 最初の位置引数 > カレントワーキングディレクトリ。
引数の構文
BoxLang 自身が公式に文書化している CLI の慣習に従います。
| 形式 | 結果 |
|---|---|
--option | true |
--option=value / --option="quoted value" | value (前後のクォートは取り除かれます) |
-o=value | 値付きの短縮形 |
-o | 短縮形、true |
-abc | 組み合わせ短縮形: a、b、c すべてが true |
--!option / --no-option | 否定、false |
| それ以外 | 位置引数 (最初の 1 つがプロジェクトルートのフォールバックになります) |
繰り返されたオプション: 最後に指定したものが有効になります。
動詞 (Verbs)
新しいエージェントプロジェクトをスキャフォールドします。
ビルドパイプライン全体を実行します。
TestBox 経由でプロジェクト自身のテスト/スペックを実行します。
実際の boxlang-miniserver プロセスを起動します。
ビルド済みエージェントに対する対話型 REPL。
非対話の 1 ターン - スクリプト/CI 向け。
ビルド済みプロジェクトを .bxa にパッケージ化します。
実際のデプロイ先に出荷します。
webui の users エントリ用に平文パスワードをハッシュ化します。
既存の manifest.json を整形して表示します。
プロジェクトの .build/ と dist/ の出力を削除します。
new
新しいエージェントプロジェクトをスキャフォールドします。
bxAgents new my-agent --model=openai/gpt-5 [--name=...] [--description=...]
--modelは必須です -provider/modelスラッグです (Agent.bx 参照)。--nameは対象ディレクトリ自身のベース名がデフォルトになります。- 対象にすでに
Agent.bxが存在する場合は実行を拒否します。 Agent.bx、instructions.md、すべてのコンベンションフォルダ (空)、すぐに使えるtests/フォルダ (tests/box.json+tests/specs/AgentSpec.bx)、BOXLANG_HOME=.build/runtimeを宣言する.env(serve自身のスコープ付きランタイムホームと一致します - これが正確に何をカバーし、何をカバーしないかは 既知の制限 参照)、そして.gitignore(.build/、dist/、.env) を作成します。既存の.env/.gitignoreは決して上書きしません。- 新しい
tests/フォルダ内でbox installも実行するため、bxAgents testが別途cd tests && box installを実行することなく即座に動作します。これはベストエフォートです。boxがPATHにない、あるいはインストールに失敗してもnew自体は成功し、メッセージで自分で実行するよう案内するだけです。このステップを完全にスキップするには--skipInstallを渡します。
build
ビルドパイプライン 全体を実行します。
bxAgents build [--environment=production] [--verbose]
.build/app/ と .build/manifest.json を書き込みます。プロジェクトが不正な場合は、収集されたすべての検証エラーとともに失敗します。
--verboseは実行中の各ビルドフェーズについて 1 行ずつ、その場でライブに表示します - 何が解決/発見/検証されたか、フェーズごとの件数 (モデル、ツール、ゲートウェイ、警告など)、config/WireBox.bxにどのエージェントがどの名前で登録されたか、schedules/Scheduler.bxが見つかったかどうか、そして最後にBuild completed in Xmsというタイミング行です。遅い、あるいは予期しない挙動のビルドをデバッグする際に便利です。指定しない場合は無音のままです ---verboseは渡さなければ何もコストがかかりません。
test
TestBox 経由でプロジェクト自身の tests/specs を実行します。
bxAgents test
tests/testboxの下にtestboxがインストールされている必要があります (cd tests && box install)。- デフォルトでは
mockプロバイダーに対してエージェントをビルドします (Agent.bxのtest()環境オーバーライド) - API キーもネットワークアクセスも不要です。 - 成功/失敗/エラー/スキップの件数と、失敗ごとの 1 行を表示し、何か失敗があれば非ゼロで終了します。
serve
.build/app を対象に、実際の boxlang-miniserver プロセスを起動します。
bxAgents serve [--port=8080] [--host=0.0.0.0]
- 事前に
buildが必要です -.build/appが存在しない場合は明確に失敗します。 boxlang-miniserverがPATHに見つからない場合は明確に失敗します。- 起動前に
.build/miniserver.jsonを書き込みます (rewrite 有効、rewriteFileName: "index.bxm"、ヘルスチェック有効)。 - サーバー自身の BoxLang ランタイムホームを、共有の
~/.boxlangデフォルトではなく.build/runtimeに (serverHome経由で) スコープするので、各プロジェクトのコンパイル済みクラスキャッシュと config オーバーライドは分離されます - またcleanはすでに.buildをまるごと削除するため、これも無償で一掃されます。invoke --serverは内部でserveを再利用するため、これも同じ恩恵を受けます。これはchat/build/test/デフォルトのinvokeには及びません - 既知の制限 参照。
chat
BoxLang 自身の MiniConsole を使い、行入力に対してビルド済みエージェントと対話する REPL です。
bxAgents chat
- 事前に
buildが必要です。 GeneratedAgentFactory.bxを直接ロードし (ColdBox/WireBox コンテナは一切介在しません)、セッションごとに一度buildAgent()を呼び出します -serveの HTTP ルートが使うのとまったく同じファクトリなので、chatと HTTP が食い違うことはありません。exitまたはquitと入力すると終了します。- 本物の対話 TTY が必要です (
MiniConsoleは raw モードのためにsttyをシェルアウトします) - パイプ/非対話では動作しません。
invoke
ビルド済みエージェントに対する、非対話の 1 ターンです。1 つのメッセージを送信し、応答を表示して終了します。chat の TTY 要件がブロッカーとなる、スクリプト/CI 向けに存在します。
bxAgents invoke --message="What's the weather in Boston?" [--json]
bxAgents invoke --message="..." --server [--port=<port>]
- 事前に
buildが必要です。 - デフォルト (
--serverなし):GeneratedAgentFactory.bxを直接ロードし (ColdBox コンテナも HTTP もなし)、エージェントを一度呼び出します -chatが内部で使うのと同じインプロセスのパスで、REPL ループがないだけです。serve/ゲートウェイの前提条件はまったく不要です。 --server: 実際の使い捨てboxlang-miniserverプロセスを起動し (serveと同様)、メッセージを実際の HTTP リクエストとしてプロジェクトのtoAi()公開ルートへ送り、その後サーバーをシャットダウンします。インプロセスのショートカットではなく、実際に公開されるパス (ColdBox のルーティング、インターセプター、ゲートウェイ) を実行します。{ exposes: "agent", path: "..." }を持つgateways/*.bxエントリが必要です (gateways 参照) - なければ明確に失敗します。--portはデフォルトで空いているエフェメラルポートになるため、すでに動いているserveと衝突することはありません。--jsonはプレーンテキストの応答の代わりに{"response": "..."}を表示します。
package
ビルド済みプロジェクトを .bxa にパッケージ化します。
bxAgents package [--version=1.0.0]
- 事前に
buildが必要です -.build/manifest.jsonを読み込みます。存在しない場合は明確に失敗します。 --versionはデフォルトで1.0.0です。dist/{agentName}-{version}.bxa、対になる.sha256、そして機密情報を除去したmanifest.jsonのコピーを書き込みます。デプロイとシークレット 参照。
deploy
プラガブルな deploy/ コンベンションを通じて、ビルド/パッケージ済みプロジェクトを実際のデプロイ先に出荷します。
bxAgents deploy --name=production
# または、フラグのみの短縮形 (local のみ):
bxAgents deploy --destination=/path/to/somewhere [--target=local]
--name=<entry>は、指定したdeploy/<entry>.bx/.jsonエントリが宣言するターゲット (local、ssh、ftp、sftp、docker、digitalocean) にディスパッチします。- フラグのみの形式 (
--target=local --destination=...、または--targetを指定しない場合) はdeploy/フォルダがなくても動作します -localのみがこれをサポートしており、それ以外のすべてのターゲットは、数個のフラグでは足りないより多くの設定が必要なため、名前付きエントリが必要です。 local/ssh/ftp/sftpは事前にpackageが必要です。docker/digitaloceanは事前にbuildが必要です (.build/appから直接ビルドします)。ftp/sftpは BX Agents と並んでbx-ftpモジュールがインストールされている必要があります (インストール 参照)。
hash-password
平文パスワードを、webui エントリの users ブロックが受け付ける passwordHash 値に変換します。
bxAgents hash-password --password="correct horse battery staple"
--passwordは必須です。- ハッシュを標準出力に表示します -
pbkdf2$<iterations>$<salt>$<derivedKey>、PBKDF2-HMAC-SHA256、呼び出しごとにソルト付きです。コミットしても安全です。一方向であり、同じパスワードを 2 回ハッシュ化しても、異なる (どちらも有効な) 2 つのハッシュが得られます。 - 生成された Web UI 自身がサインイン検証に使うハッシャーと意図的に同一に保たれています - ここで生成されたハッシュは常にそちらでも検証に通ります。
inspect
再ビルドせずに、既存の .build/manifest.json を整形して表示します。
bxAgents inspect [--json]
- 事前に
buildが必要です。 - エージェント名、モデル、環境、マニフェストバージョン、ジェネレータ名/バージョン、ファイル数を表示します。
--jsonは人間可読なサマリーの代わりに、生のマニフェストを JSON として表示します - スクリプト向けに便利です。
clean
プロジェクトの .build/ と dist/ の出力を削除します。
bxAgents clean
.buildとdistのみを削除します - ソースのコンベンション (Agent.bx、tools/など) は一切触れられません。- どちらのディレクトリも存在しない場合は "Nothing to clean" と報告します。