Agent 策略
瞭解如何為 StableOps Agent 設定工具白名單、金額限制與人工審批閘門,使每個會話只能執行明確授權的查詢和低風險操作;文件同時說明組織與環境作用域、策略更新方式、敏感動作審批,以及拒絕或過期後的安全行為。
Agent 策略 決定 MCP 伺服器 能以你工作區的名義做哪些事。 策略作用域是 組織 + 環境,同一工作區下所有 agent session 共享一套規則,新 session 不必重複授權。
如果沒有顯式策略,預設是保守值:只允許只讀工具,任何寫入動作都要人工審批。
欄位
| 欄位 | 型別 | 預設 | 說明 |
|---|---|---|---|
allowed_tools | AgentToolName[] | 只讀集合 | 工具白名單。 |
require_approval | boolean | true | 為 true 時所有非只讀工具都返回 pending_approval。 |
allowed_tools 的判斷早於審批處理。不在白名單內的工具直接返回
403 tool … not allowed by policy。
Dashboard 分組管理
Dashboard 的策略彈窗按資源族分組:Payment Orders、Addresses、Webhooks、Checkout Sessions、Agents、Merchant Subscriptions。你可以對整組全選/清空,也可以單獨勾選某個工具。頂部快捷選擇包含只讀預設、支付收款、訂閱管理、全部選擇和全部清空。
查詢目前策略
curl -X GET https://api.stableops.dev/v1/agent/policy \
-H "authorization: Bearer $STABLEOPS_API_KEY"環境(sandbox 或 live)由 API 金鑰本身決定(sk_sandbox_… 或 sk_live_…),無需也不能透過請求頭指定。
{
"id": "agp_01",
"allowed_tools": ["get_order", "list_webhook_deliveries"],
"require_approval": true,
"created_at": "2026-07-01T08:00:00.000Z",
"updated_at": "2026-07-01T08:00:00.000Z"
}更新策略
POST /v1/agent/policy 是 upsert。省略 require_approval 會保留目前值,但省略
allowed_tools 會把白名單重置為只讀預設集合,因此每次都要傳完整的目標工具列表。
curl -X POST https://api.stableops.dev/v1/agent/policy \
-H "authorization: Bearer $STABLEOPS_API_KEY" \
-H 'content-type: application/json' \
-d '{
"allowed_tools": [
"get_order",
"create_payment_order",
"request_action_approval"
],
"require_approval": false
}'決策流程
tool call ─▶ /v1/agent/actions
│
├─ 工具是否在 allowed_tools? 否 ─▶ 403 not allowed
│
├─ 只讀工具? 是 ─▶ auto_allowed
│
└─ require_approval == true? 是 ─▶ pending_approval(進人工佇列)
否 ─▶ auto_allowed(Agent 繼續)Dashboard 會把每條 pending_approval 動作、入參、發起 session 都展示出來。
批准後下一次重試即可放行;拒絕則把審批人填寫的原因寫進審計日誌。
推薦檔位
嚴格:全部人工複核,首次接入生產時建議使用:
{
"allowed_tools": ["get_order", "list_webhook_deliveries"],
"require_approval": true
}支付自動化:顯式允許支付工具後,讓 Agent 無需審批即可建立付款單:
{
"allowed_tools": [
"get_order",
"create_payment_order",
"request_action_approval"
],
"require_approval": false
}只讀審計:保留人工審批,把只讀工具放開:
{
"allowed_tools": ["get_order", "list_webhook_deliveries"],
"require_approval": true
}小貼士
- 建議先在 sandbox 使用
require_approval=true,確認工具範圍後再只對準備自動化的工具組關閉審批。 - 吊銷 session 與更新策略是兩件事:前者隻影響一段對話,後者影響所有 session。
- 審批會記錄操作人 id(dashboard 登入使用者或呼叫
/v1/agent/actions/:id/approve時顯式傳入的approver_id)。可按 session 檢索審計軌跡。
這篇文件怎麼樣?
最後更新