siluzan-tso-cli 1.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/siluzan-ads/SKILL.md +774 -0
- package/dist/commands/account-history.d.ts +13 -0
- package/dist/commands/account-history.js +87 -0
- package/dist/commands/account-manage.d.ts +71 -0
- package/dist/commands/account-manage.js +217 -0
- package/dist/commands/ad.d.ts +161 -0
- package/dist/commands/ad.js +486 -0
- package/dist/commands/ai-creation.d.ts +54 -0
- package/dist/commands/ai-creation.js +184 -0
- package/dist/commands/balance.d.ts +9 -0
- package/dist/commands/balance.js +68 -0
- package/dist/commands/clue.d.ts +16 -0
- package/dist/commands/clue.js +103 -0
- package/dist/commands/config.d.ts +17 -0
- package/dist/commands/config.js +122 -0
- package/dist/commands/forewarning.d.ts +78 -0
- package/dist/commands/forewarning.js +239 -0
- package/dist/commands/init.d.ts +10 -0
- package/dist/commands/init.js +141 -0
- package/dist/commands/invoice.d.ts +38 -0
- package/dist/commands/invoice.js +187 -0
- package/dist/commands/keyword.d.ts +14 -0
- package/dist/commands/keyword.js +125 -0
- package/dist/commands/list-accounts.d.ts +11 -0
- package/dist/commands/list-accounts.js +83 -0
- package/dist/commands/open-account.d.ts +205 -0
- package/dist/commands/open-account.js +456 -0
- package/dist/commands/optimize.d.ts +39 -0
- package/dist/commands/optimize.js +143 -0
- package/dist/commands/report.d.ts +55 -0
- package/dist/commands/report.js +274 -0
- package/dist/commands/stats.d.ts +13 -0
- package/dist/commands/stats.js +109 -0
- package/dist/commands/transfer.d.ts +13 -0
- package/dist/commands/transfer.js +52 -0
- package/dist/config/defaults.d.ts +6 -0
- package/dist/config/defaults.js +11 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1161 -0
- package/dist/templates/load-templates.d.ts +4 -0
- package/dist/templates/load-templates.js +24 -0
- package/dist/types/ads.d.ts +126 -0
- package/dist/types/ads.js +4 -0
- package/dist/utils/auth.d.ts +37 -0
- package/dist/utils/auth.js +203 -0
- package/package.json +48 -0
|
@@ -0,0 +1,774 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: siluzan-tso
|
|
3
|
+
description: >-
|
|
4
|
+
管理 Siluzan TSO 平台的广告投放全流程:账户查询与余额、消耗数据、开户申请(Google/TikTok/Yandex/Bing/Kwai)、
|
|
5
|
+
账号分享/断开关联、开户历史、优化报告、媒体转账、开票管理、AI智投记录、AI广告优化、
|
|
6
|
+
智能预警规则(创建/编辑/启停/删除)、广告线索表单(TikTok/Meta)、
|
|
7
|
+
Google 广告管理(系列/组/创意/关键词)、关键字推荐。
|
|
8
|
+
注意:本 skill 仅处理「广告投放管理」,发布视频/图文内容请使用 siluzan-platform skill。
|
|
9
|
+
description_zh: >-
|
|
10
|
+
管理 Siluzan TSO 平台的广告投放全流程:账户查询与余额、消耗数据、开户申请(Google/TikTok/Yandex/Bing/Kwai)、
|
|
11
|
+
账号分享/断开关联、开户历史、优化报告、媒体转账、开票管理、AI智投记录、AI广告优化、
|
|
12
|
+
智能预警规则(创建/编辑/启停/删除)、广告线索表单(TikTok/Meta)、
|
|
13
|
+
Google 广告管理(系列/组/创意/关键词)、关键字推荐。
|
|
14
|
+
注意:本 skill 仅处理「广告投放管理」,发布视频/图文内容请使用 siluzan-platform skill。
|
|
15
|
+
description_en: >-
|
|
16
|
+
Manage the full advertising workflow on Siluzan TSO: account list & balance, spend data,
|
|
17
|
+
account opening (Google/TikTok/Yandex/Bing/Kwai), account sharing/delink,
|
|
18
|
+
account opening history, optimization reports, media transfers, invoice management,
|
|
19
|
+
AI creation records, AI ad optimization, intelligent alerts, Google ad management
|
|
20
|
+
(campaigns/groups/ads/keywords), and keyword suggestions.
|
|
21
|
+
Supported media: Google, TikTok, Meta, Bing, Yandex, Kwai.
|
|
22
|
+
Note: This skill handles AD MANAGEMENT only. For content publishing (video/image-text),
|
|
23
|
+
use the siluzan-platform skill instead.
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Siluzan TSO Skill
|
|
27
|
+
|
|
28
|
+
## 核心原则
|
|
29
|
+
|
|
30
|
+
**通过 `siluzan-tso` CLI 完成广告投放管理,不要手动调接口。**
|
|
31
|
+
|
|
32
|
+
| 场景 | 命令 |
|
|
33
|
+
|------|------|
|
|
34
|
+
| 查询广告账户 | `siluzan-tso list-accounts` |
|
|
35
|
+
| 查询账户余额 | `siluzan-tso balance -m Google -a <id>` |
|
|
36
|
+
| 查询投放数据 | `siluzan-tso stats -m TikTok` |
|
|
37
|
+
| **开户申请(Google)** | `siluzan-tso open-account google --advertiser-id <magKey> ...` |
|
|
38
|
+
| **开户申请(TikTok)** | `siluzan-tso open-account tiktok --advertiser-id <magKey> --license-file <path> ...` |
|
|
39
|
+
| **开户申请(Yandex)** | `siluzan-tso open-account yandex --advertiser-id <magKey> ...` |
|
|
40
|
+
| **开户申请(Bing)** | `siluzan-tso open-account bing --advertiser-id <magKey> --license-file <path> ...` |
|
|
41
|
+
| **开户申请(Kwai)** | `siluzan-tso open-account kwai --advertiser-id <magKey> --license-file <path> ...` |
|
|
42
|
+
| **查广告主组(取 magKey)** | `siluzan-tso open-account list-groups` |
|
|
43
|
+
| **添加 OAuth 授权** | `siluzan-tso account auth -m Google` |
|
|
44
|
+
| **断开账户关联** | `siluzan-tso account delink --id <entityId>` |
|
|
45
|
+
| **账号分享** | `siluzan-tso account share --id <entityId> --phone <手机号>` |
|
|
46
|
+
| **取消账号分享** | `siluzan-tso account unshare --id <entityId> --account-id <userId>` |
|
|
47
|
+
| **查分享详情** | `siluzan-tso account share-detail --customer-id <mediaCustomerId>` |
|
|
48
|
+
| 开户申请历史 | `siluzan-tso account-history` |
|
|
49
|
+
| 优化报告列表 | `siluzan-tso report list -m Google` |
|
|
50
|
+
| **现金充值 / 月结充值 / 钱包** | 引导至网页(见 recharge 章节) |
|
|
51
|
+
| 媒体转账记录 | `siluzan-tso transfer -m Google` |
|
|
52
|
+
| 开票记录 | `siluzan-tso invoice list` |
|
|
53
|
+
| AI智投记录 | `siluzan-tso ai-creation list` |
|
|
54
|
+
| AI广告优化 | `siluzan-tso optimize list` |
|
|
55
|
+
| **线索表单(TikTok)** | `siluzan-tso clue -m TikTok -a <advertiserId>` |
|
|
56
|
+
| **线索表单(Meta)** | `siluzan-tso clue -m Meta -a <pageId>` |
|
|
57
|
+
| 智能预警列表 | `siluzan-tso forewarning list -m Google` |
|
|
58
|
+
| **创建预警规则** | `siluzan-tso forewarning create -m Google --name "..." --accounts <ids> --field cost --operator GREATER_EQUALS --value 500` |
|
|
59
|
+
| **编辑预警规则** | `siluzan-tso forewarning update -m Google --id <ruleId> ...` |
|
|
60
|
+
| **查看单条预警规则** | `siluzan-tso forewarning get -m Google --id <ruleId>` |
|
|
61
|
+
| **查看报告(网页)** | `{webUrl}/media-report/publish/{entityId}?culture=zh-CN` |
|
|
62
|
+
| Google 广告管理 | `siluzan-tso ad campaigns -a <accountId>` |
|
|
63
|
+
| 关键字推荐 | `siluzan-tso keyword -k "running shoes"` |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 认证
|
|
68
|
+
|
|
69
|
+
`siluzan-tso` 与 `siluzan-cso` **共用同一个 Token**(存储在 `~/.siluzan/config.json`)。
|
|
70
|
+
|
|
71
|
+
- 若用户已通过 `siluzan-cso login` 配置过 Token,**无需重新配置**,直接使用 `siluzan-tso` 命令即可。
|
|
72
|
+
- 若未配置,引导用户运行:`siluzan-cso login`
|
|
73
|
+
|
|
74
|
+
验证配置是否就绪:
|
|
75
|
+
```bash
|
|
76
|
+
siluzan-tso config show
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**环境切换**(默认指向生产环境,测试环境需手动切换):
|
|
80
|
+
|
|
81
|
+
| 配置项 | 生产环境(默认) | 测试环境 |
|
|
82
|
+
|--------|-----------------|---------|
|
|
83
|
+
| `apiBaseUrl`(TSO 主 API) | `https://tso-api.siluzan.com` | `https://tso-api-ci.siluzan.com` |
|
|
84
|
+
| `googleApiUrl`(Google 广告网关) | `https://googleapi.mysiluzan.com` | `https://googleapi-ci.mysiluzan.com` |
|
|
85
|
+
|
|
86
|
+
切换到测试环境:
|
|
87
|
+
```bash
|
|
88
|
+
siluzan-tso config set --api-base https://tso-api-ci.siluzan.com
|
|
89
|
+
siluzan-tso config set --google-api https://googleapi-ci.mysiluzan.com
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
切换回生产环境(或删除 config.json 中对应字段以恢复默认):
|
|
93
|
+
```bash
|
|
94
|
+
siluzan-tso config set --api-base https://tso-api.siluzan.com
|
|
95
|
+
siluzan-tso config set --google-api https://googleapi.mysiluzan.com
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 命令详细说明
|
|
101
|
+
|
|
102
|
+
### list-accounts — 查询广告账户列表
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
siluzan-tso list-accounts [选项]
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
| 选项 | 说明 |
|
|
109
|
+
|------|------|
|
|
110
|
+
| `-m, --media <type>` | 媒体类型(留空查全部):`Google \| TikTok \| Yandex \| MetaAd \| BingV2 \| Kwai` |
|
|
111
|
+
| `-k, --keyword <text>` | 按账户名称或 ID 搜索 |
|
|
112
|
+
| `-s, --status <status>` | 账户状态:`normal \| invalid \| all`(默认 all)|
|
|
113
|
+
| `-p, --page <n>` | 页码(默认 1) |
|
|
114
|
+
| `--page-size <n>` | 每页数量(默认 20) |
|
|
115
|
+
| `--json` | 输出原始 JSON |
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
siluzan-tso list-accounts -m Google
|
|
119
|
+
siluzan-tso list-accounts -k "品牌A" --json
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### balance — 查询实时余额
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
siluzan-tso balance -m <媒体类型> -a <账户ID列表>
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
siluzan-tso balance -m Google -a 1234567890
|
|
132
|
+
siluzan-tso balance -m TikTok -a 111111,222222 --json
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### stats — 查询投放数据
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
siluzan-tso stats -m <媒体类型> [选项]
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
| 选项 | 说明 | 默认 |
|
|
144
|
+
|------|------|------|
|
|
145
|
+
| `-m, --media <type>` | 媒体类型(必填) | — |
|
|
146
|
+
| `-a, --accounts <ids>` | 账户 ID 列表(留空查全部) | 全部 |
|
|
147
|
+
| `--start <YYYY-MM-DD>` | 开始日期 | 7 天前 |
|
|
148
|
+
| `--end <YYYY-MM-DD>` | 结束日期 | 昨天 |
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
siluzan-tso stats -m TikTok
|
|
152
|
+
siluzan-tso stats -m Google --start 2026-03-01 --end 2026-03-31
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
### account-history — 开户申请历史
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
siluzan-tso account-history [选项]
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
| 选项 | 说明 |
|
|
164
|
+
|------|------|
|
|
165
|
+
| `-m, --media <type>` | 媒体类型 |
|
|
166
|
+
| `-s, --status <status>` | 申请状态 |
|
|
167
|
+
| `-k, --keyword <text>` | 账户名/ID 关键字 |
|
|
168
|
+
| `--start / --end <date>` | 日期范围 |
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
siluzan-tso account-history -m Google
|
|
172
|
+
siluzan-tso account-history --status Approved --json
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
### report — 优化报告
|
|
178
|
+
|
|
179
|
+
#### 报告列表
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
siluzan-tso report list -m <媒体> [选项]
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
| 选项 | 说明 |
|
|
186
|
+
|------|------|
|
|
187
|
+
| `-m, --media` | 媒体类型(必填):`Google \| TikTok` |
|
|
188
|
+
| `-t, --type <type>` | 报告类型,如 `Daily \| Hourly` |
|
|
189
|
+
| `-s, --status <ready>` | 生成状态 `true \| false` |
|
|
190
|
+
| `-k, --keyword` | 报告名称关键字 |
|
|
191
|
+
| `--start / --end` | 日期范围 |
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
siluzan-tso report list -m Google
|
|
195
|
+
siluzan-tso report list -m TikTok -t Daily --start 2026-03-01 --end 2026-03-15
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
#### 批量生成报告
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
siluzan-tso report create -m Google -a <账户ID列表> -t Daily --start 2026-03-01 --end 2026-03-07
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
| 选项 | 说明 |
|
|
205
|
+
|------|------|
|
|
206
|
+
| `-m, --media` | 媒体类型(必填) |
|
|
207
|
+
| `-a, --accounts <ids>` | 账户 ID,逗号分隔(必填) |
|
|
208
|
+
| `-t, --type` | 报告类型(必填) |
|
|
209
|
+
| `--start / --end` | 日期范围(必填) |
|
|
210
|
+
|
|
211
|
+
#### 删除报告
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
siluzan-tso report delete --id <entityId>
|
|
215
|
+
siluzan-tso report delete --ids <id1,id2,id3>
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
#### 推送管理
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
siluzan-tso report push list -m Google # 查询推送列表
|
|
222
|
+
siluzan-tso report push start -m Google --id <id> # 启动推送
|
|
223
|
+
siluzan-tso report push stop -m Google --id <id> # 停止推送
|
|
224
|
+
siluzan-tso report push delete -m Google --id <id> # 删除推送
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
#### 查看报告(引导打开网页)
|
|
228
|
+
|
|
229
|
+
报告生成后,用户可在网页上查看内容。通过 `siluzan-tso config show` 获取 `webUrl`,按以下规则拼接查看链接:
|
|
230
|
+
|
|
231
|
+
| 媒体 | 报告类型 | URL 模板 |
|
|
232
|
+
|------|---------|---------|
|
|
233
|
+
| Google | 日报(Daily) | `{webUrl}/media-report/publish/{entityId}?culture=zh-CN` |
|
|
234
|
+
| Google | 小时报(Hourly) | `{webUrl}/media-report/hour/{entityId}?culture=zh-CN` |
|
|
235
|
+
| TikTok | 日报 | `{webUrl}/media-report/publish/{entityId}?culture=zh-CN` |
|
|
236
|
+
|
|
237
|
+
- `entityId` 来自 `siluzan-tso report list --json` 结果中每条记录的 `entityId` 字段
|
|
238
|
+
- `webUrl` 示例:`https://www-ci.siluzan.com`(测试环境)或 `https://www.siluzan.com`(生产环境)
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# 完整示例(Google 日报)
|
|
242
|
+
siluzan-tso report list -m Google --json
|
|
243
|
+
# 找到 entityId 后拼接:
|
|
244
|
+
# https://www-ci.siluzan.com/media-report/publish/<entityId>?culture=zh-CN
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
### recharge — 充值业务
|
|
250
|
+
|
|
251
|
+
充值业务分为两类:**CLI 已实现**的可直接调用命令;**CLI 未实现**的需引导用户打开对应网页操作。
|
|
252
|
+
|
|
253
|
+
#### 如何获取 Web 页面基地址
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
siluzan-tso config show
|
|
257
|
+
# 输出中 webUrl 行即为前端基地址,例如:
|
|
258
|
+
# webUrl : https://www.siluzan.com (生产环境)
|
|
259
|
+
# webUrl : https://www-ci.siluzan.com (测试环境)
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
> 规律:将 `apiBaseUrl` 中的 `tso-api` 替换为 `www` 即得 `webUrl`。
|
|
263
|
+
|
|
264
|
+
#### 充值功能总览
|
|
265
|
+
|
|
266
|
+
| 功能 | 对应页面路径 | CLI 支持 |
|
|
267
|
+
|------|-------------|----------|
|
|
268
|
+
| 现金充值(单笔) | `/recharge/pay` | ❌ 引导网页 |
|
|
269
|
+
| 现金充值(批量) | `/recharge/pay_batch` | ❌ 引导网页 |
|
|
270
|
+
| 月结充值 | `/recharge/accountBillingQuota` | ❌ 引导网页 |
|
|
271
|
+
| 丝路赞钱包(充值/提现/明细) | `/recharge/siluzanWallet` | ❌ 引导网页 |
|
|
272
|
+
| 媒体转账记录 | `/recharge/accountTransfer` | ✅ `transfer` 命令 |
|
|
273
|
+
| 开票记录 | `/recharge/invoiceList` | ✅ `invoice list` |
|
|
274
|
+
| 开票申请列表 | `/recharge/invoicingApplicationList` | ✅ `invoice billable` / `invoice apply` |
|
|
275
|
+
|
|
276
|
+
#### 引导用户跳转的标准话术
|
|
277
|
+
|
|
278
|
+
当用户询问现金充值、月结充值或钱包相关操作时,先通过 `siluzan-tso config show` 获取 `webUrl`,再给出完整链接:
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
需要进行充值,请访问丝路赞平台对应页面完成操作:
|
|
282
|
+
|
|
283
|
+
- 现金充值(单笔):{webUrl}/recharge/pay
|
|
284
|
+
- 现金充值(批量):{webUrl}/recharge/pay_batch
|
|
285
|
+
- 月结充值: {webUrl}/recharge/accountBillingQuota
|
|
286
|
+
- 丝路赞钱包: {webUrl}/recharge/siluzanWallet
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
### transfer — 媒体转账记录
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
siluzan-tso transfer -m <媒体> [选项]
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
| 选项 | 说明 |
|
|
298
|
+
|------|------|
|
|
299
|
+
| `-m, --media` | 媒体类型(必填):`Google \| TikTok \| MetaAd \| BingV2` |
|
|
300
|
+
| `-n, --number <no>` | 转账单号 |
|
|
301
|
+
| `-s, --status <status>` | 到账状态 |
|
|
302
|
+
| `--start / --end` | 日期范围 |
|
|
303
|
+
|
|
304
|
+
```bash
|
|
305
|
+
siluzan-tso transfer -m Google
|
|
306
|
+
siluzan-tso transfer -m TikTok --start 2026-03-01 --json
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
### invoice — 开票管理
|
|
312
|
+
|
|
313
|
+
#### 开票申请记录
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
siluzan-tso invoice list [选项]
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
| 选项 | 说明 |
|
|
320
|
+
|------|------|
|
|
321
|
+
| `-k, --keyword` | 发票号/关键字 |
|
|
322
|
+
| `--start / --end` | 日期范围 |
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
siluzan-tso invoice list
|
|
326
|
+
siluzan-tso invoice list --start 2026-03-01 --json
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
#### 可开票订单列表
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
siluzan-tso invoice billable [选项]
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
| 选项 | 说明 |
|
|
336
|
+
|------|------|
|
|
337
|
+
| `-m, --media` | 媒体类型 |
|
|
338
|
+
| `-c, --currency <code>` | 币种,如 `USD \| CNY` |
|
|
339
|
+
| `--wallet` | 查询钱包充值可开票记录 |
|
|
340
|
+
| `--start / --end` | 日期范围 |
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
siluzan-tso invoice billable -m Google -c USD
|
|
344
|
+
siluzan-tso invoice billable --wallet
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
#### 提交开票申请
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
siluzan-tso invoice apply \
|
|
351
|
+
--bill-ids "id1,id2" \
|
|
352
|
+
--bill-type AmountAccount \
|
|
353
|
+
--invoice-info '{"invoiceTitle":"...","taxNo":"..."}' \
|
|
354
|
+
--recipient-info '{"name":"...","address":"...","phone":"..."}'
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
### ai-creation — AI智投记录
|
|
360
|
+
|
|
361
|
+
对应页面:`/advertising/AICreationList`(AI智投记录列表)
|
|
362
|
+
|
|
363
|
+
#### 子命令总览
|
|
364
|
+
|
|
365
|
+
| 子命令 | 说明 |
|
|
366
|
+
|--------|------|
|
|
367
|
+
| `list` | 查询 AI 智投记录列表 |
|
|
368
|
+
| `get --id <id>` | 获取单条记录/草稿详情(JSON 输出) |
|
|
369
|
+
| `update --id <id>` | 更新草稿字段(预算/推广链接/系列名称)后保存 |
|
|
370
|
+
| `publish --id <id>` | 发布草稿(Draft → 提交 Google 异步创建) |
|
|
371
|
+
|
|
372
|
+
#### list — 查询列表
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
siluzan-tso ai-creation list [选项]
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
| 选项 | 说明 |
|
|
379
|
+
|------|------|
|
|
380
|
+
| `-s, --state <state>` | 状态:`Creating \| Successfully \| Failed \| HasFailed \| Unpublished` |
|
|
381
|
+
| `--customer-id <id>` | 客户 mediaCustomerId |
|
|
382
|
+
| `--customer-name <name>` | 客户名称 |
|
|
383
|
+
| `-k, --keyword <text>` | 关键字 |
|
|
384
|
+
| `--start / --end <date>` | 创建日期范围(YYYY-MM-DD) |
|
|
385
|
+
| `-p, --page <n>` | 页码(默认 1) |
|
|
386
|
+
| `--page-size <n>` | 每页数量(默认 20) |
|
|
387
|
+
| `--json` | 输出原始 JSON |
|
|
388
|
+
|
|
389
|
+
```bash
|
|
390
|
+
siluzan-tso ai-creation list
|
|
391
|
+
siluzan-tso ai-creation list --customer-id 6326027735
|
|
392
|
+
siluzan-tso ai-creation list --state Failed --json
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
#### get — 获取详情
|
|
396
|
+
|
|
397
|
+
```bash
|
|
398
|
+
siluzan-tso ai-creation get --id <recordId>
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
#### update — 更新草稿
|
|
402
|
+
|
|
403
|
+
```bash
|
|
404
|
+
siluzan-tso ai-creation update --id <recordId> [选项]
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
| 选项 | 说明 |
|
|
408
|
+
|------|------|
|
|
409
|
+
| `--budget <amount>` | 新预算(最小货币单位,如 `8500` = 85元 CNY) |
|
|
410
|
+
| `--url <url>` | 新推广链接 |
|
|
411
|
+
| `--campaign-name <name>` | 新广告系列名称 |
|
|
412
|
+
|
|
413
|
+
> 只有 `draftStatus === "Draft"` 的记录可更新。
|
|
414
|
+
|
|
415
|
+
```bash
|
|
416
|
+
siluzan-tso ai-creation update --id <id> --campaign-name "新名称" --url "https://example.com"
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
#### publish — 发布草稿
|
|
420
|
+
|
|
421
|
+
```bash
|
|
422
|
+
siluzan-tso ai-creation publish --id <recordId>
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
> 只有 `draftStatus === "Draft"` 的记录可发布;发布后状态变为 `Creating`,Google 后台异步执行创建。
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
### optimize — AI广告优化
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
siluzan-tso optimize list [选项] # 账户级优化主列表
|
|
433
|
+
siluzan-tso optimize records [选项] # 优化记录列表
|
|
434
|
+
siluzan-tso optimize children --parent-id <id> # 广告系列级明细
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
| 选项 | 说明 |
|
|
438
|
+
|------|------|
|
|
439
|
+
| `-a, --account <id>` | 账户 mediaCustomerId |
|
|
440
|
+
| `--start / --end` | 日期范围(格式 YYYY-MM-DD,自动附加 +08:00) |
|
|
441
|
+
|
|
442
|
+
```bash
|
|
443
|
+
siluzan-tso optimize list -a 1234567890
|
|
444
|
+
siluzan-tso optimize records --start 2026-03-01 --json
|
|
445
|
+
siluzan-tso optimize children --parent-id <id>
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
### clue — 广告线索表单
|
|
451
|
+
|
|
452
|
+
对应页面:`/clue-form`。支持 **TikTok** 和 **Meta(Facebook)** 两种媒体的广告线索数据查询。
|
|
453
|
+
|
|
454
|
+
> **注意**:线索数据由 TikTok/Meta API 直接返回,**不支持服务端分页**,数据量大时建议配合 `--json` 导出后自行处理。
|
|
455
|
+
|
|
456
|
+
```bash
|
|
457
|
+
# 查询 TikTok 线索(全部区域)
|
|
458
|
+
siluzan-tso clue -m TikTok -a <advertiserId>
|
|
459
|
+
|
|
460
|
+
# 只查欧洲区线索
|
|
461
|
+
siluzan-tso clue -m TikTok -a <advertiserId> --region eu
|
|
462
|
+
|
|
463
|
+
# 查询 Meta 线索(指定日期范围)
|
|
464
|
+
siluzan-tso clue -m Meta -a <pageId> --start 2026-03-01 --end 2026-03-31
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
| 选项 | 说明 |
|
|
468
|
+
|------|------|
|
|
469
|
+
| `-m, --media` | `TikTok \| Meta`(默认 TikTok) |
|
|
470
|
+
| `-a, --account <id>` | TikTok:`advertiserId`(mediaCustomerId);Meta:Facebook 页面 ID |
|
|
471
|
+
| `--region <region>` | TikTok 专用:`eu \| us \| other \| ALL`(默认 ALL) |
|
|
472
|
+
| `--start <date>` | Meta 专用:开始日期(YYYY-MM-DD) |
|
|
473
|
+
| `--end <date>` | Meta 专用:结束日期(YYYY-MM-DD) |
|
|
474
|
+
| `--json` | 输出原始 JSON |
|
|
475
|
+
|
|
476
|
+
**输出字段说明(TikTok)**
|
|
477
|
+
|
|
478
|
+
- 姓名、邮箱、手机(来自 `custom_fields`)
|
|
479
|
+
- 表单名、广告名、区域、时间(来自 `system_fields`)
|
|
480
|
+
|
|
481
|
+
**输出字段说明(Meta)**
|
|
482
|
+
|
|
483
|
+
- 姓名、邮箱、手机(来自 `field_Data`)
|
|
484
|
+
- 表单名、创建时间
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
### forewarning — 智能预警
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
siluzan-tso forewarning list -m <媒体> [选项] # 规则列表
|
|
492
|
+
siluzan-tso forewarning records -m <媒体> [选项] # 预警触发记录
|
|
493
|
+
siluzan-tso forewarning start -m <媒体> --id <id> # 启动规则
|
|
494
|
+
siluzan-tso forewarning stop -m <媒体> --id <id> # 停止规则
|
|
495
|
+
siluzan-tso forewarning delete -m <媒体> --id <id> # 删除规则
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
规则列表选项:
|
|
499
|
+
|
|
500
|
+
| 选项 | 说明 |
|
|
501
|
+
|------|------|
|
|
502
|
+
| `-m, --media` | 媒体类型(必填):`Google \| TikTok` |
|
|
503
|
+
| `-a, --account <id>` | 账户 ID 筛选 |
|
|
504
|
+
| `-k, --keyword` | 规则名称关键字 |
|
|
505
|
+
| `--start / --end` | 日期范围 |
|
|
506
|
+
|
|
507
|
+
预警记录额外选项:
|
|
508
|
+
|
|
509
|
+
| 选项 | 说明 |
|
|
510
|
+
|------|------|
|
|
511
|
+
| `-r, --rule-id <id>` | 规则 ID(留空查全部) |
|
|
512
|
+
| `-s, --status <result>` | 执行结果筛选 |
|
|
513
|
+
|
|
514
|
+
```bash
|
|
515
|
+
siluzan-tso forewarning list -m Google
|
|
516
|
+
siluzan-tso forewarning records -m TikTok --start 2026-03-01
|
|
517
|
+
siluzan-tso forewarning stop -m Google --id <ruleId>
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
#### 创建预警规则(自定义类型)
|
|
521
|
+
|
|
522
|
+
```bash
|
|
523
|
+
siluzan-tso forewarning create \
|
|
524
|
+
-m Google \
|
|
525
|
+
--name "消费超限预警" \
|
|
526
|
+
--accounts "<entityId1>,<entityId2>" \
|
|
527
|
+
--field cost \
|
|
528
|
+
--operator GREATER_EQUALS \
|
|
529
|
+
--value 500 \
|
|
530
|
+
--days 1 \
|
|
531
|
+
--frequency QuarterHour \
|
|
532
|
+
--notify "<notifyEntityId>"
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
| 选项 | 说明 | 必填 |
|
|
536
|
+
|------|------|------|
|
|
537
|
+
| `-m, --media` | `Google \| TikTok` | ✅ |
|
|
538
|
+
| `--name` | 规则名称 | ✅ |
|
|
539
|
+
| `--accounts <ids>` | 监控账户 entityId,逗号分隔 | ✅ |
|
|
540
|
+
| `--field <field>` | 监控指标(见下表) | ✅ |
|
|
541
|
+
| `--operator <op>` | 比较运算符(见下表) | ✅ |
|
|
542
|
+
| `--value <n>` | 阈值(数字) | ✅ |
|
|
543
|
+
| `--scope <type>` | 层级:`Campaign \| AdGroup \| Ad`(默认 `Campaign`) | |
|
|
544
|
+
| `--days <n>` | 统计周期(天):`1 \| 3 \| 7`(默认 1) | |
|
|
545
|
+
| `--frequency <freq>` | 检查频率:`QuarterHour \| HalfHour \| Hour` | |
|
|
546
|
+
| `--notify <ids>` | 通知账户 entityId,逗号分隔 | |
|
|
547
|
+
|
|
548
|
+
**监控指标(--field)**
|
|
549
|
+
|
|
550
|
+
| 媒体 | 可选值 |
|
|
551
|
+
|------|--------|
|
|
552
|
+
| Google | `cost` `CPA` `CPM` `CPC` `conversions_count` `conversions_rate` `valid_click_count` `ctr` |
|
|
553
|
+
| TikTok | `spend` `cpc` `cpm` `cost_per_conversion` `conversion` `ctr` `clicks` `result` `result_rate` |
|
|
554
|
+
|
|
555
|
+
**比较运算符(--operator)**
|
|
556
|
+
|
|
557
|
+
`GREATER_EQUALS`(≥)、`GREATER`(>)、`LESS_EQUALS`(≤)、`LESS`(<)、`EQUALS`(=)
|
|
558
|
+
|
|
559
|
+
#### 更新预警规则
|
|
560
|
+
|
|
561
|
+
```bash
|
|
562
|
+
siluzan-tso forewarning update \
|
|
563
|
+
-m Google \
|
|
564
|
+
--id <ruleEntityId> \
|
|
565
|
+
--name "新名称" \
|
|
566
|
+
--accounts "<entityId>" \
|
|
567
|
+
--field cost --operator LESS_EQUALS --value 200
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
与 `create` 参数相同,额外必填 `--id`(规则 entityId)。
|
|
571
|
+
|
|
572
|
+
#### 查看单条规则详情(编辑前用于获取当前配置)
|
|
573
|
+
|
|
574
|
+
```bash
|
|
575
|
+
siluzan-tso forewarning get -m Google --id <ruleEntityId>
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
---
|
|
579
|
+
|
|
580
|
+
### account — 账号管理(授权 / 断开关联 / 分享)
|
|
581
|
+
|
|
582
|
+
#### 添加授权(OAuth 绑定新账户)
|
|
583
|
+
|
|
584
|
+
```bash
|
|
585
|
+
siluzan-tso account auth -m Google # 打开 Google Ads OAuth 授权页
|
|
586
|
+
siluzan-tso account auth -m TikTok # 打开 TikTok Ads OAuth 授权页
|
|
587
|
+
siluzan-tso account auth -m Meta # 打开 Facebook Ads OAuth 授权页
|
|
588
|
+
siluzan-tso account auth -m Yandex
|
|
589
|
+
siluzan-tso account auth -m BingV2
|
|
590
|
+
siluzan-tso account auth -m Kwai
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
执行后 CLI 会自动在**系统默认浏览器**中打开对应媒体的 OAuth 授权页面;无法打开浏览器时输出链接供手动粘贴。用户在浏览器中完成授权后会自动跳回丝路赞回调页面,账户绑定即时生效。
|
|
594
|
+
|
|
595
|
+
#### 断开关联 / 分享
|
|
596
|
+
|
|
597
|
+
```bash
|
|
598
|
+
siluzan-tso account delink --id <entityId> # 断开单个账户关联
|
|
599
|
+
siluzan-tso account delink --ids <id1,id2,id3> # 批量断开
|
|
600
|
+
siluzan-tso account share --id <entityId> --phone <手机号> # 分享 Google 账户给指定用户
|
|
601
|
+
siluzan-tso account unshare --id <entityId> --account-id <userId> # 取消分享
|
|
602
|
+
siluzan-tso account share-detail --customer-id <mediaCustomerId> # 查看分享详情
|
|
603
|
+
```
|
|
604
|
+
|
|
605
|
+
- `--id` / `--ids` 中的 ID 是 `entityId`(来自 `list-accounts --json` 中 `ma.entityId` 字段),**不是** `mediaCustomerId`
|
|
606
|
+
- `account share` 只支持 Google 账户;手机号必须已在丝路赞注册
|
|
607
|
+
- `account share-detail --customer-id` 传的是 `mediaCustomerId`(数字型账户 ID)
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
### open-account — 开户申请
|
|
612
|
+
|
|
613
|
+
#### 第一步:查询广告主组,取 magKey
|
|
614
|
+
|
|
615
|
+
```bash
|
|
616
|
+
siluzan-tso open-account list-groups
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
所有开户命令都需要 `--advertiser-id <magKey>`。
|
|
620
|
+
|
|
621
|
+
#### Google 开户(无需图片)
|
|
622
|
+
|
|
623
|
+
```bash
|
|
624
|
+
siluzan-tso open-account google \
|
|
625
|
+
--advertiser-id <magKey> \
|
|
626
|
+
--account-name "我的广告账户" \
|
|
627
|
+
--currency USD \
|
|
628
|
+
--timezone "Asia/Hong_Kong" \
|
|
629
|
+
--invite-email "xxx@company.com" \
|
|
630
|
+
--company "公司名称" \
|
|
631
|
+
--industry1 "科技" \
|
|
632
|
+
--industry2 "互联网服务" \
|
|
633
|
+
--promotion-link "https://example.com" \
|
|
634
|
+
--promotion-type b2b
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
| 选项 | 说明 | 必填 |
|
|
638
|
+
|------|------|------|
|
|
639
|
+
| `--advertiser-id` | 广告主组 magKey | ✅ |
|
|
640
|
+
| `--account-name` | 账户名称(≤22字符) | ✅ |
|
|
641
|
+
| `--currency` | 货币:`USD \| CNY` | ✅ |
|
|
642
|
+
| `--timezone` | 时区,如 `Asia/Hong_Kong` | ✅ |
|
|
643
|
+
| `--invite-email` | 受邀邮箱(`.com` 结尾) | ✅ |
|
|
644
|
+
| `--company` | 公司名称 | ✅ |
|
|
645
|
+
| `--industry1 / --industry2` | 行业一/二级 | ✅ |
|
|
646
|
+
| `--promotion-link` | 推广链接 | ✅ |
|
|
647
|
+
| `--promotion-type` | `b2b \| b2c \| app` | ✅ |
|
|
648
|
+
| `--invite-role` | `Standard \| Admin`(默认 Standard) | |
|
|
649
|
+
| `--counts` | 开户数量 1-3(默认 1) | |
|
|
650
|
+
|
|
651
|
+
#### TikTok 开户(需要营业执照图片)
|
|
652
|
+
|
|
653
|
+
```bash
|
|
654
|
+
siluzan-tso open-account tiktok \
|
|
655
|
+
--advertiser-id <magKey> \
|
|
656
|
+
--account-name "我的TT账户" \
|
|
657
|
+
--currency USD \
|
|
658
|
+
--timezone "UTC+8" \
|
|
659
|
+
--company "公司名称" \
|
|
660
|
+
--industry-id 159141 \
|
|
661
|
+
--registered-area CN \
|
|
662
|
+
--promotion-link "https://example.com" \
|
|
663
|
+
--license-no "91xxxxxx" \
|
|
664
|
+
--license-file "/path/to/license.jpg"
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
> CLI 自动完成:① 上传图片到 TikTok → 获取 `license_image_id`;② 存档到 Siluzan;③ 检查是否需要法人银联验证。
|
|
668
|
+
> 若需要银联验证,追加:`--representative-name 李xx --representative-id 身份证号 --unionpay-account 银联号 --representative-phone 手机号`
|
|
669
|
+
|
|
670
|
+
#### Yandex 开户(无需图片)
|
|
671
|
+
|
|
672
|
+
```bash
|
|
673
|
+
siluzan-tso open-account yandex \
|
|
674
|
+
--advertiser-id <magKey> \
|
|
675
|
+
--login "yandex_login_name" \
|
|
676
|
+
--first-name "名" --last-name "姓" \
|
|
677
|
+
--email "xxx@company.com" \
|
|
678
|
+
--tin "税号" \
|
|
679
|
+
--phone "+8618800000000"
|
|
680
|
+
```
|
|
681
|
+
|
|
682
|
+
#### Bing/BingV2 开户(需要营业执照图片)
|
|
683
|
+
|
|
684
|
+
```bash
|
|
685
|
+
siluzan-tso open-account bing \
|
|
686
|
+
--advertiser-id <magKey> \
|
|
687
|
+
--advertiser-name "公司全称" \
|
|
688
|
+
--name-short "简称" \
|
|
689
|
+
--province "广东省" --city "深圳市" \
|
|
690
|
+
--address "详细地址" \
|
|
691
|
+
--promotion-link "https://example.com" \
|
|
692
|
+
--trade-id "1001" \
|
|
693
|
+
--license-file "/path/to/license.jpg"
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
#### Kwai 开户(需要营业执照图片)
|
|
697
|
+
|
|
698
|
+
```bash
|
|
699
|
+
siluzan-tso open-account kwai \
|
|
700
|
+
--advertiser-id <magKey> \
|
|
701
|
+
--licence-id "91xxxxxx" \
|
|
702
|
+
--licence-country CN \
|
|
703
|
+
--licence-location "广东省深圳市xx路xx号" \
|
|
704
|
+
--business-scope "电商零售" \
|
|
705
|
+
--product "品牌名称" \
|
|
706
|
+
--ad-type 1 \
|
|
707
|
+
--product-url "https://example.com" \
|
|
708
|
+
--licence-id-type ENTERPRISE \
|
|
709
|
+
--account-name "账户名称" \
|
|
710
|
+
--company-name "公司名称" \
|
|
711
|
+
--industry-id1 "1234" --industry-id2 "5678" \
|
|
712
|
+
--expire-type 2 \
|
|
713
|
+
--target-country US \
|
|
714
|
+
--license-file "/path/to/license.jpg"
|
|
715
|
+
```
|
|
716
|
+
|
|
717
|
+
> `--ad-type`:`1`=效果广告,`2`=品牌广告
|
|
718
|
+
> `--expire-type`:`1`=有限期(需追加 `--expire-at <毫秒时间戳>`),`2`=长期有效
|
|
719
|
+
|
|
720
|
+
---
|
|
721
|
+
|
|
722
|
+
### ad — Google 广告管理
|
|
723
|
+
|
|
724
|
+
> 需要先配置 Google API 地址:`siluzan-tso config set --google-api <URL>`
|
|
725
|
+
|
|
726
|
+
```bash
|
|
727
|
+
siluzan-tso ad campaigns -a <accountId> [--start <date>] [--end <date>] # 广告系列列表
|
|
728
|
+
siluzan-tso ad groups -a <accountId> # 广告组列表
|
|
729
|
+
siluzan-tso ad list -a <accountId> # 广告列表
|
|
730
|
+
siluzan-tso ad keywords -a <accountId> # 关键词列表
|
|
731
|
+
siluzan-tso ad keywords -a <accountId> --negative # 否定关键词列表
|
|
732
|
+
```
|
|
733
|
+
|
|
734
|
+
所有子命令均支持 `--json` 输出。
|
|
735
|
+
|
|
736
|
+
```bash
|
|
737
|
+
siluzan-tso ad campaigns -a 1234567890 --start 2026-03-01 --end 2026-03-31
|
|
738
|
+
siluzan-tso ad keywords -a 1234567890 --json
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
---
|
|
742
|
+
|
|
743
|
+
### keyword — 关键字推荐
|
|
744
|
+
|
|
745
|
+
> 需要先配置 Google API 地址:`siluzan-tso config set --google-api <URL>`
|
|
746
|
+
|
|
747
|
+
```bash
|
|
748
|
+
siluzan-tso keyword -k <搜索词> [选项]
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
| 选项 | 说明 |
|
|
752
|
+
|------|------|
|
|
753
|
+
| `-k, --keyword <words>` | 搜索词,多个逗号分隔(必填) |
|
|
754
|
+
| `--url <url>` | 公司/产品网址,填写后触发「网址拓词 + 轮询」流程 |
|
|
755
|
+
| `--include <words>` | 结果必须包含的词(逗号或空格分隔,本地过滤) |
|
|
756
|
+
| `--exclude <words>` | 结果不包含的词(本地过滤) |
|
|
757
|
+
|
|
758
|
+
```bash
|
|
759
|
+
siluzan-tso keyword -k "running shoes,sports"
|
|
760
|
+
siluzan-tso keyword -k "跑步" --url "https://example.com" --exclude "kids,cheap"
|
|
761
|
+
siluzan-tso keyword -k "coffee" --json
|
|
762
|
+
```
|
|
763
|
+
|
|
764
|
+
---
|
|
765
|
+
|
|
766
|
+
## AI 行为规范
|
|
767
|
+
|
|
768
|
+
1. **先查账户再操作**:对具体账户做操作前,先通过 `list-accounts` 确认账户 ID。
|
|
769
|
+
2. **使用 --json 处理数据**:需要对返回数据做计算或筛选时,加 `--json` 输出 JSON。
|
|
770
|
+
3. **不要猜测账户 ID**:账户 ID 必须来自 `list-accounts` 的输出。
|
|
771
|
+
4. **媒体类型区分大小写**:如 `Google`、`TikTok`、`MetaAd`、`BingV2`、`Kwai`,不要用小写。
|
|
772
|
+
5. **Google 专属命令前置检查**:使用 `ad` 或 `keyword` 命令前,先用 `config show` 确认 `googleApiUrl` 已配置;若未配置,引导用户执行 `siluzan-tso config set --google-api <URL>`。
|
|
773
|
+
6. **时区说明**:所有日期按北京时间(UTC+8),`optimize` 命令会自动附加 `+08:00`。
|
|
774
|
+
7. **分页说明**:默认每页 20 条,数据量大时可增加 `--page-size 100` 或翻页查询。
|