StableOps
Agent

Agent 策略

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 检索审计轨迹。

这篇文档怎么样?

最后更新

本页内容