arkor build と arkor start
arkor build と arkor start は Studio の Run training ボタンのヘッドレス相当です。UI を起動せずにトレーナーを動かしたいとき(CI、サーバー、別スクリプトから)に使ってください。
Studio の Run training は内部的に arkor start(エントリー引数なし)をスポーンするので、両フローでランタイムパスは同一です。
arkor build
src/arkor/index.ts を esbuild で .arkor/build/index.mjs にバンドルします。
概要
引数
出力
.arkor/build/index.mjs(outDir のデフォルトは .arkor/build)。出力は単一の ESM ファイル、Node 22.6 をターゲットにし、packages: "external" で bare specifier(arkor、node_modules 内のもの)はバンドルせず、成果物はあなたの node_modules からランタイム SDK を解決します。インライン化されるのは相対 import のみです。
エントリーが存在しない場合、arkor build は src/arkor/index.ts を作るか明示的なエントリーを渡すよう促すメッセージで例外が発生します。
arkor start
.arkor/build/index.mjs を実行します。ランナーはバンドルを import し、登録済みトレーナーを見つけ(export const arkor を最優先、次に export const trainer、最後にデフォルトエクスポート)、trainer.start() の後に trainer.wait() を呼びます。
概要
引数
無ければ自動ビルドする挙動は、Studio の “Run training” が 2 回 spawn を連鎖させずに済むためのものです。スクリプトからは通常、
arkor build と arkor start を明示的に呼んで、ビルド失敗が走り出す前に表に出るようにしたいはずです。
振る舞いまとめ
「成果物の再利用」のパスがあるおかげで、Studio はトレーナーの編集を train エンドポイントではなく
/api/manifest のリビルド経由で表に出せます。CLI 中心のワークフローでは、src/arkor/ を編集したら毎回 arkor build を走らせてください。
よくあるエラー
arkor build:
arkor start:
runTrainer(プログラム):