Busabase

CLI のアカウントとワークスペース

1 台のマシンで複数の Busabase アカウントを保持し、再ログインなしでワークスペースを切り替えます。

CLI のアカウントとワークスペース

busabase-cli は複数のアカウントを同時に保持でき、各アカウントは所属するどのワークスペースでも対象にできます。次の 2 つは別のものです。

  • アカウント — 異なる認証情報。仕事用と個人用、Cloud とセルフホストのサーバー、あるいは同じホスト上の 2 つのログイン。
  • ワークスペース — Busabase Cloud では 1 つのアカウントが複数のワークスペースに属するのが普通です。セルフホストのサーバーには 1 つだけ存在します。

CLI ではワークスペースを space と呼びます(--space-idspace use)。これは API の x-busabase-space ヘッダーに合わせたもので、本ドキュメントで言うワークスペースと同じものです。

複数のアカウント

busabase-cli login --profile work   # 2 つ目のアカウントを追加し、そちらに切り替える
busabase-cli auth status            # アカウント一覧をホストごとに表示(* が現在)
busabase-cli auth switch            # 選択する(候補が 1 つだけなら自動)
busabase-cli auth switch work       # …または名前で指定
busabase-cli auth remove old        # 保存済みアカウントを削除
busabase-cli logout --profile work  # そのアカウントだけサインアウト

auth status がホストごとにまとめるのは読みやすさのためで、アカウント自体はフラットに保存されます。同じホスト上の 2 つのログインは、単に 2 つのアカウントです。

https://busabase.com
  * work      orgAbc123   (API key)
    personal  orgDef456   (OAuth, expires in 12d)
http://localhost:15419
    local     (not set)   (no auth)

1 つのアカウントで複数のワークスペース

busabase-cli space list               # このアカウントが到達できるワークスペース(* が対象)
busabase-cli space use               # 一覧から選ぶ
busabase-cli space use "Marketing"   # 名前で指定 — slug や id でも可

再ログインは不要です。選択内容は認証情報が実際に到達できる範囲に対して検証されるため、名前を打ち間違えても次のコマンドで 403 になるのではなく、その場でエラーになります。セルフホストのサーバーは唯一のワークスペースを表示し、その旨を伝えます。

保存場所

~/.busabase/
├── .env                 現在のアカウントの認証情報(0600)。常に存在します。
├── config.json          (任意)設定 + どのアカウントが現在か。
└── profiles/            (任意)アカウントごとに 1 ファイル。
    ├── default.env
    └── work.env

アカウントを切り替えると、選んだアカウントの内容で ~/.busabase/.env が書き直されます。これは意図的な設計です。busabase エージェントスキル、本ドキュメント内の curl の例、そのファイルを読むあらゆる SDK が、アカウントという概念を知らないまま自動的に追従します。

.env は切り替えのたびに書き直されるため、アカウントが 2 つ以上ある状態でワークスペースを手作業で追記しないでください(echo BUSABASE_SPACE_ID=… >> ~/.busabase/.env)。次の auth switch で失われます。代わりに busabase-cli space use を使ってください。正しいアカウントに記録されます。

アカウントを 1 つしか使わない場合、これらは一切現れません。~/.busabase/.env が従来どおり存在するだけで、config.jsonprofiles/ も作成されません。

スクリプト、CI、2 つのターミナルの同時使用

フラグ環境変数効果
--profile <name>BUSABASE_PROFILEこのコマンドで該当アカウントを使い、そのファイルを直接読みます。共有の .env には触れないため、2 つのターミナルで 2 つのアカウントを同時に扱えます。
--config <path>BUSABASE_CONFIG任意のファイルから認証情報を読み、アカウント機構を完全にバイパスします。
--api-key--base-url--space-idBUSABASE_API_KEY、…個別の値を上書きします。優先度は最も高くなります。

優先順位は、個別フラグ → --config--profile → 現在のアカウントの .env → 既定値です。エクスポートされた環境変数は常にディスク上の内容より優先されます。

設定

どのアカウントでも変わらない設定は config.json に保存されます。

busabase-cli auth config set output json   # 毎回 --output json と打たなくて済みます
busabase-cli auth config list

On this page