StableOps
Agent

Agent 策略

瞭解如何為 StableOps Agent 設定工具白名單、金額限制與人工審批閘門,使每個會話只能執行明確授權的查詢和低風險操作;文件同時說明組織與環境作用域、策略更新方式、敏感動作審批,以及拒絕或過期後的安全行為。

Agent 策略 決定 MCP 伺服器 能以你工作區的名義做哪些事。 策略作用域是 組織 + 環境,同一工作區下所有 agent session 共享一套規則,新 session 不必重複授權。

如果沒有顯式策略,預設是保守值:只允許只讀工具,任何寫入動作都要人工審批。

欄位

欄位型別預設說明
allowed_toolsAgentToolName[]只讀集合工具白名單。
require_approvalbooleantrue為 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 檢索審計軌跡。

這篇文件怎麼樣?

最後更新

本頁內容