学習を開始し、ストリームを眺め、完成したモデルとチャットし、*.arkor.app URL で公開するためのローカル Web UI。
Studio は arkor dev 実行時に立ち上がるローカル Web UI です。別途サインインするサービスではありません。ローカルで起動し、同じ Arkor CLI プロセスと通信し、dev サーバーを止めれば消えます。
4 つの仕事:
arkor start を起動し、ジョブをマネージドバックエンドに投入します。arkor start は既存の .arkor/build/index.mjs 成果物を実行し(無いときだけ自動ビルド)、Studio が成果物を最新に保つ仕組みは下記の dev ループのメモを参照してください。onCheckpoint コールバックをトレーナーで使ってください。*.arkor.app URL でモデルを公開する。 Endpoints ページで OpenAI 互換 chat completions を提供する deployment 専用サブドメインを作成し、その API キーを発行・取り消しできます。同じ操作は CloudApiClient からプログラマティックにも可能で、Studio が対話的なインターフェイス、SDK が下位レイヤーという位置付けです。dev ループのメモ: Studio の /api/manifest エンドポイントはリクエストごとにトレーナーをリビルド・再 import しますが(キャッシュバストクエリ付き、packages/arkor/src/studio/manifest.ts を参照)、UI が fetch するのは Run training ページがマウントされたときだけです。src/arkor/ を編集して同じ Run training ページに留まり続けると、次のクリックは既存の .arkor/build/index.mjs を再利用して古いコードで走ります。確実に新しいコードを取り込むには、編集とクリックの間にページをリロード(あるいはターミナルから arkor build)してください。
arkor dev を起動すると CLI は次を行います:
127.0.0.1:4000 で起動(ポートは -p で変更可能)。/api/* 経由で CLI と話します。~/.arkor/studio-token にモード 0600 で保存)、すべてのリクエストにこのトークンを要求します。サーバーはループバックにのみバインドし、ループバック以外の Host ヘッダーのリクエストは拒否します。公開 URL はなくリモートからの到達経路もありません(ローカルからのリクエストにもトークンが必要です)。トークンは arkor dev のたびにローテートされます。
Studio は CLI の動作を可視化するための画面にすぎません。CLI は認証付き HTTPS でマネージドバックエンドと通信し、Studio は CLI に(ループバック越しに)描画する内容を問い合わせます。
Studio(ブラウザータブ)
│ ループバック上の /api/*、CSRF トークン必須
▼
arkor CLI(ローカル)
│ 認証付き HTTPS
▼
Arkor マネージドバックエンド(学習、推論)この分離があるからこそ、ブラウザー側で何もログインせずに Studio が動きます。CLI は ~/.arkor/credentials.json ですでに認証情報を持っており、Studio はローカルで動いている前提のもとその認証情報を引き継ぎます。
~/.arkor/credentials.json がない場合の処理はエントリーポイントが決めます。arkor dev は起動時に匿名セッションを初期化し、必要に応じてアップグレードできるよう arkor login --oauth を案内する 1 行のヒントを出します。OAuth フローを自動で起動することはありません。例外は初回起動時に /v1/auth/cli/config 自体へ到達できないケースで、同じトランスポートエラーが再スローされて arkor dev は fail-fast で終了します(具体的な復旧手順は arkor dev を参照)。Studio サーバーの遅延初期化(認証情報が無い状態で /api/* リクエストが届いたとき)も同じ匿名フォールバックを行います。アカウントセッションを使いたい場合は、Studio をクリックする前(あるいは後)に別途 arkor login --oauth を実行してください。認証情報ファイルは共有なので、Studio は次のリクエストでアカウントセッションを拾います。
現状のビューはあえて小さく保たれています:
Server-Sent Events 経由でストリームされ、手動リロードなしで最新のままです。onCheckpoint コールバックを使ってください。*.arkor.app URL と、その API キーを管理するビュー。slug、target(最終アダプター / 特定 checkpoint / ベースモデル)、auth mode、キー発行・revoke が同じ画面に集約されています。深い操作(既存 deployment の target 差し替え、カスタム run retention、バルク操作のスクリプト化)は SDK 側に残されています。各ビュー(Run training、Job 詳細、Playground、Endpoints)のウォークスルーは Studio セクションにあります。
Studio は開発ツールです。ローカルで動き、ループバックのみを受け付け、arkor dev が立ち上がっている間だけ存在します。ファインチューン済みモデルをプロダクションで使う際は、デプロイメントとして公開し、そのエンドポイントの OpenAI 互換 API をアプリケーションから呼んでください。infer は学習中の onCheckpoint にだけ渡される関数で、Studio をユーザーに見せるものでもありません。