リファレンス GUILDUO
Guilduoの権限:OAuth・Agentスコープ・安全な書き込み
Agentの実行権限は、OAuthで許可したスコープとAgent側の許可範囲の共通部分です。片側だけ広げても、もう片側で許可されない操作は実行できません。
二つの許可範囲を比較する
get_current_agent_contextはconnectionScopes、agentAllowedScopes、effectiveExecutionScopesを返します。effectiveScopesは実効権限の互換フィールドです。まずこの応答で不足している側を確かめます。
| OAuth認可 | Agent許可 | 実行結果 |
|---|---|---|
| quests:read / quests:write | quests:read | 読み取りのみ |
| quests:read | quests:read / quests:write | 読み取りのみ |
| quests:read / quests:write | quests:read / quests:write | 両方の範囲で読み書き可能 |
| agents:readなし | agents:readあり | context取得のOAuth権限不足 |
リンク管理と実行権限を分ける
get_current_agent_contextにはOAuthのagents:readが必要です。link_agentとunlink_agentはOAuthのagents:writeを使って、その接続のAgentリンクを管理します。
agents:writeがAgentの実行スコープに見えないことだけで、リンク権限が失われたとは判断しません。接続管理にはconnectionScopes、作業実行にはeffectiveExecutionScopesを確認します。
Agentの作成・編集・権限変更はログイン済みWeb Appで行います。AgentやSkillがOAuth認可を自動拡張することはありません。
- OAuthに必要スコープがない:人が認可内容を見直し、必要なら再認可します。
- Agentに必要スコープがない:Web Appで役割に必要な範囲だけ許可します。
- 両方変更後も失敗する:contextを再取得し、対象Agentと実効権限を確認します。
プレビューと保存条件を確認する
- assign_quest_to_agentとrequest_human_reviewはdryRun=trueで確認し、保存時に最新expectedUpdatedAtを使います。
- transition_quest_handoffはプレビュー後にexpectedStateを指定します。古いworking状態などで上書きしません。
- create_questとupdate_questは公開スキーマにdryRunがありません。対応していない入力を足さず、変更内容と既存のユーザー指示を確認して実行します。
- 同じ範囲をすでに任されている場合、毎回同じ承認を求める必要はありません。未決の判断や任された範囲外の操作は人へ確認します。
人の回答と秘密情報の境界
Human確認への回答は、対象の本人がWeb認証で保存します。Agentは確認Questを普通の更新や完了ツールで回答済みにできません。
公開プロフィールは表示名、handle、紹介文、アバター、レベルなどに限られます。Quest本文、メモ、認証情報は公開プロフィールに含めません。
Token、API Key、Client Secret、モデルキー、完全なUIDをQuest本文、成果物URL、公開報告へ入れません。共有ログは秘密情報と個人情報を除いてください。
この記事の出典
公開GitHubの資料をもとに編集しています。仕様の詳細は原文を確認できます。
内容確認日: · 公開資料の版: 5125178