# 无头与 CI

> 在 CI 与后台任务里无浏览器运行 Shoplazza AI Toolkit：用 User Access Token 认证、在流水线安装、解析 JSON 输出并守住写操作。

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

## 用 User Access Token 认证

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

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

或通过环境变量传入，避免落盘：

```shell
export SHOPLAZZA_UAT=your-token
export SHOPLAZZA_STORE=my-store.myshoplaza.com
shoplazza products +search --keyword "shirt"
```

在 Shoplazza 合作伙伴后台生成 UAT，并作为**加密密钥**存入 CI 系统——绝不写进指令、提交的文件或智能体上下文。

## 在 CI 中安装

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

若智能体只跑 API/快捷命令，独立二进制无需 Node.js——见[安装 Shoplazza CLI](/zh-CN/docs/app/developer-tools/shoplazza-cli/install)。

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

每条命令默认返回 JSON，无头智能体可解析并链式处理。用 `--jq` 裁剪：

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

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

无人值守时没有人来确认写操作。缩小影响面：

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

完整模型见[安全与权限](./safety-and-permissions)。

## 参见

* [认证 → 非交互式登录](/zh-CN/docs/app/developer-tools/shoplazza-cli/authentication)
* [CI/CD 集成](/zh-CN/docs/app/developer-tools/shoplazza-cli/guides/ci-cd)
