# CLI

beeuni командная строка, модель аутентификации, цикл разработки и все команды.

Canonical page: https://beeuni.ai/docs/ja/cli

`beeuni`コマンドラインインターフェース（CLI）は、ターミナル（ノートパソコンまたはセッションサンドボックス）からBeeuniを操作します。このページでは、日常的な開発ループを説明し、その後に安定版のすべてのコマンドとフラグを一覧します。

<a id="install"></a>

## インストール

```sh
curl -fsSL https://beeuni.ai/install | bash
```

インストーラーはmacOSおよびLinux用のビルド済みバイナリをダウンロードします。Windowsはサポートされていません。

| コマンド | 効果 |
| --- | --- |
| `beeuni update` | インストールスクリプトを再実行し、最新のバイナリを取得します。 |
| `beeuni uninstall [-y\|--yes] [--keep-auth] [--keep-home]` | バイナリ、`/usr/local/bin` shim、保存されたトークンを削除します。`--keep-auth`はトークンを保持します。`--keep-home`は`~/.beeuni`を保持します。 |
| `beeuni version` | CLIのバージョンを表示します。 |

<a id="auth-model"></a>

## 認証モデル

Beeuniは認証情報をグローバルではなくホストごとに保存します。ホストとは、1つのBeeuni APIエンドポイントです。`cloud`を使用してBeeuniに接続します。

設定ファイルは`~/.config/beeuni/config.json`にあり、モードは`0600`です。`BEEUNI_CONFIG_FILE`でパスを上書きできます。

CLIは、host → account → project → sessionという階層に従います。ホストにサインインし、その中のアカウントを選び、そのアカウント内のプロジェクトを選び、プロジェクト内でセッションを開きます。`beeuni hosts login`は最初の3つの手順を順に実行します。サインインし、アカウントを選び、デフォルトプロジェクトを設定します。

すべてのトークンは`beeuni_pat_`で始まります。`beeuni login`から取得するユーザートークンでは、自分が所属するすべてのアカウントとプロジェクトを確認できます。プロジェクトトークンはセッションサンドボックス用に自動発行され、1つのプロジェクトに限定されます。[Token scope](#token-scope)を参照してください。

<a id="the-dev-loop"></a>

## 開発ループ

このループでは、CLIがインストール済みで、`beeuni login`を実行済みであることを前提とします。セットアップについては[Quickstart](/docs/ja/quickstart)を参照してください。

### リポジトリをリンクする
新しいプロジェクトを開始するか、既存のリポジトリフォルダーをプロジェクトにリンクします。

新しいプロジェクトをスキャフォールドするには、次を実行します。

```sh
beeuni init my-app
cd my-app
```

`beeuni init`は、汎用スターターを使用してプロジェクトディレクトリを作成します。その`beeuni.yaml`は`beeuni_version: 2`を宣言し、標準のエージェントランタイム
[harness](/docs/ja/work/harnesses)を実行します。

既に作成したプロジェクトに、既存のクローン済みリポジトリをリンクするには、次を実行します。

```sh
beeuni projects link <project-id>
```

このコマンドは、現在のディレクトリに`.beeuni/link.json`を書き込みます。Beeuniは、このフォルダーから実行されるすべてのコマンドでこのファイルを読み取り、プロジェクトを特定します。先に`beeuni ship`を実行する予定なら、この手順は省略してください。プロジェクトが存在しない場合は、新しいプロジェクトをリンクしてくれます。

### コードを出荷する
```sh
beeuni ship
```

`beeuni ship`は`beeuni.yaml`をlintし、ローカルの変更をコミットし、ブランチをプッシュし、不足しているシークレットや接続があれば入力を促します。ローカルの変更をクラウドプロジェクトに反映したいときに毎回実行してください。まだプロジェクトやリポジトリをリンクしていない場合、初回実行時にクラウドプロジェクトとリポジトリも作成されます。

### セッションを実行して接続する
プロンプトを指定してセッションを開始します。

```sh
beeuni sessions new --prompt "Build the login page" --wait
```

各セッションは、それぞれ専用のサンドボックスとブランチで実行されます。`--wait`は、セッションの準備が整うまで待機します。

ターミナルからセッションに接続します。

```sh
beeuni connect
```

セッションIDを指定しない場合、`beeuni connect`（エイリアス: `attach`）は、紐付けられたプロジェクトのセッション選択画面を開きます。実行中のセッションにはすぐ接続し、停止中のセッションは先に起動します。`+ New session`は新しいサンドボックスを開始します。その後、そのセッションに接続された完全な標準のエージェントランタイム TUIが開きます。選択画面を省略するにはIDを渡します。
`beeuni connect <session-id>`。

CLIは`opencode`バイナリを管理します。初回接続時に、セッションのサーバーが実行している正確なバージョンをダウンロードし、`~/.beeuni/opencode/<version>/`にキャッシュします。そのため、TUIとサーバーのバージョンがずれることはありません。独自のバイナリを使用するには`BEEUNI_OPENCODE_BIN`を設定します。

pi [harness](/docs/ja/work/harnesses)上のセッションには標準のエージェントランタイムサーバーがありません。
`beeuni connect`はそのセッションに対して終了コード1で終了し、`This session's runtime does
does not support attaching a terminal client.`というメッセージを表示します。

完全なTUIではなく、より軽量な行ベースのチャットを使うには、次を実行します。

```sh
beeuni sessions chat
```

直近のセッションとのインタラクティブチャットが開きます。特定のセッションを対象にするにはIDを追加します。`beeuni sessions chat <id>`。

セッション一覧、トランスクリプトとコンポーザー、サンドボックス内のシェル、Files、Review、Apps、Customize、Account画面を含むプロダクト全体をターミナルで使うには、実験的なターミナルクライアントを実行します。

```sh
beeuni tui        # or: beeuni t, or beeunit
beeunit --project <id> --new --terminal   # new session + sandbox shell, one command
```

現在接続しているホストでサインインします。[TUIページ](/docs/ja/cli#sessions)を参照してください。

エージェントを介さずにサンドボックスで生のシェルを開くには、次を実行します。

```sh
beeuni sessions shell
```

実行中のセッションはいつでも一覧できます。

```sh
beeuni sessions ls
```

### 変更リクエストでレビューする
セッションにマージ可能なコミットが用意されると、エージェントは変更リクエスト（CR）を開きます。CLIから一覧表示、確認、マージを行えます。

```sh
beeuni cr ls
beeuni cr diff 1
beeuni cr merge 1
```

`beeuni cr ls`は、リンクされたプロジェクトの変更リクエストを一覧表示します。`beeuni cr diff <cr>`は統合パッチを表示します。`beeuni cr merge <cr>`はプロジェクトのデフォルトブランチにマージします。CR番号または完全なIDを指定できます。

<a id="reference"></a>

## リファレンス

<a id="auth-commands"></a>

### 認証コマンド

| コマンド | 効果 |
| --- | --- |
| `beeuni login [--host <name>] [--api <url>] [--token <pat>] [--account <slug>] [--no-project]` | アクティブなホスト、または指定したホストにサインインします。デフォルトではブラウザーを開きます。`--token`はヘッドレスでサインインします。`--no-project`はデフォルトプロジェクトの選択を省略します。 |
| `beeuni logout [--host <name>]` | アクティブなホスト、または指定したホストのトークンを削除します。 |
| `beeuni whoami [--host <name>] [--json] [--token-only]` | サインイン中のユーザーとアクティブなアカウントを表示します。 |
| `beeuni token [--host <name>]` | `beeuni whoami --token-only`のショートカットです。 |

`beeuni hosts login` / `hosts logout` / `hosts whoami`が正式な形式です。`login` / `logout` / `whoami`は、アクティブなホストに対して動作するショートカットです。

<a id="hosts"></a>

### ホスト

| コマンド | 効果 |
| --- | --- |
| `beeuni hosts ls [--json]` | すべてのホストと認証状態を一覧表示します。 |
| `beeuni hosts login [<name>] [--token <pat>] [--api <url>] [--account <slug>] [--no-project]` | ホストにサインインします。不明な名前の場合は、先にホストを登録します。 |
| `beeuni hosts logout [<name>]` | ホストのトークンを削除します。 |
| `beeuni hosts use <name>` | アクティブなホストを切り替えます。 |
| `beeuni hosts add <name> --url <url> [--dashboard-url <url>] [--login]` | 新しいホストを登録します。`--login`は直後にサインインします。 |
| `beeuni hosts rm <name> [--force]` | ホストを削除します。 |
| `beeuni hosts info [<name>] [--json]` | 1つのホストの詳細を表示します。 |
| `beeuni hosts current [--json]` | アクティブなホスト名を表示します。 |

`http://`で始まるリモートホストURLは`https://`に正規化されます。CLIがリモートホストに平文HTTPでトークンを送信することはありません。`localhost`は例外です。

<a id="accounts"></a>

### アカウント

| コマンド | 効果 |
| --- | --- |
| `beeuni accounts ls [--json]` | アクティブなホストで、自分が所属するアカウントを一覧表示します。 |
| `beeuni accounts use [<slug-or-id>]` | アクティブなアカウントを切り替えます。 |
| `beeuni accounts current [--json]` | アクティブなアカウントを表示します。 |
| `beeuni accounts info [<slug-or-id>] [--json]` | 1つのアカウントを表示します。 |

<a id="members"></a>

### メンバー

アカウントに所属するメンバーと、そのアカウントロールを確認できます。ロールは`owner`、`admin`、`member`です。OwnerとAdminにはすべてのプロジェクトで暗黙的にManager権限があるため、`member`だけがプロジェクト単位の付与対象になります。

| コマンド | 効果 |
| --- | --- |
| `beeuni members ls [--json]` | メンバー、ロール、プロジェクト数を一覧表示します。 |
| `beeuni members invite <email> --role admin\|member [--project <id>:<role>]` | メールアドレスで招待します。既存のBeeuniユーザーはすぐに追加され、それ以外のユーザーには招待リンクがメールで送られます。`--project`は繰り返し指定でき、承諾時に適用されます。`member.invite`が必要です。 |
| `beeuni members set-role <user\|email> --role owner\|admin\|member` | アカウントロールを変更します。`member.update`が必要です。`owner`ロールはOwner専用です。 |
| `beeuni members rm <user\|email> [-y\|--yes]` | メンバーを削除し、そのトークンを無効にします。`member.remove`が必要です。 |
| `beeuni members super-admin <user\|email> on\|off` | super-adminバイパスを付与または取り消します。`member.super_admin.grant`が必要です。 |
| `beeuni members invites ls [--json]` | 自分が送信した保留中の招待を一覧表示します。 |
| `beeuni members invites cancel <invite-id>` | 保留中の招待を1件キャンセルします。 |
| `beeuni members invites resend <invite-id>` | メールを再送し、有効期限を14日間延長します。 |

`<user>`はユーザーID、またはすでにアカウントに所属しているユーザーのメールアドレスです。
オプション: `--account <id>`、`--host <name>`、`--json`、`-y`。

<a id="groups"></a>

### グループ

アカウントグループは、ロールを一度付与する相手をまとめた名前付きのグループです。`beeuni access grant --group <id> --role <key>` でグループをスコープに紐付け、`beeuni access revoke <assignment-id>` で解除します。

| コマンド | 効果 |
| --- | --- |
| `beeuni groups ls [--json]` | メンバー数とプロジェクト数を含めてグループを一覧表示します。 |
| `beeuni groups create <name> [--description <t>]` | グループを作成します。 |
| `beeuni groups set <group> [--name <n>] [--description <t>\|--no-description]` | グループの名前または説明を変更します。 |
| `beeuni groups rm <group> [-y\|--yes]` | グループを削除します。グループの権限付与も削除されます。 |
| `beeuni groups members <group> [--json]` | グループのメンバーを一覧表示します。 |
| `beeuni groups add <group> <user>...` | 1人以上を追加します。 |
| `beeuni groups remove <group> <user>` | 1人を削除します。 |
| `beeuni groups projects <group> [--json]` | グループがアクセスできるプロジェクトと、そのロールを表示します。 |

`<group>` はグループ ID または完全一致する名前です。読み取りには `group.read` が必要です。
`create`、`set`、`add` には、`group.update` または `group.members.manage` と、エンタープライズ `rbac` の利用資格が必要です。`rm` と `remove` は後片付け用で、利用資格による制限はありません。

<a id="tokens"></a>

### トークン

アカウント用の非対話型認証情報です。読み取りには `token.read` が必要です。アカウントのすべてのメンバーは、自分用の個人キーを発行、失効できます（`token.personal.create`、`token.personal.revoke`）。個人キーは本人として動作し、本人のロールを超える権限を持つことはありません。サービスアカウントや他の人のキーには `token.create` / `token.revoke`（オーナーと管理者）が必要です。

| コマンド | 効果 |
| --- | --- |
| `beeuni tokens ls [--mine] [--json]` | アカウントの個人 API キーを一覧表示します。`--mine` を指定すると、自分が発行したキーだけに絞り込みます。 |
| `beeuni tokens new <name> [--expires <when>] [--project <id>]` | キーを発行します。シークレットが表示されるのは一度だけです。`--project` を指定するとキーを1つのプロジェクトに紐付けます。キーはそのプロジェクト以外では使えません。 |
| `beeuni tokens rm <token-id> [-y\|--yes]` | キーを直ちに失効させます。 |
| `beeuni tokens apps ls [--json]` | 接続済みアプリを一覧表示します。Sign in with Beeuni で承認したアプリと MCP クライアントが、すべてのアカウントを通じて対象です。 |
| `beeuni tokens apps rm <client-id> [-y\|--yes] [--json]` | 接続済みアプリを取り消します。トークンは直ちに使えなくなり、アプリは再度承認を求める必要があります。 |
| `beeuni tokens service-accounts ls [--json]` | サービスアカウントを一覧表示します。 |
| `beeuni tokens service-accounts new <name> [--description <t>] [--expires <when>]` | サービスアカウントを作成します。ベアラーが表示されるのは一度だけです。 |
| `beeuni tokens service-accounts disable <id>` | サービスアカウントを無効にします。認証に使えなくなります。再び使うには削除して作り直してください。 |
| `beeuni tokens service-accounts rm <id> [-y\|--yes]` | サービスアカウントを完全に削除します。 |

個人 API キーは本人として動作し、メンバー資格を失うと無効になります。サービスアカウントは独自の ID で動作し、アクセス権を継承しません。新規作成時には権限がありません。`beeuni access grant --service-account <id> --role <key>` で権限を付与してください。
`--expires <when>` には ISO-8601 または将来までの期間を指定します：`30d`、`12h`、`6w`、`1y`。

<a id="billing"></a>

### 請求

アクティブなアカウントのプラン、クレジット、利用額を確認します。読み取り専用です。プランの変更、チャージ、支払い方法の管理はダッシュボードから行います。

| コマンド | 効果 |
| --- | --- |
| `beeuni billing status [--json]` | プラン、クレジット、シート数、サブスクリプションを表示します。 |
| `beeuni billing transactions [--limit <n>] [--offset <n>] [--type <a,b>] [--json]` | クレジット台帳を新しい順に表示します。デフォルトのページサイズは50です。 |
| `beeuni billing transactions --summary\|--breakdown\|--usage [--days <n>]` | クレジットの入出金、残高の内訳（有効期限付き／なし／日次）、またはクレジット利用の概要を表示します。`--days` は `--summary` と `--usage` の期間を指定します。デフォルトは30です。 |
| `beeuni billing costs [--since <iso>] [--until <iso>] [--json]` | 期間内のアカウント利用額とモデル別の内訳を表示します。デフォルトの期間は30日間で、UTC の半開区間 `[from, to)` です。 |
| `beeuni billing costs --by project\|session [--sort <k>] [--limit <n>] [--offset <n>] [--csv <file>]` | 利用額をプロジェクト別またはセッション別に集計します。`--sort` には `total_desc`（デフォルト）、`total_asc`、`recent`、または `name_asc`（`--by project` のみ）を指定します。`--csv` には `--by` が必要です。 |

フィルター：`--project <id>`、`--session <id>`、`--owner <id>`（セッション。`--by session` を指定）。オプション：`--account <id>`、`--host <name>`、`--json`。

<a id="projects"></a>

### プロジェクト

コマンドは次の順で「プロジェクト」を解決します。

1. `--project` フラグ
2. `BEEUNI_PROJECT_ID` 環境変数
3. 作業ディレクトリ直下の `.beeuni/link.json`
4. `beeuni projects use` で設定したグローバル既定値

| コマンド | 効果 |
| --- | --- |
| `beeuni projects ls [--all] [--query <text>] [--json]` | アクティブなアカウントのプロジェクトを一覧表示します。`--all` を指定すると、所属するすべてのアカウントが対象になります。`--query`（別名 `-q`）は名前、ID、リポジトリで絞り込みます。 |
| `beeuni projects info [<id>] [--json]` | 1つのプロジェクトを表示します。デフォルトは、紐付け済みまたは既定のプロジェクトです。 |
| `beeuni projects use [<id>]` | グローバル既定プロジェクトを設定します。プロジェクトが別のアカウントにある場合は、アクティブなアカウントも切り替わります。 |
| `beeuni projects unset` | グローバル既定プロジェクトを解除します。 |
| `beeuni projects link [<id>]` | 現在のディレクトリをプロジェクトに紐付けます。`.beeuni/link.json` を書き込みます。 |
| `beeuni projects unlink` | `.beeuni/link.json` を削除します。 |
| `beeuni projects open [<id>]` | ブラウザーでプロジェクトのダッシュボードページを開きます。 |
| `beeuni projects clone [<id>] [dir]` | 認証済みの Beeuni git プロキシ経由でプロジェクトのリポジトリをクローンします。 |
| `beeuni projects rm [<id>] [-y\|--yes]` | プロジェクトと Beeuni 管理の git リポジトリを削除します。自分で接続したリポジトリには影響しません。 |
| `beeuni projects set [<id>] [--name <n>] [--branch <b>] [--manifest <path>] [--json]` | プロジェクトの設定を更新します。指定したフィールドのみを書き込みます。フィールドを指定しない場合は `2` を終了します。別名：`update`。 |
| `beeuni projects set [<id>] --icon <emoji>\|--no-icon\|--glyph <name>:<color>\|--no-glyph` | プロジェクトのアイコンを設定または削除します。 |
| `beeuni projects rename [<id>] <name>` | `beeuni projects set --name <name>` の別名です。 |
| `beeuni projects features [ls] [--json]` | すべての機能フラグを、キー、状態、由来、安定性とともに一覧表示します。 |
| `beeuni projects features enable\|disable\|reset <flag>` | プロジェクトの上書き設定をオン、オフ、または解除して、フラグをプラットフォームのデフォルトに従わせます。 |
| `beeuni projects cli-tokens ls [--json]` | プロジェクトの CLI トークンを一覧表示します。 |
| `beeuni projects cli-tokens new [--name <name>] [--expires-at <iso>]` | プロジェクト限定の CLI トークンを発行します。シークレットが表示されるのは一度だけです。 |
| `beeuni projects cli-tokens rm <token-id> [-y\|--yes]` | プロジェクトの CLI トークンを1つ失効させます。 |
| `beeuni projects upgrade [<id>] [--json]` | v1 `beeuni.toml` を v2 `beeuni.yaml` に移行し、変更リクエストを作成するエージェントセッションを開始します。 |

プロジェクトに表示できるアイコンは1つです。`--icon` を書き込むとグリフが消え、`--glyph` を書き込むと絵文字が消えます。両方を指定すると拒否されます。グリフの色：`grey`、`red`、`orange`、`yellow`、`lime`、`blue`、`purple`、`magenta`。`set` と `features` には `project.settings.write` が必要です。プラットフォームで利用不可とされているフラグは、プロジェクトで上書きしてもオフのままです。

プロジェクト CLI トークンは1つのプロジェクトに紐付けられ、API はそれ以外の場所での使用を拒否します。セッションのサンドボックスでは、そのセッションに紐付けられた `BEEUNI_TOKEN` を使用します。`cli-tokens ls` にはプロジェクトの読み取り権限が必要です。`new` と `rm` には `project.credentials.issue` が必要です。セッションに紐付けられたトークンは、プロジェクトでエージェントが宣言されているかどうかにかかわらず、プロジェクトトークンを発行も失効もできません（`403`）。プロジェクト CLI トークンにはアカウントの PAT ポリシーが適用されます。アカウントで有効期限が必須の場合は `--expires-at` を指定してください。最長有効期間を超える有効期限を指定すると `400` が返されます。

`beeuni projects upgrade` にはプロジェクトの書き込み権限が必要です。デフォルトのエージェントはマーケットプレイスのベースラインを更新し、マニフェストを書き換え、`beeuni validate` を実行して、変更リクエストを作成します。マージは行いません。差分は人間がレビューします。

<a id="project-scaffold"></a>

### プロジェクトのひな形

`beeuni init [project-name] [options]` は新しいプロジェクトディレクトリを作成します。スターターは v2 `beeuni.yaml`、`agents/`、`skills/`、`memory/`、`harnesses/opencode/` を作成します。このコマンドでは、クラウドの 標準のエージェントランタイム ランタイムを変更せずに、ローカルのコーディングツールの検出を設定できます。このコマンドは `.beeuni/link.json` を書き込みません。`beeuni ship` または `beeuni projects link` でこのファイルを作成します。

| フラグ | 意味 |
| --- | --- |
| `--name <project>` | プロジェクト名。 |
| `--primary <agent>` | プライマリエージェント。 |
| `--agents <csv>` | 接続するローカルのコーディングエージェント統合。 |
| `--force` | 新しいディレクトリを作成せず、現在のディレクトリに設定します。 |
| `--overwrite` | 既存のファイルを上書きします。 |
| `--no-git` | git init をスキップします。 |
| `-y, --yes` | プロンプトを表示しません。 |

ローカルのコーディングツールの選択によって、クラウドの 標準のエージェントランタイム ランタイムが変わることはありません。

`beeuni init` にはマーケットプレイスの選択機能はありません。マーケットプレイスのスキルを追加するには、エージェントにインポートさせます。セッションを開始し、エージェントに追加を依頼してください。

### Ship

`beeuni ship` は現在のブランチをステージングしてコミットし、プロジェクトの git リポジトリにプッシュします。プロジェクトの作成時に1回実行します。その後はいつでも再実行して同期できます。別名：`beeuni deploy`。

各実行で:
- [`beeuni validate`](#manifest-validation) チェックを実行します。`beeuni.yaml` と、[`imports:`](/docs/ja/project/manifest#imports)、サンドボックスの Dockerfile、エージェントの配線、リポジトリのサイズに記載されたすべてのファイルをマージします（`--no-verify` でスキップ）。エラーがあると出荷を停止します。警告では停止しません。
- 変更のある作業ツリーをコミットします（`--no-commit` でスキップ）。
- 不足している `env` シークレットの入力を求めます（`--no-env` でスキップ）。
- 現在のブランチを同名のリモートブランチにプッシュします。
- 認証が必要な、宣言済みコネクターに接続します（`--no-connect` でスキップ）。

既存の GitHub `origin` は Beeuni GitHub App 経由でリンクします。その他の既存の `origin` はそのまま登録します。`origin` がない場合は、Beeuni が管理する Git リポジトリを作成します。

| オプション | 効果 |
| --- | --- |
| `--name <project>` | 新しいプロジェクトの表示名。 |
| `--account <id\|slug>` | プロジェクトの作成先アカウント（初回の ship のみ）。 |
| `--origin <managed\|git-url>` | 推定されたオリジンの選択を上書きします。 |
| `--github-token <pat>` | GitHub App の代わりにこのトークンで GitHub オリジンをリンクします。 |
| `-m, --message <text>` | コミットメッセージ。 |
| `--no-commit` / `--no-verify` / `--no-env` / `--no-connect` | 該当する手順をスキップします。 |
| `-y, --yes` | 確認を求めません。 |
| `-n, --dry-run` | 実行内容を表示します。変更は加えません。 |
| `--project <id>` / `--host <name>` | デフォルト以外のプロジェクトまたはホストを指定します。 |

### Apps

Apps は静的サイト、サーバー、ワーカー、データベースをホストします。各 App は固定 URL を持ちます。リリースはコードと設定を含み、失敗したデプロイは稼働中のリリースを置き換えません。

```bash
beeuni apps list
beeuni apps show main
beeuni apps connect main
beeuni apps launch --template convex --slug main
beeuni apps deploy dist --type static --spa
beeuni apps machines main
beeuni apps volumes main
```

`uses` でアプリを接続し、`beeuni apps connect` の接続例を利用してください。管理用認証情報をクライアントコードに含めないでください。

稼働リソースはアカウントのクレジットを消費します。Billing と Usage で残高を確認できます。Apps に独立した月額予算はありません。

[Apps](/docs/feature-flags/apps)

### Sessions

各セッションは、専用ブランチ上の 1 つのサンドボックスで実行されます。

| コマンド | 効果 |
| --- | --- |
| `beeuni sessions ls [--mine\|--shared\|--automated] [--search <q>] [--label <label>]... [--json]` | セッションを一覧表示します。`--label` は繰り返し指定できます。セッションには指定したすべてのラベルが付いている必要があります。いずれかの一覧セッションにラベルがある場合、LABELS 列が表示されます。 |
| `beeuni sessions status [--all] [--json]` | すべてのセッションと、各エージェントが現在行っていることを表示します。エイリアス: `overview`、`ps`。 |
| `beeuni sessions info <id> [--json]` | 詳細ビュー: ステータス、ブランチ、エージェント、サンドボックス URL。 |
| `beeuni sessions new [--prompt "<text>"] [--agent <name>] [--model <id>] [--wait] [--connect] [--json]` | セッションを開始します。準備ができると `--connect` が 標準のエージェントランタイム TUI に接続します（`--wait` を暗黙的に指定）。インタラクティブ端末でこれを指定しない場合、作成後に接続するかどうかを CLI が尋ねます。`--model <id>` はプロジェクトのデフォルトモデルを上書きします。API キーまたは ChatGPT サブスクリプションで実行するモデルは、使用可能なすべてのキーを使い、それらを切り替えます。`--wait` は実行中になるまで（最大約 5 分）ブロックします。Secret へのアクセスを絞り込むには `--secret <id>` または `--no-secrets` を使用します。これらの Secret フラグにはバックエンドトークンが必要です。Connector へのアクセスを設定するには `--connector <alias>=<authorization-id>` または `--no-connectors` を使用します。プロビジョニング前に承認を必須にするには `--require-connector <alias>` を使用します。スコープフラグは繰り返し指定できます。秘密情報ではない実行時コンテキストには `--context <key>=<value>` を使用します。`--label <label>`（繰り返し指定可）はセッションを分類し、`--meta <key>=<value>`（繰り返し指定可）は文字列をメタデータに保存します。 |
| `beeuni sessions chat [<id>] [--prompt "<text>"] [--queue \| --steer] [--new] [--agent <name>] [--json]` | セッションのエージェントと対話します。デフォルトではインタラクティブです。エイリアス: `talk`。トップレベルの `beeuni chat` も使用できます。`--queue` は一度だけ実行されます。プロンプトをセッションの永続的な受信箱に保存し、ランタイムに渡す代わりに、保存されるとすぐに戻ります。`--steer` も同じ方法で保存され、実行中のターンは停止せず、次のステップでそれを読み取ります。実行中のターンがない場合は、ターンを開始します。ステアリングできないセッションでは、`--queue` として実行されます。 |
| `beeuni sessions connect [<id>] [-- <opencode args>]` | セッションの 標準のエージェントランタイム サーバーに 標準のエージェントランタイム TUI を接続します。トップレベルでも `beeuni connect` / `beeuni attach` として使用できます。ID を指定しない場合、セッションピッカー（実行中、再起動可能な停止中、または新規）を開きます。CLI はバージョンに一致する `opencode` バイナリを自動ダウンロードします（キャッシュ: `~/.beeuni/opencode/<version>/`、上書き: `BEEUNI_OPENCODE_BIN`）。pi セッションには 標準のエージェントランタイム サーバーがないため、コマンドは `1` で終了し、代わりに `beeuni sessions shell` と `beeuni sessions chat` の名前を表示します。 |
| `beeuni tui [--host <name>] [--project <id>] [--session <id>] [--new] [--agent <name>] [--terminal] [--no-sidebar] [--mouse] [--install] [--uninstall]` | **実験的機能。** Beeuni ターミナルクライアントを開きます: セッション、トランスクリプト、コンポーザー、サンドボックスシェル、Files、Review、Apps、Customize、Account。エイリアスは `beeuni t` と `beeunit`。`--new` は起動時にプロジェクト内でセッションを作成し（`--agent` はエージェントを選択）、`--terminal` はサンドボックスシェルをフォーカスした状態で開き、`--no-sidebar` はサイドバーなしで起動します（`Alt+B` で切り替え）。`--mouse` はマウス操作をアプリに渡します（デフォルトではオフで、端末の選択、コピー、リンククリックが引き続き機能します）。TUI は約 80 MB の別バイナリです。初回実行時に確認後、バージョンに一致する `beeuni-tui` を `~/.beeuni/tui/<version>/` にインストールします。その後の CLI 更新では確認なしで更新し、変更されていないバイナリを再利用します。`--install` はプロンプトなしで実行し、`--uninstall` は削除します。`--host` で別のホストを指定しない限り、アクティブなホストを使用します。ログイン済みのホストがない場合は、独自のログイン画面を開きます。`?` はすべてのキーバインドを表示します。[/docs/cli#sessions](/docs/ja/cli#sessions) を参照してください。 |
| `beeuni sessions shell [<id>] [--new]` | エージェントなしで、サンドボックス内の生のインタラクティブ端末を開きます。セッションの既存の端末に再接続します。`--new` は常に新しい端末を開始します。エイリアス: `terminal`、`ssh`。 |
| `beeuni sessions shell <id> ls [--json]` | セッションの端末を一覧表示します: ID、ステータス、コマンド。TTY は不要です。 |
| `beeuni sessions shell <id> kill <pty-id>` | 端末を 1 つ終了します。次回接続時に外側のシェルは再生成されますが、その中で実行中だったものは再生成されません。 |
| `beeuni sessions forward <id> --port <sandbox>[:<local>]` | サンドボックスのポートを VS Code 形式でマシンに転送します。これにより、エージェントが出力した `http://localhost:3000` を自分のブラウザで動作させられます。`--port` は繰り返し指定できます。ローカルポートを指定しない場合、同じ番号が空いていれば使用し、空いていなければ次の空きポートを使用します。`:0` は OS が割り当てる一時ポートを要求します。HTTP と WebSocket の両方を転送します（開発サーバーのホットリロードも機能します）。転送ごとに `⇄ localhost:N → sandbox:M` 行を 1 行表示し、Ctrl+C までフォアグラウンドで実行し続けます。停止中のセッションは開始せず、代わりに `beeuni sessions restart` の対処方法を表示します。エイリアス: `ports`。 |
| `beeuni sessions log [<id>] [--limit <n>] [--json]` | 最近のメッセージを読み取り専用で表示します。実行中のセッションはライブで読み取り、停止中のセッションは各ターンの終了時に保存されたトランスクリプトから読み取るため、読み取りだけの目的で起動されることはありません。ソースは stderr に記録されるため、`--json` の出力は変わりません。エイリアス: `messages`、`history`。 |
| `beeuni sessions attachments <id> [--download <attachment-id>\|--all] [--out <dir>] [--json]` | セッションに保存されたファイル（ユーザーが添付したファイルと、エージェントが表示したファイルのコピー）を一覧表示してダウンロードします。セッションが停止中でも機能します。一覧にもバイトデータにもサンドボックスは必要ありません。ダウンロードで上書きは行われません。すでに使用されている名前は `name (1).ext` になります。 |
| `beeuni sessions pending <id> [--json]` | 開いているツール権限または質問のプロンプトを一覧表示します。エイリアス: `prompts`。 |
| `beeuni sessions approve <id> [<req-id>] [--always] [--reject] [--message "<text>"]` | 権限プロンプトに回答します。 |
| `beeuni sessions answer <id> [<req-id>] [--option <v>]... [--text "<text>"] [--reject]` | 質問プロンプトに回答します。 |
| `beeuni sessions digest [--since <7d>] [--json]` | 複数セッションの簡易レビューを行います。停止中のセッションのトランスクリプトは保存コピーから取得され、`saved` としてマークされます（そのコピーが最初のメッセージまで到達しない場合は `partial` も付きます）。エイリアス: `review`、`summary`。 |
| `beeuni sessions scope <id> [scope options] [--json]` | Secret と Connector へのアクセスを読み取るか置き換えます。エイリアス: `access`。Secret には `--secret <id>`、`--no-secrets`、または `--inherit-secrets` を使用します。Connector バインディングには `--connector <alias>=<authorization-id>` または `--no-connectors` を使用します。必須 Connector には `--require-connector <alias>` または `--no-required-connectors` を使用します。指定したカテゴリは現在の値を置き換えます。省略したカテゴリは変更されません。変更は次のプロンプトに適用されます。削除した Secret の値は、セッションがすでに読み取っている場合、既存のコンテキストに残ります。 |
| `beeuni sessions preview <id> [port] [--port <n>] [--list] [--json]` | サンドボックスポートのクリック可能なプレビュー URL を表示します。デフォルトポート: `3000`。`--list` は、指定した候補を代わりに表示します。 |
| `beeuni sessions restart <id>` | セッションのサンドボックスを再起動します。 |
| `beeuni sessions rename <id> <name>` | セッションの名前を設定します。`""` を渡すと名前を消去します。 |
| `beeuni sessions update [<id>] [--label <l>]... [--unlabel <l>]... [--clear-labels] [--meta <key>=<value>]... [--unmeta <key>]... [--json]` | セッションのラベルとメタデータを変更します。`--label` は追加、`--unlabel` は削除、`--clear-labels` は最初にリストを空にします。`--meta` は文字列キーを設定し、`--unmeta` はキーを削除します。ID を指定しない場合は `$BEEUNI_SESSION_ID` を更新するため、エージェントは自身が実行されているセッションにラベルを付けられます。エイリアス: `label`。 |
| `beeuni sessions rm <id>...` | 1 つ以上のセッションを停止して削除します。 |
| `beeuni sessions open <id>` | セッションのダッシュボードページをブラウザで開きます。 |
| `beeuni sessions stop <id> [--json]` | セッションを一時停止します。サンドボックスはその場で停止し、ディスクは保持されます。エイリアス: `pause`。`project.session.stop` が必要です。 |
| `beeuni sessions start <id> [--wait] [--json]` | セッションを起動します。不足しているサンドボックスをプロビジョニングし、停止中のセッションを再開して、ランタイムを解決します。べき等です。エイリアス: `wake`。`--wait` は準備が整うまで（最大約 5 分）ブロックし、セッションが失敗または停止した場合は `1` で終了します。 |
| `beeuni sessions warm [--exclude <id>] [--json]` | これから使用するセッションを事前作成し、サンドボックスをすでに起動した状態にします。既存の未使用のウォームセッションを再利用します。ウォームセッションは、最初のプロンプトが届くまで `sessions ls` から見えません。 |
| `beeuni sessions model <id> <model-id> [--json]` | セッションが実行するモデルをセッション途中で変更します。稼働中のサンドボックスは接続先が変更され、ランタイムが再起動するため、現在実行中のターンは終了します。停止中のセッションでは、次回起動時の値として保存されます。新しいモデルのプロバイダーに選択済みのキーがないセッションでは、そこで使用可能なすべてのキーが使われます。 |
| `beeuni sessions compact <id> [--json]` | これまでの会話を要約し、その要約から続けます。ランタイムに `session.compact` がないセッションは、理由 `1` で終了します。 |
| `beeuni sessions queue <id> [ls] [--json]` | セッションの永続受信箱で待機中のプロンプトを一覧表示します。 |
| `beeuni sessions queue <id> rm <prompt-id>` | キューに入ったプロンプトを1つ削除します。モデルのステップが応答を開始した後は拒否されます（`409`）。 |
| `beeuni sessions queue <id> now <prompt-id>` | キューに入ったプロンプトを次に実行します。順序ルールより前に再キューし、セッションの保留を解除します。 |
| `beeuni sessions queue <id> hold\|release` | Stopボタンの動作と同様に、キュー内のすべてのプロンプトを保留するか、保留を解除します。 |
| `beeuni sessions approvals <id> [ls] [--json]` | 人間の応答待ちとなっている、このセッションのガバナンス対象コネクター呼び出しを一覧表示します。 |
| `beeuni sessions approvals <id> approve\|deny <execution-id>` | ガバナンス対象コネクター呼び出しを1つ実行するか、拒否します。エージェントに通知され、それなしで処理を続けます。 |
| `beeuni sessions files <id> <subcommand> [--json]` | サンドボックスの現在のワークスペースを読み取り、編集します: `ls [<path>]`, `status`, `find <query>`, `write <path>`, `touch <path>`, `mkdir <path>`, `mv <from> <to>`, `rm <path>`。 |
| `beeuni sessions share <id> [--mode private\|project\|members] [--member <id\|email>] [--group <id>] [--show] [--json]` | Beeuni内でこのセッションを開けるユーザーを設定します。`--mode` がなければ現在の設定を表示し、変更しません。`--member` と `--group` は複数回指定できます。 |
| `beeuni sessions links <id> ls [--json]` | セッションでこれまでに発行されたすべての公開リンクを、新しい順に一覧表示します。 |
| `beeuni sessions links <id> create [options]` | プレビューポートまたはワークスペースのファイル1つに、認証不要の公開リンクを1つ発行します。 |
| `beeuni sessions links <id> revoke <share-id>` | 公開リンクを1つ無効にします。 |

`sessions queue` には `project.session.start` が必要です。これはメッセージを送信する場合と同じ権限です。キューに入ったプロンプトはターミナルを閉じても保持され、セッションが受け取れる状態になったときに配信されます。`beeuni sessions chat <id> -p "…" --queue` でキューに追加するか、`--steer` で実行中のターンを誘導します。`sessions queue ls` には各プロンプトの `DELIVERY`（`steer`、`queue`、`interrupt`）が表示されます。また、`queue` として実行される誘導プロンプトでは、その理由も表示されます: `unsupported`（セッションはターンの途中でメッセージを受け取れない）、`not_prompter`（別のメンバーのターンが実行中）、または `turn_ended`。

`sessions approvals` は永続的です。`sessions pending` と異なり、サンドボックスを再起動しても保持されます。`project.members.manage` が必要です。または、そのセッションを開始した人間である必要があります。エージェントが自分自身の承認を解決することはできません。

`sessions attachments` はセッションのワークスペースではなく、プライベートファイルストアを読み取ります。ファイルは送信時にそこへ保存され、エージェントが表示したすべてのファイルはターンの終了時にそこへ保存されます。

`sessions files` は、コミット前の、エージェントが現在編集中の作業ツリーを読み取ります。`beeuni files` はコミット済みのリポジトリを読み取ります。パスは、`/workspace`、`/tmp`、`/home`、または `/opt` で始まる場合を除き、`/workspace` を基準に解決されます。サンドボックスがスリープ中の場合、このコマンドは起動します。オプション: `--from <local path>`（`write` は標準入力ではなくこのファイルを読み取る）、`--content`（`find` はファイル名ではなくripgrepで内容を検索する）、`--limit <N>`（`find` ファイル名の上限）、および `-y`（`rm` の確認を省略）。

`sessions share` はオーナーによる管理対象です。セッションをすでに読み取れる権限がないプロジェクトマネージャーからのAPIリクエストは拒否されます。共有セッションは、プロジェクト全体で共有されているプロバイダーキーのみで実行されます。個人のキーで実行していたモデルは、そのプロバイダーについてプロジェクトのキーに切り替わります。そのプロバイダーを実行するキーがない場合、共有は拒否されます（`409 SHARED_SESSION_NEEDS_PROJECT_KEY`）。

`sessions links create` のオプション: `--port <n>`（既定値は `3000`。`22`、`8000`、およびopencodeのポートは拒否されます）、`--path <p>`（既定値は `/`）、`--preview <id>`（`--port`/`--path` ではなく、名前付き候補を指定。`web`、`vite`、`dev-server`、`api-docs`）、`--file <path>`（プレビューではなくワークスペースのファイルを1つ共有。常に読み取り専用）、`--mode view\|interactive`（既定値は `view`。`interactive` は書き込みとWebSocketを許可しますが、`--file` では無視されます）、`--label <text>`、および `--expires <iso>`。リンクの発行にはセッションのオーナー権限が必要です。リンク自体にはログインが不要なためです。一覧表示と取り消しはプロジェクトマネージャーも実行できます。

サンドボックス内では、`BEEUNI_SESSION_ID` は自分のセッションIDです。

<a id="change-requests"></a>

### 変更リクエスト

変更リクエスト（CR）は、任意のGitホスト上であるブランチを別のブランチにマージするものです。エージェントがセッションの作業をデフォルトブランチに反映する唯一の方法です。[変更リクエスト](/docs/ja/work/change-requests)を参照してください。

| コマンド | 効果 |
| --- | --- |
| `beeuni cr ls [--status open\|merged\|closed\|all] [--project <id>]` | CRを一覧表示します。既定値: `--status open`。 |
| `beeuni cr show <cr> [--project <id>]` | マージプレビューを含め、CRを1件表示します。別名: `info`。 |
| `beeuni cr diff <cr> [--no-color] [--json]` | CRの統合差分を出力します。 |
| `beeuni cr open --title "<text>" [--description "<text>"] [--head <ref>] [--session <id>] [--base <ref>]` | CRを作成します。別名: `new`、`create`。サンドボックス内では、`--head` と `--session` が自動的に既定値として設定されます。`--base` の既定値はプロジェクトのデフォルトブランチです。 |
| `beeuni cr merge <cr> [--message "<text>"]` | オープン中のCRをマージします。可能な場合は早送りし、それ以外は3ウェイマージします。 |
| `beeuni cr close <cr>` | マージせずにオープン中のCRをクローズします。 |
| `beeuni cr reopen <cr>` | クローズ済みのCRを再オープンします。マージ済みのCRは終端状態です。 |
| `beeuni cr merge-preview <cr> [--json]` | CRをマージできるかどうかを報告し、競合するパスをすべて一覧表示します。別名: `preview`。 |
| `beeuni cr request-changes <cr> --message "<text>"` | CRを作成したエージェントに修正を依頼します。別名: `changes`。 |
| `beeuni cr version-diff --from <ver> --into <ver> [--json]` | CRを作成する前に、あるバージョンと別のバージョンの差分を要約します。 |

`request-changes` はCRにメモを記録し、元のセッションに配信します。サンドボックスがスリープ中の場合は起動します。`project.review.act` が必要です。Review Centerが使用するものと同じリーフであり、`gitops.push` ではありません。

`<cr>` はプロジェクト内の番号（`3`）または完全なIDを受け付けます。サンドボックス内では、CLIがトークンを自動的に読み取るため、ログインやリンクは不要です。

<a id="review"></a>

### レビュー

プロジェクトのレビュー受信箱。変更リクエスト、承認が必要なポリシーによってゲートされたコネクタのツール呼び出し、エージェントが承認を求めて提出した出力、判断、バッチなど、人間の判断待ちになっているすべての項目が含まれます。ダッシュボードのReview Centerと連動します。すべてのプロジェクトで有効です。読み取りと操作には `project.review.read` と `project.review.act` が必要です。

| コマンド | 効果 |
| --- | --- |
| `beeuni review ls [--segment <s>] [--kind <k>] [--json]` | 受信箱の項目を一覧表示します。既定値: すべてのセグメント。 |
| `beeuni review show <item-id> [--json]` | 項目を1つ、全詳細とともに表示します。 |
| `beeuni review act <item-id> <verdict> [--message <text>]` | 項目を1つ決定します。`--message` でメモを付けます。 |
| `beeuni review bulk <verdict> <id> [<id> …]` | ネイティブ項目を複数、1回の呼び出しで決定します。 |
| `beeuni review submit --kind <k> --title <t> [options]` | 出力、判断、またはバッチをレビューに提出します。 |

判定: `approve`、`reject`、`changes`、`answer`、`dismiss`。セグメント: `needs_you`、`waiting`、`done`。種類: `change`、`approval`、`output`、`decision`、`batch`。

判定の適用先は項目IDによって異なります。`cr:<id>` では、`approve` は変更をマージし、`reject` はクローズし、`changes` はメモをCRの作成者に返します（`--message` が必要）。`call:<id>` では、`approve` はツール呼び出しを実行し、`reject` は拒否します。コネクターの承認で使える判定はこれらのみです。まず `beeuni review show` で引数を確認してください。それ以外のIDはすべてネイティブの操作エンドポイントに送られ、すべての判定を受け付けます。

`bulk` はネイティブIDのみを処理します。コネクターの承認には個別のパラメータ確認が必要であり、変更リクエストには差分の表示が必要なため、どちらも報告されてスキップされます。ダッシュボードの複数選択でも同じルールが適用されます。

`submit` のオプション: `--kind output\|decision\|batch`（必須）、`--title <text>`（必須）、`--summary <text>`、`--risk none\|low\|medium\|high`（既定値は `none`）、`--detail <json>`（JSONオブジェクト）、`--agent <name>`、および `--session <id>`（このプロジェクトのセッションでない場合は無視されます）。

読み取りには `project.review.read`、判定には `project.review.act` が必要です。`submit` には `project.review.submit` が必要です。

<a id="secrets"></a>

### シークレット

プロジェクトに保存される暗号化された値です。デフォルトでは、起動時に各セッションのサンドボックスへシークレットが通常の環境変数として注入されます（環境変数による公開）。強制配信（サンドボックスにはハンドルだけを保持させ、Beeuniがサンドボックスの外で実際の値に置き換える方式。egressによって公開を制御し、`beeuni secrets call`）は実験段階です。利用するには`secrets_egress`機能フラグ（Settings → Feature flags）を有効にしてください。フラグがオフの場合、`beeuni secrets delivery … egress`は`403` `feature_disabled`を返します。詳しくは[Secrets](/docs/ja/project/secrets)を参照してください。

| コマンド | 効果 |
| --- | --- |
| `beeuni secrets ls` | シークレットを識別子とマニフェスト`env`の仕様ごとに一覧表示し、各値を誰が使えるかを示します。必須だが未設定の値には印を付けます。 |
| `beeuni secrets set NAME=VALUE ... [--identifier <id>] [--scope runtime\|connector] [--only-me]` | 1つ以上のシークレットを追加または更新します。`NAME=-`は標準入力から値を読み込みます。`--scope connector`はコネクタゲートウェイ用の値をサーバー側に保持します。`--only-me`を指定すると、新しい値を自分だけが使えるようにします。 |
| `beeuni secrets share IDENTIFIER --user <email\|id\|me> --group <id> --agent <name> \| --everyone` | 値を使えるユーザーを設定します。人間は直接、または自分専用のセッションで値を利用できます。エージェントは、トリガーを含むすべてのセッションで値を利用できます。詳しくは[シークレットを使えるユーザー](/docs/ja/project/secrets#who-can-use-a-secret)を参照してください。 |
| `beeuni secrets request NAME ... [--scope runtime\|connector] [--expires <min>]` | 自分が持っていない値を人間に入力してもらうためのリンクを作成します。 |
| `beeuni secrets unset NAME ...` | シークレットを削除します。 |
| `beeuni secrets grant IDENTIFIER --agent <name>` | 1つのエージェントがこのシークレットを受け取れるようにします。マニフェストにエージェントの項目がない場合は追加し、そのエージェントの`secrets`リストに識別子を追加します（`beeuni.yaml`内）。 |

`grant`は、`ls`で配信不可と表示された行を修正するコマンドです。1つのエージェントのリストを広げることしかできません。範囲を狭める、または置き換えるには、`beeuni
agents scope`. There is no `secrets revoke`でセット全体を書き換えてください。APIには、許可リストから単一の識別子を削除するルートはありません。エージェントが存在しないプロジェクトで最初の許可を付与すると、ガバナンスが開始されます。それ以降、マニフェストに記載されていないエージェントはプロジェクトのシークレットを受け取らず、その場合はコマンドでその旨が表示されます。

### Env

| コマンド | 効果 |
| --- | --- |
| `beeuni env pull [--out <path>] [--force]` | 値を含まず、名前だけの`.env`のひな形を書き出します。値がクラウドの外に出ることはありません。 |
| `beeuni env push --from <path>` | dotenvファイルのすべての`NAME=VALUE`をシークレットとしてアップロードします。 |

### Agents

リンクされたプロジェクトでエージェントごとに設定するモデルです。

| コマンド | 効果 |
| --- | --- |
| `beeuni agents ls [--json]` | 各エージェントに固定されたモデルとフォールバックのデフォルトを表示します。別名：`models`。 |
| `beeuni agents model <agent> <provider/model>` | エージェントにモデルを固定します。 |
| `beeuni agents model <agent> --clear` | 固定を解除し、エージェントが再びデフォルトに従うようにします。 |
| `beeuni agents default <agent>` | このエージェントをプロジェクトのデフォルトにします。 |
| `beeuni agents default --show [--json]` | 現在のデフォルトエージェントを表示します。 |
| `beeuni agents scope <agent> [--secrets all\|none\|A,B] [--connectors all\|none\|a,b] [--apps all\|none\|a,b] [--require-connector <slug>]` | エージェントが使用できるシークレット、コネクタ、Beeuni Appsを置き換えます。`--apps`にはAppのスラッグを指定し、v2の`beeuni.yaml`が必要です。また、エージェントには`project.app.read`も必要です。`--require-connector`は複数回指定でき、セッション開始前に解決される必要があります。 |
| `beeuni agents scope <agent> --show [--json]` | エージェントの現在のスコープを表示します。 |
| `beeuni agents config <agent> [--json]` | エージェントの設定ブロック全体を表示します。 |
| `beeuni agents config <agent> --file <path>` | JSONファイルの内容で設定ブロックを置き換えます。`-`は標準入力から読み込みます。 |
| `beeuni agents config <agent> --set <key>=<value> ...` | ドット区切りのキーを個別に変更し、マージします。複数回指定できます。例：`behavior.model=glm-5.3-flash`、`enabled=false`、`connectors=["slack"]`。 |

スコープのオプションはすべて置き換えであり、マージされません。`--set`の値は、JSONとして解析できる場合はJSONとして解析され、できない場合は文字列のまま保持されます。モデルの固定と`scope`は即時に適用され、`beeuni.yaml`のコミットは不要です。`default`と`config`は、プロジェクトのデフォルトブランチにある`beeuni.yaml`にコミットします。`scope`には`project.agent.write`が必要で、`default`と`config`にも必要です。

### Tools

プロジェクトのセッションで利用できるツールです。ローカルの`beeuni.yaml`とその[インポート](/docs/ja/project/manifest#imports)から読み込みます。プロジェクトのルートから実行してください。詳しくは[Tools](/docs/ja/project/tools)を参照してください。

| コマンド | 効果 |
| --- | --- |
| `beeuni tools ls [--json]` | セッションで使える各ツールの名前、種類（`beeuni`、`beeuni (overridden)`、`project`）、ソース（`beeuni:<name>`またはモジュールのパス）を一覧表示します。プロジェクトから削除されたBeeuniツールも表示します。`--json`は`{ manifest, tools_key, tools, removed }`を表示します。 |
| `beeuni tools eject <name> [--force]` | Beeuniツールの`<name>`を`tools/<name>.ts`にコピーし、そのツールを宣言しているファイル内の`beeuni.yaml`で`tools.<name>: tools/<name>.ts`を設定します。変更した行の末尾には`# ejected from beeuni:<name>`が付き、ほかのコメントはすべて保持されます。`tools:`キーがない場合は、残り4つのBeeuniツールも一覧に含められるため、取り出しても何も削除されません。`tools/<name>.ts`が存在する場合、またはツールがすでに別のモジュールを参照している場合は、`--force`を指定しない限り拒否されます。Beeuniツールではない名前も拒否されます。 |

`tools:`キーがない場合、各セッションですべてのBeeuniツール5つ（`web_search`、`image_search`、`scrape_webpage`、`memory`、`show`）を使えます。`tools:`キーがある場合、セッションで使えるのは、そこに列挙されたBeeuniツールだけです。Beeuniツールを削除するには、`tools:`の下にあるそのツールの行を削除してから、`beeuni validate`を実行します。1つのエージェントのツールを制限するには、`agents.<name>.tools`を使います。終了コード：`0`は完了、`1`は拒否（ファイルが存在する、マニフェストまたはインポートを解析できない）、`2`はマニフェストがない、オプションが不明、またはBeeuniツールではない名前を示します。

### Models

プロジェクトで提供するモデルと、最初に使用するモデルです。ダッシュボードのCustomize → Modelsと同じ項目です。プロジェクトには、カタログのデフォルト（各ファミリーの最新モデル）に対する例外だけが保存されます。有効化設定は表示にのみ影響します。ピッカーに表示するモデルを決めるだけで、ゲートウェイが提供するモデルには影響しません。

| コマンド | 効果 |
| --- | --- |
| `beeuni models ls [--json]` | 実行可能なモデルをすべて一覧表示します。状態、提供元、支払い方法（`VIA`：Beeuni、APIキー、またはChatGPT。自分のもの、共有されたもの、プロジェクトと共有されたもの）、プロバイダーを示します。 |
| `beeuni models enable <model-id>...` | これらのモデルを提供対象にします。 |
| `beeuni models disable <model-id>...` | これらのモデルの提供を停止します。プロジェクトのデフォルトモデルは`409`で拒否されるため、先にデフォルトを変更してください。 |
| `beeuni models reset` | すべての例外を削除し、カタログのデフォルトに戻します。 |
| `beeuni models default [--json]` | デフォルトの優先順位（プロジェクト → アカウント → プラットフォーム）と、最終的に適用される設定を表示します。 |
| `beeuni models default <model-id> [--account]` | プロジェクトのデフォルトを設定します。`--account`を指定すると、アカウント全体のデフォルトを設定します。 |
| `beeuni models default --clear [--account]` | プロジェクトまたはアカウントのデフォルトを解除します。 |

モデルIDはゲートウェイの通信で使うIDです。プレーンなマネージドID（`glm-5.3-flash`）か、BYOKの`provider/model`を指定します。`beeuni models ls --json`からコピーしてください。エージェントごとの固定設定は`beeuni agents model <agent> <model-id>`にあります。書き込みには`project.model.write`が必要です。

### Channels

プロジェクトとチャットプラットフォームの接続を管理します。トークンはプロジェクトのシークレットに暗号化して保存され、サーバー側で解決されます。サンドボックスに注入されることはありません。

| コマンド | 効果 |
| --- | --- |
| `beeuni channels status [--json]` | 現在の接続を表示します。 |
| `beeuni channels connect [--wait] [--timeout <sec>]` | 1ステップで接続します。インストール用リンクを表示します。`--wait`はインストールが完了するまでポーリングします。 |
| `beeuni channels connect --manual [--bot-token <token>] [--signing-secret <secret>]` | 独自アプリを使うモードです。ボットトークンと署名シークレットを直接保存します。 |
| `beeuni channels disconnect [--platform slack\|teams]` | プロジェクトの接続を解除します。Slack接続を解除するか、`--platform teams`を指定してTeams接続を解除します。 |
| `beeuni channels manifest` | 独自アプリを使う方法に必要なアプリマニフェストのJSONを表示します。 |
| `beeuni channels email status [--json]` | 1つのメールコネクタの受信トレイと配信モードを管理します。 |
| `beeuni channels email connect [options]` | 管理対象の受信トレイを作成するか、既存のAgentMail受信トレイを接続します。 |
| `beeuni channels email disconnect` | 受信トレイの接続を解除します。 |
| `beeuni channels email policy [--allow <email\|@domain>] [--allow-regex <re>] [--allow-all]` | エージェントにメールを送信できるユーザーを置き換えます。 |
| `beeuni channels bindings [ls] [--json]` | バインドされたすべてのチャネルと、そこに解決されるエージェント、モデル、参加ポリシーを一覧表示します。 |
| `beeuni channels bind <bindingId> [--agent <name>\|--no-agent] [--model <id>\|--no-model] [--policy <p>]` | 1つのバインディングを変更します。`--policy`には`owner_approval`、`owner_only`、または`project_open`を指定します。 |

`--platform slack|teams`はプラットフォームを選択します。デフォルトは`slack`です。Teams
`connect`はMicrosoftの管理者同意URLを出力します。テナント全体の同意を付与すると、
アプリが自動的にTeamsカタログに公開されます。[Connectors](/docs/ja/connect/connectors)を参照してください。

メールチャネルはAgentMailを基盤としており、`agentmail_email`機能フラグが必要です。
`email connect`のオプションは、`--connector <slug>`（デフォルトは`beeuni_email`）、
`--api-key <k>`（独自のAgentMailキーを使用。`-`はstdinを読み取ります）、
`--display-name <n>`（送信メールの差出人名。デフォルトはプロジェクト名）、
`--username <u>`と`--domain <d>`（新しい管理対象受信トレイ）、および
`--inbox-id <id>`と`--email <addr>`（既存の受信トレイを接続。両方を併用する必要があります）です。
`--allow`は繰り返し指定でき、ポリシーを制限モードにします。`@`のない単独の値、
または先頭に`@`が付いた値は、ドメインとして解釈されます。
`--allow-all`はリストをクリアし、すべての送信者を再び受け入れます。

メールおよび`bind`への書き込みには`project.connector.write`が必要です。

<a id="connectors"></a>

### コネクタ

コネクタはエージェントがツールとして呼び出すものです。`add`、`rm`、`policy set`はローカルの`beeuni.yaml`を編集します。適用するには`beeuni ship`を実行してください。ただし、`--apply`を渡すとクラウドプロジェクトを直ちに変更します。

| コマンド | 効果 |
| --- | --- |
| `beeuni connectors ls [--json]` | コネクタとそのステータスを一覧表示します。 |
| `beeuni connectors show <slug> [--json]` | 1つのコネクタのツールを表示します。 |
| `beeuni connectors add <slug> --provider <p> [options] [--apply]` | コネクタを追加します。 |
| `beeuni connectors rm <slug> [--apply]` | コネクタを削除します。 |
| `beeuni connectors rename <slug> <name>` | コネクタの表示名を設定します。 |
| `beeuni connectors sync` | 同梱の`beeuni.yaml`からカタログを調整します。 |
| `beeuni connectors credential <slug> [value]` | コネクタの認証情報を設定します。 |
| `beeuni connectors connect <slug>` | ワンクリック接続フローを開始します。 |
| `beeuni connectors link <slug> [--expires <min>]` | 人間が使用できる共有接続リンクを発行します。 |
| `beeuni connectors types [--connector <a,b>] [--out <file>]` | 呼び出し可能なすべてのアクションのTypeScript型を記述します。`declare module '@beeuni/sdk'`ファイルに、`connectors.callAction(slug, action, args)`の引数と`output`を型付けします。管理対象のコネクタは出力スキーマを公開しないため、結果は`unknown`です。`--out`を指定しない場合はstdoutに出力します。 |
| `beeuni connectors accounts <slug> [--default <label\|id>] [--json]` | 呼び出しを実行できるアカウントと、それぞれが接続されている対象を一覧表示します。`--default`で1つを固定します。 |
| `beeuni connectors connections ls [--all] [--json]` | ラベル、`CONNECTED AS`、所有者、`WHO CAN USE`（`owner only`、`everyone`、または許可ラベル。管理目的でのみ一覧表示する場合は`(not you)`）、ステータス、デフォルトを含む接続を一覧表示します。 |
| `beeuni connectors connections rename <id> <label…>` | 接続の名前を変更します。変更されるのはラベルだけで、再認証は行いません。 |
| `beeuni connectors connections share <id> [--group <id>]… [--user <email\|id>]… [--everyone]` | 自分の非公開アカウントを共有します。共有アカウントになり、指定した相手だけが使用できます（`--everyone`：プロジェクト全体）。プロジェクトの接続を管理する権限が必要です。 |
| `beeuni connectors apps [<query>] [--category <c>] [--cursor <c>] [--limit <n>] [--json]` | 管理対象のツールキットカタログを検索します。`add --provider composio --app <slug>`が受け付けるスラッグを検索します。エイリアス：`beeuni connectors toolkits`。従来のカタログには`--pipedream`を追加します。 |
| `beeuni connectors catalog [<query>] [--cursor <c>] [--json]` | ダイレクトコネクタカタログを参照します。`connectors_api_discover`フラグが必要です。 |
| `beeuni connectors catalog show <id> [--json]` | 1つのカタログレコードのサーフェスを表示します。 |
| `beeuni connectors sensitive <slug> on\|off` | このコネクタの読み取りも承認制にします。その後のすべての呼び出しに承認が必要です。直ちに適用されます。 |
| `beeuni connectors owner <slug> project\|user` | 承認者を設定します。1つのプロジェクト接続、または各メンバー自身です。直ちに適用されます。 |
| `beeuni connectors authorize <slug> [--status] [--scope "<a b>"] [--client-id <id>] [--client-secret <s>] [--success-redirect <url>] [--error-redirect <url>] [--json]` | コネクタをOAuth 2.1で最初から最後まで接続します。サーバーの認証メタデータを検出し、サーバーが対応している場合はBeeuniをクライアント（RFC 7591）として登録し、承認用URLを出力します。`--status`は代わりに結果を報告します。 |
| `beeuni connectors authorize <slug> --device` | OAuth 2.0デバイスフロー（RFC 8628）を使用します。コードとURLを出力し、承認、拒否、期限切れになるまでポーリングします。 |
| `beeuni connectors policy ls [--json]` | プロジェクト全体の実行ポリシーを表示します。エイリアス：`show`。 |
| `beeuni connectors policy set --default <risk\|allow_all> [--apply]` | `beeuni.yaml`でデフォルトの実行モードを設定します。代わりに`--apply`を使うと、すぐに設定します。 |
| `beeuni connectors policy add <match> <allow\|ask\|block> [--condition <k=v>]` | プロジェクト全体のルールを追加します。直ちに適用されます。`--condition`で一致する引数に絞り込み、繰り返し指定できます。`k!=v`は否定を表し、`k`は呼び出しの引数内のドットパスです。 |
| `beeuni connectors policy rm <match>` | プロジェクト全体のルールを削除します。直ちに適用されます。 |
| `beeuni connectors policy <slug> ls\|set <match> <allow\|ask\|block>\|rm <match>\|clear` | 1つのコネクタのツール呼び出しルールを管理します。 |

`policy ls`、`show`、`set`、`add`、`rm`はプロジェクト全体のサーフェスです。そのため、これらの動詞のいずれかにちなんで名付けられたコネクタは、`policy <slug> ls`として指定する必要があります。`<match>`はツール名、glob（`send_*`）、または`/regex/`です。

`add`のオプション：`--name <label>`、`--provider <pipedream\|mcp\|openapi\|postman\|graphql\|http>`、`--app <slug>`、`--url <url>`、`--transport <http\|sse>`、`--endpoint <url>`、`--base-url <url>`、`--spec <url\|path>`、`--auth-type <none\|bearer\|basic\|custom>`、`--credential shared`。

<a id="sandboxes"></a>

### サンドボックス

プロジェクトのサンドボックスイメージを管理します。テンプレートはイメージまたはDockerfileとリソースを定義し、ビルドによってセッションの起動元となるスナップショットが生成されます。

| コマンド | 効果 |
| --- | --- |
| `beeuni sandboxes ls [--json]` | テンプレートとライブプロバイダーの状態を一覧表示します。 |
| `beeuni sandboxes builds [--json]` | 最近のビルドログを表示します。 |
| `beeuni sandboxes health [--json]` | プライマリテンプレートの準備状態を表示します。 |
| `beeuni sandboxes add <slug> (--image <i>\|--dockerfile <p>) [options]` | カスタムテンプレートを作成し、ビルドを開始します。 |
| `beeuni sandboxes update <slug> [options]` | テンプレートを更新します。 |
| `beeuni sandboxes build <slug>` | 再ビルドを開始します。 |
| `beeuni sandboxes rebuild <slug>` | 既存のスナップショットを先に削除して、強制的に再ビルドします。 |
| `beeuni sandboxes rm <slug>` | テンプレートを削除します。 |
| `beeuni sandboxes fix` | 最後に失敗したビルドのログを使ってセッションを開始し、修復します。 |
| `beeuni sandboxes provider [--json]` | プロジェクトのサンドボックスプロバイダー固定設定と、このホストが提供するプロバイダーを表示します。 |
| `beeuni sandboxes provider <name> [--timeout <sec>]` | 新しいセッションをすべて1つのプロバイダーに固定します。対象にスナップショットの事前ビルドが必要な場合、APIは準備処理を返し、コマンドは完了まで続行します。デフォルトの`--timeout`：600秒。 |
| `beeuni sandboxes provider --clear` | 固定を解除し、プラットフォームのデフォルトに従います。エイリアス：`--unpin`。 |
| `beeuni sandboxes provider status [--json]` | 最新のプロバイダー切り替えとその履歴を表示します。エイリアス：`transition`。 |

プロバイダーの固定には`project.settings.write`が必要です。

`add`/`update`のオプション：`--name <label>`、`--cpu <n>`、`--memory <n>`（GiB）、`--disk <n>`（GiB）。

<a id="backends"></a>

### バックエンド

データベースは永続ボリュームを持つ App です。Apps から管理・接続できます。

[Apps](/docs/feature-flags/apps)

### Marketplace

Beeuniマーケットプレイスを閲覧し、プロジェクトに項目をインストールします。

| コマンド | 効果 |
| --- | --- |
| `beeuni marketplace search [query]` | マーケットプレイスの項目を検索します。 |
| `beeuni marketplace list` | マーケットプレイスの項目を一覧表示します。 |
| `beeuni marketplace show <id-or-name>` | 1つのマーケットプレイス項目を表示します。 |
| `beeuni marketplace install <id-or-name>` | 項目をインポートするエージェントセッションを開始します。 |

オプション: `--query <text>`、`--type <type>`、`--source <source>`、`--host <name>`、`--project <id>`、`--json`。

インストールはエージェント主導で行われます。プロジェクトセッションを開始して項目をクローンし、内容を読み取り、適合するものをマージして、変更リクエストを作成します。決定論的なインストール／更新／削除の仕組みはありません。

### System skills

Beeuniのシステムスキルは、人とエージェントの両方を対象としたプラットフォームの運用リファレンスです。セッション、サンドボックス、標準のエージェントランタイム、コネクター、メモリ、チャネルを扱います。この公開ページは入口です。認証済みCLIは実行中のホストからスキルを読み取ります。`beeuni system-skills list`で利用可能なスキルを確認し、必要なスキルを`get`してください。APIはスキルをライブで提供するため、デプロイ済みホストのバージョンと一致します。ローカルコピーを最新のものとして扱わないでください。

| コマンド | 効果 |
| --- | --- |
| `beeuni system-skills list` | Beeuniのシステムスキルを一覧表示します。デフォルトのサブコマンドです。 |
| `beeuni system-skills get <name> [--full]` | 1つのスキルの現在の`SKILL.md`を表示します。`--full`を指定すると、参照ファイルも追加します。 |
| `beeuni system-skills path [name]` | このプロジェクト内にあるスキルのディスク上のディレクトリを表示します。 |

オプション: `--host <name>`、`--json`。

`beeuni skills`は同じコマンドへの恒久的なエイリアスです。まず`beeuni login`でホストにサインインしてください。スキルAPIには認証が必要です。別のホストを操作するときは`--host <name>`を使用してください。公開ドキュメントページで、これらのライブかつホスト固有の手順を置き換えることはできません。

この一覧は常にシステムスキルのみで、混在することはありません。オプションのスキルはマーケットプレイスにあります: `beeuni marketplace list --type skill`。コマンド構文については`beeuni <command> --help`を、プラットフォームの完全なリファレンスについては`beeuni system-skills get beeuni-system --full`を使用してください。

### Connector

サンドボックス内のエージェントがすべてのコネクターにアクセスするためのインターフェースです。すべての呼び出しはサーバー側で検証、解決、監査されます。CLIがサードパーティの認証情報を保持することはありません。認証: `BEEUNI_TOKEN`。出力はJSONです。

| コマンド | 効果 |
| --- | --- |
| `beeuni connectors discover "<intent>"` | 自然言語の意図でツールを検索します。 |
| `beeuni connectors show <connector>.<action>` | アクションの入力スキーマを表示します。 |
| `beeuni connectors call <connector>.<action> '<json-args>'` | ツールを実行します。管理対象の呼び出しでは、認証済みの`approval_url`が直ちに返されます。サーバーは、承認または拒否の判断が1回行われた後、セッションを再開します。大きな引数は`@file.json`または`-`（stdin）として渡します。 |
| `beeuni connectors call <connector>.<action> '<json-args>' --reason "<text>"` | ポリシーによって呼び出しが保留されたとき、人間の承認者向けに呼び出しの内容を説明します。承認カードには、引数の横にエージェントの説明として表示されます。 |
| `beeuni connectors call <connector>.<action> @args.json --attach <file>` | ファイルをステージし、その参照をアクションのattachments配列に追加します。ゲートウェイはバイト列をプロバイダーの添付項目に書き込みます。`--attach`は繰り返しを、`--attach-path <a.b.c>`は配列を指定します。[Attach files](/docs/ja/connect/connectors#attach-files)を参照してください。 |
| `beeuni connectors call <connector>.<action> '<json-args>' --out <file>` | 完全なJSON結果を`<file>`に書き込み、概要のみを表示します: `saved_to`、`bytes`、`shape`（キー、配列の長さ、`pageInfo`）。[Large results](/docs/ja/connect/connectors#large-results)を参照してください。 |
| `beeuni connectors upload <file> --connector <slug>` | 1つのファイルをステージします。呼び出し引数に配置する`ref`、`{"$beeuni_attachment":"<id>"}`を表示します。 |
| `beeuni connectors add <slug> --provider pipedream --app <app>` | コネクターを直ちに追加して接続します。 |
| `beeuni connectors rm <slug>` | プロジェクトからコネクターを削除します。 |
| `beeuni connectors connect <slug> [--owner me\|project] [--label <name>]` | 人間向けの接続リンクを作成します。`--label`は新しいアカウント（たとえば2つ目のGmail）の名前を提案します。 |

### Files

プロジェクトのgitリポジトリを読み取り専用で表示します。`--ref`で別のブランチ、タグ、またはコミットを指定しない限り、デフォルトブランチを対象にします。

| コマンド | 効果 |
| --- | --- |
| `beeuni files ls [<path>]` | パス配下のファイルを再帰的に一覧表示します。一覧は1,000ファイルで打ち切られ、その旨が表示されます。パスを絞り込むか、`files search`を使用してください。 |
| `beeuni files cat <path>` | ファイルの内容を出力します。 |
| `beeuni files search <query> [--content]` | ファイル名を検索します。`--content`を指定すると、ファイルの内容も検索します。 |
| `beeuni files history <path>` | 1つのファイルのコミット履歴を表示します。 |
| `beeuni files branches` | ブランチを一覧表示します。 |
| `beeuni files commits [--path <p>]` | `--ref`上のコミットを一覧表示します。 |
| `beeuni files show <sha>` | 1つのコミットと、その変更ファイルを表示します。 |
| `beeuni files diff <sha> [--path <p>]` | コミットの統合パッチを出力します。 |
| `beeuni files compare <from> <into>` | 2つの参照間の差分を要約します。 |
| `beeuni files download -o <out.zip>` | `--ref`時点のリポジトリ、または`--path`サブツリーをzip形式でダウンロードします。別名: `archive`。 |

すべてのサブコマンドで使用できるオプション: `--ref <ref>`、`--path <p>`、`--limit <n>`、`--json`。
`download`では`-o, --out <file>`も使用でき、必須です。

すべてのサブコマンドで`project.file.read`が必要です。`download`は、アクセス範囲外のエージェントまたはスキルを含むサブツリーも拒否します。zipはストリームの途中で絞り込めないため、その場合は対象を絞った`--path`をアーカイブしてください。

<a id="triggers"></a>

### トリガー

トリガーを使うと、スケジュール、Webhook、アプリイベント、またはモニター（試験的機能）からセッションを開始できます。`add`、`rm`、`enable`、`disable`はローカルのマニフェストを編集します。反映するには`beeuni ship`を実行してください。`pause`/`resume`は、これとは別のサーバー側スイッチを切り替えます。[トリガー](/docs/ja/connect/triggers)を参照してください。

| コマンド | 効果 |
| --- | --- |
| `beeuni triggers ls [--json]` | トリガーと実行時の状態を一覧表示します。 |
| `beeuni triggers add <slug> [options] [--apply]` | マニフェストにトリガーを追加します。`--apply`を指定すると、代わりにクラウドプロジェクトに今すぐ作成し、`main`上の`beeuni.yaml`にコミットして調整します。 |
| `beeuni triggers set <slug> [options]` | 実行中のトリガーを変更します。指定したフラグだけが書き込まれます。常に今すぐ適用され、ローカル形式はありません。別名: `update`。 |
| `beeuni triggers rm <slug> [--apply]` | `beeuni.yaml`からトリガーを削除します。`--apply`を指定すると、代わりにクラウドプロジェクトから今すぐ削除します。 |
| `beeuni triggers info <slug> [--json]` | 1つのトリガーを表示します。 |
| `beeuni triggers events --connector <slug> [--json]` | コネクターが提供するイベントを、それぞれの設定とともに一覧表示します。 |
| `beeuni triggers fire <slug>` | トリガーを手動で実行し、実行結果を待ちます。実行が失敗した場合は、エラーとともにゼロ以外の終了コードを返します。実行によって作成された新しいセッションはクリーンアップされます（既存のセッションにキュー登録された実行はそのまま残ります）。`--wait <dur>`で待ち時間を指定できます（既定値は`90s`。`0`を指定すると、実行が受け付けられた時点ですぐに戻ります）。 |
| `beeuni triggers enable <slug> [--apply]` / `disable <slug> [--apply]` | 1つのトリガーを有効または無効にします。 |
| `beeuni triggers pause` / `resume` | プロジェクトのすべてのトリガーを、サーバー側で無効化または再有効化します。 |

`add`のオプション: `--type <cron\|webhook\|event\|monitor>`（既定値は`cron`）、`--prompt <text>`（必須）、`--agent <name>`、`--cron <expr>`（6フィールド。例: `"0 0 9 * * 1-5"`）、`--run-at <iso>`（cronではなく、この時刻に1回だけ実行）、`--timezone <tz>`（既定値はUTC）、`--secret-env <NAME>`、`--name <label>`、`--disabled`。

実行時のみのオプション — `add --apply`およびすべての`set`で有効: `--model <provider/model>`、`--session-mode <fresh\|keyed\|pinned\|reuse>`、`--session-key <tmpl>`（キーごとに1つのセッションにまとめます。例: `"{{ body.data.chat_jid }}"`。`keyed`を含意）、`--session-id <id>`（`pinned`トリガーが繰り返し使うセッション。このプロジェクトのセッションである必要があります）、`--session-access <private\|project\|members>`（既定値は`private`）、`--member <uuid>`と`--group <uuid>`（繰り返し指定可能。それぞれ`members`を含意）、`--filter <path=value>`（繰り返し指定可能。すべて一致する必要があります。例: `--filter body.type=push`）。

`set`では、すべての実行時のみのオプションに加えて、`--name`、`--prompt`、`--cron`、`--run-at`、`--timezone`、`--secret-env`、`--agent`、`--enabled true|false`も使用できます。`--cron`と`--run-at`は排他的です。一方を設定すると、もう一方はクリアされます。モニターのフィールドは追加のみ可能です。

<a id="reminders"></a>

### リマインダー

リマインダーを使うと、1つのセッションに対して後から1回または繰り返し再通知できます。`beeuni.yaml`ではなく、データベースに保存されます。セッション内では、`--session`の既定値は`$BEEUNI_SESSION_ID`です。[リマインダー](/docs/ja/connect/reminders)を参照してください。

| コマンド | 効果 |
| --- | --- |
| `beeuni remind "<text>" [schedule]` | リマインダーを作成します。`beeuni reminders add`と同じです。 |
| `beeuni reminders add "<text>" [schedule]` | リマインダーを作成し、IDと次回の実行時刻を表示します。 |
| `beeuni reminders ls [--json]` | セッションのリマインダーを一覧表示します。 |
| `beeuni reminders pause <id>` / `resume <id>` | 1つのリマインダーを無効または有効にします。`resume`は現在時刻を基準に再設定します。 |
| `beeuni reminders rm <id>` | リマインダーを削除します。別名: `stop`、`delete`。 |

スケジュールオプション: `--in <duration>`または`--at <iso>`（初回実行時刻。単独で指定すると1回だけ実行）、`--every <duration>`（繰り返し。最短`5m`）、`--timezone <tz>`を指定した`--cron "<expr>"`。その他のオプション: `--name <label>`、`--session <id>`（一意な接頭辞で指定可能）、`--project <id>`、`--host <name>`、`--json`。

イベントオプション（`--type event`）: `--connector <slug>`と`--event <TYPE>`（どちらも必須）、`--config key=value`（繰り返し指定可能。文字列値）、`--config-json '{...}'`（型付き値）。`set`でも同じフラグを使用できます。イベントトリガーでは、`--cron`、`--run-at`、`--timezone`、`--secret-env`、およびモニターのオプションは使用できません。プロンプトは`{{ event.data.<field> }}`を読み取ります。[アプリイベントトリガー](/docs/ja/connect/triggers#app-event-triggers)を参照してください。

モニターのオプション（`--type monitor`）: `--run <cmd>`（監視対象のリポジトリ相対コマンド。必須）、`--mode <poll\|stream>`（必須。`poll`は`--interval`で再実行し、`stream`はコマンドを実行し続けます）、`--interval <dur>`（`mode=poll`のみ。最短30秒。例: `60s`、`5m`）、`--expect-event-within <dur>`（無応答監視。ウィンドウ内にイベントがない場合、代わりにライフサイクルイベントを実行します。最短5分。例: `24h`）。モニターはプラットフォームが24時間365日実行するリポジトリコマンドで、標準出力の各行がトリガーを実行します。これは試験的機能であり、プラットフォームがモニターを実行するのは`monitors`機能フラグが有効な場合のみです。

<a id="access"></a>

### アクセス

1つの付与テーブルをCLIから操作します。各行は**割り当て**を表し、プリンシパル、ロール、スコープをそれぞれ1つずつ指定し、必要に応じて対象オブジェクトを1つに絞ります。仕組みについては[アカウントとアクセス](/docs/ja/accounts#one-access-model)を参照してください。アカウントロール: `owner`、`admin`、`member`。プロジェクトロール: `manager`、`member`。

| コマンド | 効果 |
| --- | --- |
| `beeuni access assignments [--project <id>\|--account\|--all] [--json]` | 1つのプロジェクト、アカウント、またはすべての割り当てを一覧表示します。 |
| `beeuni access grant --user <id\|email>\|--group <id>\|--service-account <id> --role <key\|id> [opts]` | 割り当てを1つ作成し、そのIDを表示します。 |
| `beeuni access revoke <assignment-id>` | 割り当てを1つ取り消します。 |

付与オプション: `--project <id>`（既定値: リンク済みプロジェクト）、`--account`（アカウント全体）、`--agent <name>`（付与対象を1つのエージェントに限定するオブジェクト割り当て）、`--connection <id>`（共有コネクターアカウントの利用を制限します。最初の付与でアカウントの利用者を許可対象のみに限定し、最後の付与を取り消すと、再びプロジェクト全体に開放されます）、`--everyone`（プロジェクトへのアクセス権を持つ全員に付与します。`--agent`または`--connection`を保持し、ロールは保持しません）、`--expires <iso>`（自動取り消しのタイムスタンプ）。`--principal`は一覧を絞り込み、`user:<id>`、`group:<id>`、`service_account:<id>`、`project:<id>`、`pending:<email>`を指定できます。単独のIDはユーザーとして解釈されます。全員への付与は`everyone`として一覧表示されます。エージェントのIDは`service_account`なので、エージェントにロールを割り当てるには`--service-account <id>`を使用します。`--user`ではメールアドレスを指定し、アカウントのメンバーディレクトリから照合します。

```bash
beeuni access grant --user alice@corp.com --role manager
beeuni access grant --user alice@corp.com --role admin --account
beeuni access grant --group 8f3c… --role member --project 1a2b…
beeuni access grant --user alice@corp.com --agent support-bot
beeuni access grant --everyone --agent support-bot
beeuni access grant --group 8f3c… --connection 2b7e…
beeuni access revoke 4d5e…
```

プロジェクトメンバー関連のコマンドは、同じ割り当てを読み取りモデルとして扱います。

| コマンド | 効果 |
| --- | --- |
| `beeuni access ls [--json]` | プロジェクトへのアクセス権を持つユーザー、そのアカウントロール、実効プロジェクトロールを一覧表示します。 |
| `beeuni access invite <email> --role <r>` | プロジェクトにユーザーを招待します。`pending`の割り当てを作成します。 |
| `beeuni access grant <user-id> --role <r>` | ユーザーのプロジェクトロールを設定します。 |
| `beeuni access revoke <user-id>` | ユーザーのプロジェクトアクセス権を削除します。 |
| `beeuni access pending [--json]` | 保留中の招待を一覧表示します。 |
| `beeuni access resend <invite-id>` | 招待メールを再送し、有効期限を14日間延長します。リンクも出力します。 |
| `beeuni access cancel <invite-id>` | 保留中の招待をキャンセルします。 |
| `beeuni access requests ls [--json]` | このプロジェクトへの参加を求めているユーザーからの保留中のリクエストを一覧表示します。 |
| `beeuni access requests approve <req-id> [--role <r>]` | 1件のリクエストを承認し、プロジェクトロールを付与します。デフォルトロール: `member`。 |
| `beeuni access requests reject <req-id>` | 1件のリクエストを拒否します。別名: `deny`。 |

上記2つのブロックにあるすべての動詞には`project.members.manage`が必要です。

ユーザー、グループ、エージェントはBeeuniからロールを取得します。エージェントはさらに
`beeuni.yaml`のBeeuni権限を持ち、セッションが実行できるのは両方が許可する操作だけです。
[1つの用語、2つのバインディング](/docs/ja/accounts#one-vocabulary-two-bindings)を参照してください。

<a id="audit"></a>

### 監査

監査コマンドは、集中管理された再構築ログを読み取ります。アカウントとプロジェクトの
一覧は新しい順です。セッションのタイムラインは作成時刻順です
（`session_sequence`は2026-10より前に書き込まれた行にのみ設定され、それらが
先頭に来ます）。`--all`はすべての継続カーソルに従います。`ls`は過去90日間を
一覧表示し、`export`は365日前まで遡ります。90日より古いイベントはアーカイブから取得されます
（[監査の保持期間](/docs/ja/accounts#retention)を参照）。テーブルには各行のタイトル
（例: `EVENT`「LLMゲートウェイキーを取り消しました」）と、その
`ACTION`（`gateway.key.revoke`）が表示されます。`--action`はアクションのプレフィックスで
フィルタリングします。すべてのアクションとタイトルについては、[監査ログのアクション](/docs/ja/audit-actions)を参照してください。

| コマンド | 効果 |
| --- | --- |
| `beeuni audit ls [filters] [--all] [--json]` | アカウントイベントを一覧表示します。 |
| `beeuni audit project <project-id> [filters] [--all] [--json]` | 1つのプロジェクトのイベントを一覧表示します。 |
| `beeuni audit session <session-id> --project <project-id> [--all] [--json]` | 1つのセッションを順番に再構築します。 |
| `beeuni audit export [filters] --format csv\|jsonl --out <file>` | すべてのエクスポートページを1つのファイルに連結します。 |
| `beeuni audit webhooks ls [--json]` | アカウントの監査Webhookを一覧表示します。 |
| `beeuni audit webhooks add --name <n> --url <u> [--action-prefix <p>]` | 1つ作成します。署名シークレットは一度だけ表示され、テスト配信が直ちに実行されます。`--action-prefix`は、そのプレフィックスを持つアクションのみを配信します。 |
| `beeuni audit webhooks enable <webhook-id>` | 配信を再開します。 |
| `beeuni audit webhooks disable <webhook-id>` | エンドポイントを保持したまま配信を一時停止します。 |
| `beeuni audit webhooks rm <webhook-id>` | Webhookを完全に削除します。 |

監査Webhookは追跡情報をSIEMにストリーミングします。すべての動詞には`account.write`が必要です。
`add`と`enable`にもエンタープライズ資格が必要です。`disable`と`rm`には
必要ありません。

フィルター: `--actor`、`--actor-type`、`--project`、`--session`、`--source`、
`--phase`、`--outcome`、`--action`、`--resource-type`、`--request-id`、
`--correlation-id`、`--query`、`--since`、`--until`、`--cursor`、`--limit`。
アカウントの一覧とエクスポートには`audit.read`およびアカウントの`auditAccess`資格が必要です。
プロジェクト全体の一覧には、プライベートセッションのメタデータが含まれる可能性があるため、
`project.members.manage`が必要です。セッションの再構築には`project.session.read`と、そのセッションの可視性が必要です。

<a id="roles"></a>

### ロール

ロールは、名前付きの権限セットです。システムロール（アカウントスコープでは`owner`、`admin`、`member`、
プロジェクトスコープでは`manager`、`member`、さらにオブジェクト割り当てが持つマーカーである`agent-user`）は、
読み取り専用の参照です。カスタムロールはユーザーが作成・編集でき、エンタープライズの`rbac`資格が必要です。

| コマンド | 効果 |
| --- | --- |
| `beeuni roles ls [--json]` | システムロールとカスタムロールを一覧表示します。 |
| `beeuni roles show <role> [--json]` | 1つのロールの権限と使用状況を表示します。 |
| `beeuni roles permissions <role> [--json]` | 1つのロールの権限を一覧表示します。 |
| `beeuni roles create <key> --name <n> [options]` | カスタムロールを作成します。 |
| `beeuni roles edit <role> [--name <n>] [--desc <t>\|--no-desc]` | カスタムロールの名前または説明を変更します。キーは変わりません。`role.update`が必要で、システムロールは拒否します。 |
| `beeuni roles set-actions <role> --actions a,b` | カスタムロールの権限を置き換えます。 |
| `beeuni roles rm <role>` | カスタムロールを削除します。 |
| `beeuni roles export [--project <id>] [--out <file>] [--format toml\|json]` | ロールと割り当てをファイルにダンプします。 |
| `beeuni roles import <file>` | ロールと割り当てのファイルを適用します。 |

`beeuni access grant`でプリンシパルにロールをバインドします。以前の`beeuni roles
assign` / `unassign` / `assignments`動詞も引き続き機能し、同じテーブルに書き込みますが、
`beeuni access`が文書化された方法です。`beeuni roles actions`は`beeuni permissions ls`に置き換えられました。

カスタムロールは権限を追加するだけです。Beeuniに拒否ルールはないため、ロールによってマネージャーから権限を取り上げることはできません。

<a id="permissions"></a>

### 権限

権限カタログをデータとして扱います。リーフアクションごとに1行で、権限が決定されるスコープ、委任可能かどうか、
およびその権限が含意する内容を示します。ロールはこれらのキーから構築されます。`beeuni roles create --actions`と`beeuni roles set-actions`は
これらのキーをそのまま受け取ります。別名: `beeuni perms`。

| コマンド | 効果 |
| --- | --- |
| `beeuni permissions ls [--scope account\|project] [--area <a>] [--json]` | カタログを一覧表示します。 |
| `beeuni permissions show <action> [--json]` | 1つのアクションの詳細を表示します。 |

<a id="grants"></a>

### Grant

1つのプロジェクトオブジェクトをプリンシパルに割り当てます。これを**オブジェクト割り当て**と呼びます。シークレットと
コネクターはエージェント上に存在するため、エージェントをユーザーに割り当てると、そのエージェントが宣言するすべてのものが付与されます。
エージェントはデフォルトで閉じられています。メンバーがアクセスできるのは、割り当てでそのメンバーまたはそのメンバーのグループが指定されている場合だけです。`beeuni access grant --agent
<name>`は同じ行を書き込みます。

| コマンド | 効果 |
| --- | --- |
| `beeuni grants ls [--json]` | オブジェクト割り当てと、割り当て可能なエージェントを一覧表示します。 |
| `beeuni grants assign <agent-name> --to <who> [--group]` | エージェントをユーザーに割り当てます。`--group`を使えばグループにも割り当てられます。 |
| `beeuni grants revoke <grant-id>` | 1つのオブジェクト割り当てを取り消します。 |

<a id="manifest-validation"></a>

### マニフェストの検証

| コマンド | 効果 |
| --- | --- |
| `beeuni validate [--file <path>] [--json] [--scopes] [--no-dockerfile-lint]` | マニフェストを標準スキーマに対して検証し、すべてのサンドボックスDockerfileとエージェントの配線をlintし、リポジトリサイズを確認します。まず`beeuni.yaml`を解決し、次に`beeuni.toml`を解決します。終了コード: `0`は有効（警告が存在する場合があります）、`1`はエラー、`2`はファイル不足です。`beeuni ship`も同じチェックを実行します。 |
| `beeuni schema [--version 1\|2] [--url]` | マニフェストのJSON Schemaを出力します。`--url`は代わりにスキーマURLを出力します。 |

[マニフェストリファレンス](/docs/ja/project/manifest)を参照してください。

<a id="repository-size"></a>

#### リポジトリサイズ

セッションは、ベースコミットでGitが追跡するすべてのファイルから[エージェント設定](/docs/ja/work/runtime#where-a-box-gets-the-release)を構築します。新しいセッションは、サイズにかかわらず、それらのファイルを独自のチェックアウトから取得します。実行中のセッションは、プロジェクトスナップショットを通じてベースブランチの変更を取り込みます。Beeuni Cloudは圧縮後512 MiBまでビルドします。それを超える場合、セッションは新しいセッションが開始されるまで、実行中の設定を保持します。すべてのセッションはすべてのファイルもダウンロードします。`beeuni validate`はGitが保存するファイルに加えて、`beeuni ship`が次にコミットする未追跡ファイルを数え、1つのファイルが10 MiB以上、または合計が512 MiBを超えると警告を出力します。Git LFSファイルは、リリースにポインターしか含まれないため、ポインターとして数えられます。警告には最大サイズのファイルが示されます。コマンドが失敗することはありません。

解消するには:
- 大きな静的アセット（動画、画像、データセット、モデルの重み）をS3、R2、GCSなどのオブジェクトストレージ、またはCDNに移し、実行時にダウンロードします。
- ビルド出力（`dist/`、`out/`）を`.gitignore`に追加します。
- Gitに残す必要はあるものの、どのエージェントも読み取らないパスには、`.gitattributes`に`<path> export-ignore`を追加します。リリースとチェックの両方で、そのパスは除外されます。ディレクトリルールはその配下全体に適用されます。エージェント設定ディレクトリと`beeuni.yaml`は常に全体が含まれます。

<a id="token-scope"></a>

### トークンのスコープ

各トークンは `beeuni_pat_` で始まります。ユーザートークンは、アカウント上のすべてのプロジェクトで有効です。プロジェクトトークンは1つのプロジェクトでのみ有効で、そのプロジェクトのサンドボックスに自動で注入されます。トークンファミリーの全リファレンスは [セッションランタイム](/docs/ja/work/runtime) をご覧ください。

<a id="exit-codes"></a>

### 終了コード

| コード | 意味 |
| --- | --- |
| `0` | 成功。 |
| `1` | 操作に失敗しました。診断情報は stderr に出力されます。 |
| `2` | フラグが不正、サブコマンドが不明、または必須の引数がありません。 |
