エージェント
エージェントとは、セッションハーネスが実行するMarkdownファイルです。マニフェストはエージェントのアクセス権限のみを管理します。
エージェントは、ハーネスが セッションでどのように動作するかを定義するMarkdownファイルです。このページでは、エージェントファイルとスキル、セッションがエージェントを選ぶ仕組みについて説明します。
ハーネスが各セッションを実行する
セッションでは、1つのエージェントハーネスが実行されます。標準ハーネス(デフォルト)または実験的ハーネスです。 ハーネスでは、プロジェクトでの選択方法と、それぞれがサポートする機能を説明しています。
どちらも、プロジェクトのエージェントをagents/から、スキルをskills/から読み込みます。
標準ハーネスは、harnesses/opencode/から標準ハーネス専用のファイルも読み込みます。実験的ハーネスは、harnesses/pi/から独自のファイルを読み込みます。
2026-09より前に作成されたプロジェクトでは、エージェントとスキルは.beeuni/opencode/に保存されています。Beeuniは両方の構成を読み取ります。
エージェントは2つのファイルで構成される
各エージェントには2つの要素があります。
- 動作 — デフォルトでは
agents/<name>.mdのMarkdownファイルです。フロントマターでモデル、モード、権限ルールを設定します。本文はシステムプロンプトです。 - ガバナンス —
beeuni.yamlのagentsマップにある、エージェント名をキーとするエントリです。コネクタ、シークレット、スキル、アプリ、Beeuni権限、ツールなど、エージェントがアクセスできる対象を設定します。fileフィールドで動作ファイルを指定します。 このマップは、imports:でマニフェストに指定したファイルに置けます。default_agentはbeeuni.yamlに置きます。
マニフェストでは、プロンプトやモードは設定しません。.mdファイルでは、プラットフォームへのアクセス権限は設定しません。ガバナンスの全フィールドについては、マニフェストのリファレンスを参照してください。
エージェントファイルの保存場所
agents:
support:
file: agents/support.md
fileはリポジトリ相対パスです。末尾は.mdでなければなりません。/で始めることはできません。また、.または..セグメントを含めることもできません。fileがない場合、Beeuniはまずagents/<name>.md、次に.beeuni/opencode/agents/<name>.mdを読み込みます。- ダッシュボードで
.mdを持つエージェントを保存すると、そのパスを指定したfileが書き込まれます。 - APIでは
fileを変更できません。エージェントを移動するには、.mdを移動し、同じコミットでbeeuni.yaml内のfileを更新してください。
パスの全ルールについては、マニフェストのリファレンスを参照してください。
ガバナンスはデフォルトでアクセスを拒否する
connectors、secrets、skills、apps、beeuni_permissionsのキーを持たないエージェントには、それぞれのアクセス権限が付与されません。appsには、アプリの利用が制限または非公開の場合に、エージェントが開けるBeeuniアプリが列挙されます。この許可は2つのバインディングのうちの2つ目です。エージェントはservice_accountプリンシパルとしてのロール(上限)も持ち、セッションで実行できるのは両方で許可された操作のみです。エージェントの権限および1つの語彙、2つのバインディングを参照してください。すべてのアクセス権限を付与するにはフィールドをallに設定し、個別に付与するには名前を指定します。beeuni.yaml内のdefault_agentは、エージェントを指定せずにリクエストしたとき、セッションで起動するエージェントを示します。
各アクセス許可は、ダッシュボードの Customize → Agents → 対象のエージェントから設定します。Accessレールにあるアクセス許可セットごとのページ(Skills、Connectors、Secrets、Apps、Beeuni permissions)で設定できます。または、CLIでbeeuni agents scope <agent>(--secrets、--connectors、--apps)を使って設定できます。Appsページは、プロジェクトでApps機能フラグが有効な場合にのみ表示されます。どの方法でも、beeuni.yamlに同じagents.<name>ブロックが書き込まれます。
レガシーなbeeuni.toml(v1)プロジェクトでは、エージェントはマップではなく配列に列挙され、デフォルトでフルアクセスが付与されます。アクセスを制限するには、個別のアクセス許可を設定してください。マニフェストのリファレンスを参照してください。
スキルでエージェントにノウハウを与える
スキルは、skills/<name>/SKILL.mdにあるMarkdownファイルです。
ハーネスは必要に応じてスキルを読み込みます。Beeuniがすべてのプロンプトにスキル本文を挿入することはありません。標準ハーネスでは、エージェントがskillツールを呼び出します。実験的ハーネスでは、システムプロンプトに各スキルの名前と説明が列挙され、エージェントがファイルを読み込みます。beeuni.yaml内のエージェントのskillsアクセス許可によって、読み込めるスキルが決まります。
セッションがエージェントを選ぶ仕組み
セッションの作成時にagent_nameを指定できます。Beeuniは、そのエージェントをセッションで起動します。agent_nameを省略した場合は、プロジェクトのdefault_agentが使われます。
デフォルトのエージェントは、ダッシュボード、API、またはSDKから設定できます。どの方法でもbeeuni.yamlにdefault_agentを書き込み、プロジェクトのデフォルトブランチに変更をコミットします。
エージェントは、誰が実行しても、自身の上限ロール内で付与されたBeeuni権限を使って動作します。セッションを開始しても、エージェントにあなた自身のロールが貸与されることはありません。エージェントの権限を参照してください。
新規または変更されたエージェントとスキルが今後のセッションで使われるのは、変更リクエストがそれらをデフォルトブランチにマージした後です。エージェントが外部ツールを使うには、事前に接続してください。コネクタを参照してください。