Studio はDocumentation Index
Fetch the complete documentation index at: https://arkor-92aeef0e-eng-736.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
arkor dev 実行時に立ち上がるローカル Web UI です。別途サインインするサービスではありません。ローカルで起動し、同じ Arkor CLI プロセスと通信し、dev サーバーを止めれば消えます。
Studio の役割
4 つの仕事:- 学習を開始する。 “Run training” ボタンが内部で
arkor startを起動し、ジョブをマネージドバックエンドに投入します。arkor startは既存の.arkor/build/index.mjs成果物を実行し(無いときだけ自動ビルド)、Studio が成果物を最新に保つ仕組みは下記の dev ループのメモを参照してください。 - 学習を眺める。 ライブステータス付きのジョブ一覧、ストリーム到着とともに更新される Loss チャート、学習イベントのテール。タブで開きっぱなしにして他の作業ができます。
- 完成モデルを試す。 Playground ページでベースモデルや任意の完了済みジョブの最終アダプターを選んでチャットできます。中間チェックポイントは Playground からはロードしません。学習中の推論には
onCheckpointコールバックをトレーナーで使ってください。 *.arkor.appURL でモデルを公開する。 Endpoints ページで OpenAI 互換 chat completions を提供する deployment 専用サブドメインを作成し、その API キーを発行・取り消しできます。同じ操作はCloudApiClientからプログラマティックにも可能で、Studio が対話的なインターフェイス、SDK が下位レイヤーという位置付けです。
/api/manifest エンドポイントはリクエストごとにトレーナーをリビルド・再 import しますが(キャッシュバストクエリ付き、packages/arkor/src/studio/manifest.ts を参照)、UI が fetch するのは Run training ページがマウントされたときだけです。src/arkor/ を編集して同じ Run training ページに留まり続けると、次のクリックは既存の .arkor/build/index.mjs を再利用して古いコードで走ります。確実に新しいコードを取り込むには、編集とクリックの間にページをリロード(あるいはターミナルから arkor build)してください。
Studio が動く場所
arkor dev を起動すると CLI は次を行います:
- Hono サーバーを
127.0.0.1:4000で起動(ポートは-pで変更可能)。 - 同一オリジンで Vite + React の SPA を提供し、UI はループバックの
/api/*経由で CLI と話します。 - 起動ごとに CSRF トークンを発行し(
~/.arkor/studio-tokenにモード0600で保存)、すべてのリクエストにこのトークンを要求します。
Host ヘッダーのリクエストは拒否します。公開 URL もインバウンド接続もなく、トークンは arkor dev のたびにローテートされます。共有の開発環境でも学習データが漏れる心配なく安全に Studio を動かせます。
マネージドバックエンドとの関係
Studio は CLI の動作を可視化するための画面にすぎません。CLI は認証付き HTTPS でマネージドバックエンドと通信し、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 は次のリクエストでアカウントセッションを拾います。
実際に見えるもの
現状のビューはあえて小さく保たれています:- Jobs。 ステータス、名前、作成時刻、ID。数秒ごとにポーリング。
- Job 詳細。 Loss チャート、ログのテール(直近のイベント)、ライブステータス。
Server-Sent Events経由でストリームされ、手動リロードなしで最新のままです。 - Playground。 アダプターセレクター(ベースモデル or 任意の完了済みジョブの最終アダプター)、チャット UI、ストリーミングレスポンス。呼び出しは CLI を経由して、その先のマネージド推論エンドポイントに届きます。Playground は完了済みジョブだけを並べます。学習中に中間チェックポイントで推論したい場合は、代わりに
onCheckpointコールバックを使ってください。 - Endpoints。 アダプターやベースモデルに紐づく deployment 単位の
*.arkor.appURL と、その API キーを管理するビュー。slug、target(最終アダプター / 特定 checkpoint / ベースモデル)、auth mode、キー発行・revoke が同じ画面に集約されています。深い操作(既存 deployment の target 差し替え、カスタム run retention、バルク操作のスクリプト化)は SDK 側に残されています。
Studio を使うべきでない場面
Studio は開発ツールです。ローカルで動き、ループバックのみを受け付け、arkor dev が立ち上がっている間だけ存在します。ファインチューン済みモデルをプロダクションで使う際は、Studio をユーザーに見せるのではなく、自分のアプリケーションコード(あるいは推論層)から infer を呼んでください。