跳到主要内容

无头与 CI

在自动化环境——CI 流水线、定时任务或后台智能体——中运行 Toolkit,无需交互式浏览器登录。

用 User Access Token 认证​

交互式 OAuth 需要浏览器。无头运行改用 User Access Token(UAT):

shell
shoplazza auth login --uat <your-token> --store-domain my-store.myshoplaza.com

或通过环境变量 SHOPLAZZA_UAT 传入 token,未传 --uat 时 auth login 会读取它:

shell
export SHOPLAZZA_UAT=your-token
shoplazza auth login --store-domain my-store.myshoplaza.com
shoplazza products +search --keyword "shirt"

在有浏览器的机器上运行一次 shoplazza auth login 即可拿到 UAT(登录输出里就有),并将其作为加密密钥存入 CI 系统——绝不写进指令、提交的文件或智能体上下文。

在 CI 中安装​

shell
npm install -g shoplazza-cli
npx skills add Shoplazza/shoplazza-cli -g

若智能体只跑 API/快捷命令,独立二进制无需 Node.js——见安装 Shoplazza CLI。

面向流水线的结构化输出​

在 CI 中或 stdout 被管道接走时,每条命令默认返回 JSON,无头智能体可解析并链式处理。若运行环境给 CLI 分配了终端(pty)且没设 CI,加上 --no-input(或设置 SHOPLAZZA_CLI_NO_INTERACTIVE=1):它会关掉所有交互提示,并让默认输出保持 JSON。用 --jq 裁剪:

shell
shoplazza orders +count --jq '.data.count'

在自动化中保证写操作安全​

无人值守时没有人来确认写操作,CLI 自身对破坏性命令的确认提示也只在交互式终端出现。缩小影响面:

  • 任务只需读时授予只读 scope:--scope read_order,read_product。
  • 对想在日志中先审查的写步骤,保留 --dry-run,确认无误再放开。
  • 让自动化先指向开发店。

完整模型见安全与权限。

参见​