# 旧版 beeuni.toml

从 v1 beeuni.toml 迁移到 v2 beeuni.yaml 的支持状态和迁移路径。

Canonical page: https://beeuni.ai/docs/ja/project/legacy-toml

このページでは v1 マニフェスト（`beeuni.toml`、`beeuni_version: 1`）について説明します。現在のマニフェストについては、[マニフェストリファレンス](/docs/ja/project/manifest)をご覧ください。

<a id="support-status"></a>

## サポート状況

Beeuni は引き続き v1 マニフェストをサポートします。プラットフォームは次の順にプロジェクトのマニフェストを解決します: `beeuni.yaml`、次に `beeuni.yml`、次に `beeuni.toml`。現在のスターターでは `beeuni_version: 2` `beeuni.yaml` が作成されます。v1 のプロジェクトは、強制アップグレードなしで引き続き動作します。

v1 では TOML 構文と YAML 構文が使えます。v2 では YAML のみが使えます。TOML で記述された v2 マニフェストは検証に失敗します。

<a id="migrate-to-v2"></a>

## v2 への移行

リポジトリのルートに `beeuni.yaml` を作成します。`beeuni_version: 2` を設定します。
`[[agents]]` をエージェント名をキーとする `agents:` マップに変換します。
各エージェントの `env` フィールドを `secrets` に変更します。エージェントが必要とするシークレットをすべて列挙します。v2 ではシークレットはデフォルトで付与されません。
デフォルトで実行するエージェントを指定する `default_agent` を追加します。
`[[channels]]` を削除します。各チャンネルをダッシュボードから再接続します。
`[sandbox]` または `[[sandboxes]]` を使用している場合は、各イメージ定義を `sandbox.templates` の下に移動します。
`beeuni.yaml` に対して `beeuni validate` を実行します。報告されたエラーを修正します。
`beeuni.toml` を削除します。

エージェントの動作 — システムプロンプト、`model`、`mode`、`temperature` など — は一切移動しません。v1 と v2 のどちらでも、各エージェントの `.md` フロントマター内の `.beeuni/opencode/agents/` にすでに記述されています。[エージェント](/docs/ja/project/agents)をご覧ください。

`beeuni validate --file beeuni.yaml` で結果を確認します。`beeuni schema --version 2` で v2 のスキーマ全体を取得します。両方のコマンドについては [CLI リファレンス](/docs/ja/cli)をご覧ください。

<a id="key-differences"></a>

## 主な違い

| v1（`beeuni_version: 1`） | v2（`beeuni_version: 2`） | 変更点 |
|---|---|---|
| `[[agents]]`（配列） | `agents:`（名前をキーとするマップ） | 配列の各項目をマップのエントリに変換します。 |
| `[[agents]].env` | `agents.<name>.secrets` | 名前が変更されました。デフォルト値は `all` から `none` に変わります。下記の注意書きをご覧ください。 |
| `[[agents]].model` | 削除 | v1 では使われません（解析されますが、適用されません）。エージェントの動作は常にエージェントの `.md` フロントマターから取得されます。 |
| `[[agents]].file` | `agents.<name>.file` | v1 では使われません（解析されますが、適用されません）。v2 ではエージェントの `.md` を指定します。 |
| `default_agent` なし | `default_agent`（必須） | 宣言済みで有効なエージェントを指定する必要があります。 |
| `[[channels]]` | 削除 | チャンネルのルーティングはダッシュボードで管理します。接続済みのチャンネルは、`provider: channel` を含む `connectors:` エントリとして表示されます。 |
| `[sandbox]`（単数形。イメージキーはその直下に配置） | `sandbox.templates`（リスト） | 各イメージをテンプレートエントリに移動します。 |
| `[[sandboxes]]` | `sandbox.templates` | 名前が変更されました。 |

> **v2 ではシークレットはデフォルトで付与されません**
>
> v1 では `env` フィールドがないエージェントには、プロジェクトのすべてのシークレットがデフォルトで付与されます。v2 では `secrets` フィールドがないエージェントには、シークレットは一切付与されません。移行時には、各エージェントが必要とするシークレットをすべて列挙してください。シークレットが知らないうちに失われると、タスクの途中でエージェントが失敗する可能性があります。

一部の `beeuni_permissions` アクションは v1 ではレガシーとして許容されます（`project.session.exec`、`project.gateway.routing.edit`、`project.schedule.read`、`project.schedule.write`、`project.webhook.read`、`project.webhook.write`、`channel.read`、`channel.connect`、`channel.send`、`channel.disconnect`）。プラットフォームは警告を表示しますが、実行を許可します。同じアクションは v2 ではエラーになります。移行前に、いずれかのエージェントの `beeuni_permissions` 付与設定から削除してください。
