跳到主要内容

安全与权限

当 AI 智能体代你操作 CLI 时,每条命令都有真实后果——建商品、给买家退款、删折扣。AI Toolkit 的设计让智能体始终待在你可控的护栏内。

安全协议​

地基技能 shoplazza-common 为破坏性(取消、删除)、批量以及动钱的写操作(如退款、收费)规定了以下协议:

  1. 预览 —— 用 --dry-run 运行命令,只打印请求而不发送。
  2. 复述 —— 概述该操作会改动什么。
  3. 确认 —— 等你明确确认后再执行。

其他写操作,比如用 + 快捷命令建商品或建折扣,在必填值确认后直接执行。只读命令(+search、+count、list、get)无需确认。

/shoplazza-orders 订单 660011 给买家退 15.50

智能体先用 --dry-run 预览退款,复述金额与库存退回,等你说"确认"后再真正执行。

在交互式终端里,CLI 自身也会请人确认破坏性命令:orders +refund 要求你重新输入订单 ID,products +unpublish、所有 delete / cancel 命令以及 auth logout 会询问是否继续。智能体、管道、CI 和 --dry-run 都不会出现这些提示,所以在智能体会话里,守住每次写操作的是上面的协议。

Scope 限定智能体能做什么​

认证按业务域授权。智能体只能触及你登录时授予的域:

shell
shoplazza auth login --store-domain my-store.myshoplaza.com --domain products,orders

上面的命令让智能体能管理商品与订单,但碰不到客户、折扣或店铺设置。若要精细控制 OAuth scope:

shell
shoplazza auth login --store-domain my-store.myshoplaza.com --scope read_product,read_order

只授予 read_* scope 即让智能体对该域只读。超出已授予 scope 的调用会被拒绝(HTTP 403),CLI 将其报为 auth 错误,并提示用 --domain 或 --scope 重新登录。见认证 → 作用域映射。

实用护栏​

  • 最小权限 —— 只授予任务所需的域和 scope。报表类智能体只需 read_*。
  • 执行前审查 —— 写操作保留确认环节;批准前读一遍被复述的命令。
  • 凭据加密存储 —— token 以 AES-256-GCM 加密后存放在 CLI 的配置目录中,不以明文写进配置文件。
  • 区分店铺 —— 先让智能体指向开发店;用 shoplazza auth store use 切换。
  • CI 密钥 —— 自动化运行时把 UAT 作为加密密钥传入,绝不写进指令或源码。见无头与 CI。

参见​