siluzan-tso-cli 1.1.21 → 1.1.22-beta.3

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.
Files changed (121) hide show
  1. package/README.md +3 -2
  2. package/dist/index.js +140 -58
  3. package/dist/skill/AGENTS.md +45 -0
  4. package/dist/skill/SKILL.md +60 -346
  5. package/dist/skill/_meta.json +2 -2
  6. package/dist/skill/assets/campaign-create-template.md +4 -4
  7. package/dist/skill/assets/pmax-create-template.md +4 -3
  8. package/dist/skill/docs/skill-guide.md +44 -0
  9. package/dist/skill/references/README.md +73 -0
  10. package/dist/skill/references/{accounts.md → accounts/accounts.md} +7 -7
  11. package/dist/skill/references/{currency.md → accounts/currency.md} +7 -7
  12. package/dist/skill/references/{finance.md → accounts/finance.md} +5 -5
  13. package/dist/skill/references/accounts/open-account-by-media.md +151 -0
  14. package/dist/skill/references/{open-account-google-ui.md → accounts/open-account-google-ui.md} +2 -2
  15. package/dist/skill/references/{account-analytics.md → analytics/account-analytics.md} +2 -2
  16. package/dist/skill/references/{google-analysis-batch.md → analytics/google-analysis-batch.md} +2 -2
  17. package/dist/skill/references/{keyword-planner-workflows.md → analytics/keyword-planner-workflows.md} +9 -9
  18. package/dist/skill/references/{rag.md → analytics/rag.md} +6 -6
  19. package/dist/skill/references/{reporting.md → analytics/reporting.md} +6 -6
  20. package/dist/skill/references/core/agent-conventions.md +180 -0
  21. package/dist/skill/references/core/playbooks.md +141 -0
  22. package/dist/skill/references/{setup.md → core/setup.md} +5 -5
  23. package/dist/skill/references/core/skill-authoring.md +192 -0
  24. package/dist/skill/references/{tips.md → core/tips.md} +5 -5
  25. package/dist/skill/references/{workflows.md → core/workflows.md} +23 -25
  26. package/dist/skill/references/{google-ads-campaign-plan.md → google-ads/google-ads-campaign-plan.md} +22 -22
  27. package/dist/skill/references/{google-ads.md → google-ads/google-ads.md} +11 -15
  28. package/dist/skill/references/{pmax-api.md → google-ads/pmax-api.md} +0 -2
  29. package/dist/skill/references/google-ads/rules/README.md +21 -0
  30. package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-keyword-taxonomy.md +2 -2
  31. package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-launch-plan-template.md +8 -8
  32. package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-pmax-guide.md +1 -1
  33. package/dist/skill/references/{tso-home.md → misc/tso-home.md} +5 -5
  34. package/dist/skill/references/{hosted-automation-monitoring-json.md → operations/hosted-automation-monitoring-json.md} +8 -8
  35. package/dist/skill/references/{hosted-automation-optimize-ab-winner.md → operations/hosted-automation-optimize-ab-winner.md} +2 -2
  36. package/dist/skill/references/{hosted-automation-optimize-index.md → operations/hosted-automation-optimize-index.md} +6 -6
  37. package/dist/skill/references/{hosted-automation-optimize-scale.md → operations/hosted-automation-optimize-scale.md} +2 -2
  38. package/dist/skill/references/{hosted-automation-optimize-weak-downbid.md → operations/hosted-automation-optimize-weak-downbid.md} +5 -5
  39. package/dist/skill/references/operations/hosted-automation-scenarios.md +23 -0
  40. package/dist/skill/references/{hosted-automation-self-control.md → operations/hosted-automation-self-control.md} +14 -14
  41. package/{assets/siluzan-ads/references → dist/skill/references/operations}/hosted-automation-user-catalog.md +12 -12
  42. package/dist/skill/report-templates/README.md +2 -1
  43. package/dist/skill/report-templates/REPORT-WORKFLOW.md +2 -2
  44. package/dist/skill/report-templates/google-ads-diagnosis.md +1 -1
  45. package/dist/skill/report-templates/google-inquiry-analysis.md +6 -6
  46. package/dist/skill/report-templates/google-period-report.md +1 -1
  47. package/dist/skill/report-templates/okki-weekly-google-client.md +4 -4
  48. package/dist/skill/scripts/install.ps1 +3 -3
  49. package/dist/skill/scripts/install.sh +3 -3
  50. package/eval/cases/accounts-entityid-vs-mediaccustomerid.scenario.json +2 -2
  51. package/eval/cases/accounts-mcc-bind-inquiry.scenario.json +3 -3
  52. package/eval/cases/accounts-single-balance-not-bulk.scenario.json +2 -2
  53. package/eval/cases/clue-meta-leads-json.scenario.json +2 -2
  54. package/eval/cases/clue-tiktok-leads-json.scenario.json +2 -2
  55. package/eval/cases/destructive-account-delink-needs-confirm.scenario.json +1 -1
  56. package/eval/cases/destructive-forewarning-delete-needs-confirm.scenario.json +1 -1
  57. package/eval/cases/destructive-invoice-apply-needs-confirm.scenario.json +1 -1
  58. package/eval/cases/finance-invoice-info-list.scenario.json +2 -2
  59. package/eval/cases/forewarning-list-google.scenario.json +2 -2
  60. package/eval/cases/google-ads-no-structural-without-confirm.scenario.json +3 -3
  61. package/eval/cases/google-analysis-keywords-route.scenario.json +2 -2
  62. package/eval/cases/hosted-sop-cpa-spike-downbid.scenario.json +5 -5
  63. package/eval/cases/hosted-sop-daily-budget-circuit-breaker.scenario.json +3 -3
  64. package/eval/cases/hosted-sop-empty-spend-pause-p1.scenario.json +5 -5
  65. package/eval/cases/meta-single-balance-not-bulk.scenario.json +2 -2
  66. package/eval/cases/open-account-bing-noninteractive.scenario.json +3 -3
  67. package/eval/cases/open-account-google-noninteractive.scenario.json +2 -2
  68. package/eval/cases/open-account-tiktok-license-file.scenario.json +2 -2
  69. package/eval/cases/optimize-list-by-account.scenario.json +2 -2
  70. package/eval/cases/rag-before-keyword-expand.scenario.json +3 -3
  71. package/eval/cases/rag-list-then-query.scenario.json +2 -2
  72. package/eval/cases/report-list-google.scenario.json +2 -2
  73. package/eval/cases/report-push-list-google.scenario.json +3 -3
  74. package/eval/cases/reporting-vs-account-analytics-routing.scenario.json +4 -4
  75. package/eval/cases/setup-login-or-env.scenario.json +2 -2
  76. package/eval/cases/setup-siluzan-data-permission-env.scenario.json +2 -2
  77. package/eval/cases/skill-optimize-vs-google-ads-distinction.scenario.json +4 -4
  78. package/eval/cases/tiktok-bc-bind-inquiry.scenario.json +2 -2
  79. package/eval/cases/tips-json-filtering.scenario.json +4 -4
  80. package/eval/cases/tips-large-json-pagination.scenario.json +3 -3
  81. package/eval/cases/uj-ad-bluetooth-keywords-exclude-cheap-free.scenario.json +1 -1
  82. package/eval/cases/uj-ad-campaign-validate-before-create-stub.scenario.json +2 -2
  83. package/eval/cases/uj-ad-keywords-camping-tent-outdoor-plan.scenario.json +1 -1
  84. package/eval/cases/uj-ad-outdoor-campgear-search-plan.scenario.json +3 -3
  85. package/eval/cases/uj-analytics-30d-pdf-campaign-device-geo.scenario.json +2 -2
  86. package/eval/cases/uj-analytics-compare-google-tiktok-last-month-roi.scenario.json +1 -1
  87. package/eval/cases/uj-analytics-google-weekly-trends-campaigns-keywords.scenario.json +2 -2
  88. package/eval/cases/uj-analytics-report-push-weekly-email.scenario.json +3 -3
  89. package/eval/cases/uj-finance-invoice-records-this-month.scenario.json +2 -2
  90. package/eval/cases/uj-life-newbie-siluzan-google-end-to-end.scenario.json +2 -2
  91. package/eval/cases/uj-ops-google-accounts-list-normal.scenario.json +2 -2
  92. package/eval/cases/uj-ops-google-yesterday-spend-conversions.scenario.json +2 -2
  93. package/eval/cases/uj-ops-open-google-b2c-usd-shenzhen.scenario.json +3 -3
  94. package/eval/cases/uj-ops-pause-worst-adgroup-confirm.scenario.json +2 -2
  95. package/eval/cases/uj-ops-tiktok-leads-last-week.scenario.json +2 -2
  96. package/eval/cases/uj-patrol-cpc-spike-adgroups-over-15.scenario.json +3 -3
  97. package/eval/cases/uj-patrol-forewarning-create-daily-cap-3000.scenario.json +3 -3
  98. package/eval/cases/uj-patrol-forewarning-trigger-records.scenario.json +2 -2
  99. package/eval/cases/uj-patrol-google-balances-low.scenario.json +2 -2
  100. package/eval/cases/uj-roi-full-google-account-diagnosis.scenario.json +1 -1
  101. package/eval/cases/uj-roi-keywords-high-cpa-low-cvr-triage.scenario.json +1 -1
  102. package/eval/cases/uj-roi-optimize-records-then-execute-cautiously.scenario.json +2 -2
  103. package/eval/cases/uj-roi-search-terms-add-negative-keywords.scenario.json +2 -2
  104. package/package.json +2 -2
  105. package/dist/skill/references/hosted-automation-scenarios.md +0 -23
  106. package/dist/skill/references/hosted-automation-user-catalog.md +0 -38
  107. /package/dist/skill/references/{write-audit-restore.md → accounts/write-audit-restore.md} +0 -0
  108. /package/dist/skill/references/{geo-continents.json → analytics/geo-continents.json} +0 -0
  109. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-account-audit.md +0 -0
  110. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-audience-strategy.md +0 -0
  111. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-campaign-optimization.md +0 -0
  112. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-compliance.md +0 -0
  113. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-conversion-architecture.md +0 -0
  114. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-creative-optimization.md +0 -0
  115. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-keyword-optimization.md +0 -0
  116. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-keyword-strategy.md +0 -0
  117. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/google-ads-landing-page-discovery-via-webfetch.md +0 -0
  118. /package/dist/skill/references/{google-ads-rules → google-ads/rules}/sensitive-industries.md +0 -0
  119. /package/dist/skill/references/{clue.md → operations/clue.md} +0 -0
  120. /package/dist/skill/references/{forewarning.md → operations/forewarning.md} +0 -0
  121. /package/dist/skill/references/{optimize.md → operations/optimize.md} +0 -0
@@ -9,37 +9,35 @@
9
9
 
10
10
  宿主编排相关文档(**入口** + 两份子页):
11
11
 
12
- - **`references/hosted-automation-scenarios.md`** — 索引与导航
13
- - **`references/hosted-automation-self-control.md`** — 三类场景(**单日预算熔断**、**CPA 飙升降价**、**连续空耗暂停**)的逐步命令、字段对照、系数与复核
14
- - **`references/hosted-automation-monitoring-json.md`** — 异常监控(余额/`campaign-hour`/落地页/拒审等 **`--json` 键名与命令**)
15
- - **`references/hosted-automation-optimize-index.md`** — 自动优化(差素材降价/关停、高转化扩量、A/B 决胜负)**分文件 SOP**
12
+ - **`references/operations/hosted-automation-scenarios.md`** — 索引与导航
13
+ - **`references/operations/hosted-automation-self-control.md`** — 三类场景(**单日预算熔断**、**CPA 飙升降价**、**连续空耗暂停**)的逐步命令、字段对照、系数与复核
14
+ - **`references/operations/hosted-automation-monitoring-json.md`** — 异常监控(余额/`campaign-hour`/落地页/拒审等 **`--json` 键名与命令**)
15
+ - **`references/operations/hosted-automation-optimize-index.md`** — 自动优化(差素材降价/关停、高转化扩量、A/B 决胜负)**分文件 SOP**
16
16
 
17
- 本文件其余章节仍为其他业务流程;实现上述自控、监控或自动优化时按需打开子页,并配合 `references/tips.md`(`--json`)、`references/google-ads.md`(写命令与拒审字段)、`references/account-analytics.md`(时间窗与报表)、`references/accounts.md`(`balance` / `balance-scan`)。
17
+ 本文件其余章节仍为其他业务流程;实现上述自控、监控或自动优化时按需打开子页,并配合 `references/core/tips.md`(`--json`)、`references/google-ads/google-ads.md`(写命令与拒审字段)、`references/analytics/account-analytics.md`(时间窗与报表)、`references/accounts/accounts.md`(`balance` / `balance-scan`)。
18
18
 
19
19
  ---
20
20
 
21
21
  ## 关键词规划师(拓词 / 词包)
22
22
 
23
- **`references/keyword-planner-workflows.md`**:`keyword` / `google-analysis` 拓词编排;**不含**建户 JSON(见下节)。
23
+ **`references/analytics/keyword-planner-workflows.md`**:`keyword` / `google-analysis` 拓词编排;**不含**建户 JSON(见下节)。
24
24
 
25
25
  ## Google 搜索系列方案 + 创建(Agent)
26
26
 
27
- **`references/google-ads-campaign-plan.md`**:双轨入口、7 步流水线、`campaign-validate` 门禁、`campaign-create` + batch。字段契约见 `assets/campaign-create-template.md`;命令参数见 `references/google-ads.md`。
27
+ **`references/google-ads/google-ads-campaign-plan.md`**:双轨入口、7 步流水线、`campaign-validate` 门禁、`campaign-create` + batch。字段契约见 `assets/campaign-create-template.md`;命令参数见 `references/google-ads/google-ads.md`。
28
28
 
29
29
  ---
30
30
 
31
31
  ## 流程一:新账户开通(Google / TikTok / Yandex / Bing / Kwai)
32
32
 
33
- 对应页面:`/accountOpeningHistory`
33
+ **主文档**:`references/accounts/open-account-by-media.md`(各媒体命令与参数)。Google 网页对照见 `accounts/open-account-google-ui.md`。
34
34
 
35
- > **网页完整链接(微前端)**:`{webUrl}/v3/foreign_trade/tso/accountOpeningHistory?tso=%2Fv3umijs%2Ftso%2FaccountOpeningHistory`(与 CLI `account-history` 同源数据)。开户提交后若需用户在网页确认,应打开此「开户记录」页,**不要**误链到「媒体账户」`manageAccounts`。
36
-
37
- ### 业务背景
38
-
39
- 用户在丝路赞上还没有某媒体账户时,需要提交开户申请并跟踪审核进度。**各媒体所需资料和命令参数完全不同,不要混用。**
35
+ 对应页面:`/accountOpeningHistory`。网页链接:`{webUrl}/v3/foreign_trade/tso/accountOpeningHistory?tso=%2Fv3umijs%2Ftso%2FaccountOpeningHistory`。
40
36
 
41
37
  > **AI Agent 注意**:`open-account google-wizard` 需要真实 TTY,Agent 环境无法使用,始终用非交互命令。
42
38
 
39
+ 以下保留完整示例供 workflows 内联阅读;维护时以 `accounts/open-account-by-media.md` 为准。
40
+
43
41
  ---
44
42
 
45
43
  ### Google 开户
@@ -206,7 +204,7 @@ siluzan-tso account-history -m Google
206
204
 
207
205
  ## 流程二:AI 智投创建 → 审核 → 发布
208
206
 
209
- 对应页面:`/advertising/AICreation`(创建向导)、`/advertising/AICreationList`(记录列表)。`ad batch` 命令见 **`references/google-ads.md`** § ad batch。
207
+ 对应页面:`/advertising/AICreation`(创建向导)、`/advertising/AICreationList`(记录列表)。`ad batch` 命令见 **`references/google-ads/google-ads.md`** § ad batch。
210
208
 
211
209
  ### 业务背景
212
210
 
@@ -281,14 +279,14 @@ Failed / HasFailed(部分或全部失败)
281
279
  ├─ 有已保存的 AI 智投草稿(网页向导填写的)?
282
280
  │ └─ 是 → 流程二(ad batch update/publish)
283
281
  ├─ 需先出投放方案(口述/官网/拓词)?
284
- │ └─ 是 → references/google-ads-campaign-plan.md → campaign-validate → campaign-create
282
+ │ └─ 是 → references/google-ads/google-ads-campaign-plan.md → campaign-validate → campaign-create
285
283
  └─ 已有完整 JSON 或结构化计划?
286
284
  └─ 是 → 本流程(campaign-validate → campaign-create)
287
285
  ```
288
286
 
289
287
  ### 场景 A:一体化创建(系列 + 关键词 + 广告,推荐)
290
288
 
291
- **方案阶段**:按 **`references/google-ads-campaign-plan.md`**(JSON → `campaign-validate` → Markdown → 用户确认 → create)。下文为命令串联速查。
289
+ **方案阶段**:按 **`references/google-ads/google-ads-campaign-plan.md`**(JSON → `campaign-validate` → Markdown → 用户确认 → create)。下文为命令串联速查。
292
290
 
293
291
  ```bash
294
292
  # 前置:地域 ID 写入 JSON(campaign.targetedLocations[].id)
@@ -388,7 +386,7 @@ siluzan-tso ad keyword-negative-delete -a <mediaCustomerId> --id <negKwId>
388
386
 
389
387
  ## 流程四:AI 广告优化建议查看与执行
390
388
 
391
- 对应页面:`/advertising/intelligentOptimization`(v2)。`optimize` 命令与脱管账户说明见 **`references/optimize.md`**。
389
+ 对应页面:`/advertising/intelligentOptimization`(v2)。`optimize` 命令与脱管账户说明见 **`references/operations/optimize.md`**。
392
390
 
393
391
  ### 业务背景
394
392
 
@@ -496,7 +494,7 @@ siluzan-tso ad campaign-status -a <mediaCustomerId> --id <campaignId> --status P
496
494
 
497
495
  ## 流程六:优化报告生成 → 推送管理
498
496
 
499
- 对应页面:`/dataReport/optimizationReport`、`/dataReport/pushRecord`。命令与接口详解见 **`references/reporting.md`**。
497
+ 对应页面:`/dataReport/optimizationReport`、`/dataReport/pushRecord`。命令与接口详解见 **`references/analytics/reporting.md`**。
500
498
 
501
499
  ### 业务背景
502
500
 
@@ -545,7 +543,7 @@ siluzan-tso report delete --ids <id1>,<id2>
545
543
 
546
544
  ## 流程六点五:账户分析报告(CLI 拉数 + Agent 撰稿)
547
545
 
548
- 对应能力:`google-analysis`、`report meta-overview`、`report tiktok-*`、`report bing-*` 与 `report-templates/*.md`。子命令与模板索引见 **`references/account-analytics.md`**。
546
+ 对应能力:`google-analysis`、`report meta-overview`、`report tiktok-*`、`report bing-*` 与 `report-templates/*.md`。子命令与模板索引见 **`references/analytics/account-analytics.md`**。
549
547
 
550
548
  ### 与流程六的区别
551
549
 
@@ -590,7 +588,7 @@ siluzan-tso invoice apply \
590
588
  --recipient-name "张三" \
591
589
  --recipient-phone 13800138000
592
590
 
593
- # 人民币订单请使用 --invoice-type VATI 或 VATSI,并填写 --company-name、--tax-id、--title、--company-phone 等(见 finance.md)
591
+ # 人民币订单请使用 --invoice-type VATI 或 VATSI,并填写 --company-name、--tax-id、--title、--company-phone 等(见 accounts/finance.md)
594
592
 
595
593
  # 第三步:查询开票申请状态
596
594
  siluzan-tso invoice list --start 2026-03-01
@@ -600,7 +598,7 @@ siluzan-tso invoice list --start 2026-03-01
600
598
 
601
599
  ## 流程八:广告线索数据提取与跟进
602
600
 
603
- 对应页面:`/clue-form`。`clue` 命令参数见 **`references/clue.md`**。
601
+ 对应页面:`/clue-form`。`clue` 命令参数见 **`references/operations/clue.md`**。
604
602
 
605
603
  ### 业务背景
606
604
 
@@ -823,7 +821,7 @@ siluzan-tso account auth -m Google
823
821
 
824
822
  | 诊断评级 | 建议操作 |
825
823
  | ---------------- | ---------------------------------------------------- |
826
- | 优秀(85分以上) | 可直接投放;CLI 方案轨见 `google-ads-campaign-plan.md` |
824
+ | 优秀(85分以上) | 可直接投放;CLI 方案轨见 `google-ads/google-ads-campaign-plan.md` |
827
825
  | 良好(70-84分) | 建议优化后投放,可先小预算测试 |
828
826
  | 一般(60-69分) | 重点改善转化代码和页面速度后再投 |
829
827
  | 较差(60分以下) | 需先修复关键问题(参考诊断报告),否则广告效果会很差 |
@@ -903,7 +901,7 @@ siluzan-tso config show # 取 webUrl
903
901
  siluzan-tso account-active-bills -m Google --id <entityId> [--json]
904
902
  ```
905
903
 
906
- 详见 `references/accounts.md` 中 **account-active-bills**。
904
+ 详见 `references/accounts/accounts.md` 中 **account-active-bills**。
907
905
 
908
906
  ### 场景 E:Google 邮箱授权管理
909
907
 
@@ -949,6 +947,6 @@ siluzan-tso account-history -m Google
949
947
  ```
950
948
 
951
949
  3. **首页「服务推荐」跳转 AI / 建站 / 内容等**
952
- → 属其他产品线,见 **`references/tso-home.md`** 中的外链说明,勿用 `siluzan-tso` 冒充。
950
+ → 属其他产品线,见 **`references/misc/misc/tso-home.md`** 中的外链说明,勿用 `siluzan-tso` 冒充。
953
951
 
954
- **详细模块与接口对照** → **`references/tso-home.md`**。
952
+ **详细模块与接口对照** → **`references/misc/misc/tso-home.md`**。
@@ -1,6 +1,6 @@
1
1
  # Google 搜索广告:方案生成与系列创建
2
2
 
3
- > 所属 skill:`siluzan-tso`。**新建/规划搜索系列时 Read 本文件**,再按需打开下表子文档。命令参数与 CRUD 见 `references/google-ads.md`。
3
+ > 所属 skill:`siluzan-tso`。**新建/规划搜索系列时 Read 本文件**,再按需打开下表子文档。命令参数与 CRUD 见 `references/google-ads/google-ads.md`。
4
4
 
5
5
  ---
6
6
 
@@ -13,7 +13,7 @@
13
13
 
14
14
  - 可执行真相只有 **JSON**(`assets/campaign-create-template.json` 同构);Markdown 只读投影。
15
15
  - 改需求 **只改 JSON**,再 `campaign-validate`,再刷新 Markdown。
16
- - **PMax 系列创建暂未开放**:勿用 `ad pmax-*` 搭建命令;请在 Google Ads UI 操作。运营诊断(只读)见 `google-ads-rules/google-ads-pmax-guide.md`。
16
+ - **PMax 系列创建**走独立流水线(勿用本文件 JSON 模板):`assets/pmax-create-template.md` + `ad pmax-validate` / `ad pmax-create`;运营诊断见 `google-ads/rules/google-ads-pmax-guide.md`。
17
17
  - 搜索网络:仅 Google 搜索(`TargetSearchNetwork`/`TargetContentNetwork`/`TargetPartnerSearchNetwork` 均为 false)。
18
18
 
19
19
  ---
@@ -22,16 +22,16 @@
22
22
 
23
23
  | 步 | 动作 | 文档/命令 |
24
24
  |----|------|-----------|
25
- | 1 | `list-accounts` 锁定 `account` / `customerName` / 币种 | `references/currency.md` |
26
- | 2 | 可选 `rag query`;`keyword` / `keyword geo-list` 拓词 | `references/keyword-planner-workflows.md` |
27
- | 3 | 按分层规则写入 `KeywordsForBatchJob`(Exact/Phrase/Broad) | `google-ads-rules/google-ads-keyword-taxonomy.md`(参考,非 CLI 强制) |
25
+ | 1 | `list-accounts` 锁定 `account` / `customerName` / 币种 | `references/accounts/currency.md` |
26
+ | 2 | 可选 `rag query`;`keyword` / `keyword geo-list` 拓词 | `references/analytics/keyword-planner-workflows.md` |
27
+ | 3 | 按分层规则写入 `KeywordsForBatchJob`(Exact/Phrase/Broad) | `google-ads/rules/google-ads-keyword-taxonomy.md`(参考,非 CLI 强制) |
28
28
  | 4 | 填 `campaign`(预算/出价/地域/否词≥20/RSA/附加信息) | `assets/campaign-create-template.md` |
29
29
  | 5 | **`ad campaign-validate --config-file <json>`**(失败只改 JSON;超长见下文「超长人工确认」) | 下文「校验」 |
30
30
  | 6 | 输出:**JSON 代码块** → **Markdown**(`google-ads-launch-plan-template.md` 正文)→ 待确认 | — |
31
- | 7 | 用户确认后 **`ad campaign-create`** | `google-ads.md`|
31
+ | 7 | 用户确认后 **`ad campaign-create`** | `google-ads/google-ads.md`|
32
32
  | 8 | 每隔5s 获取创建结果| `ad batch get --id <taskId> --config-file ./campaign.json` |
33
33
  | 9 | 创建失败根据失败原因修改json重新走创建流程,部分成功/成功/部分失败:都调用来做最后一步调整 `ad batch diff --batch-id <taskId> --config-file ./campaign.json` | |
34
- | 10 | 输出所有失败的内容与原因,并询问用户是否需要修改后单独添加到系列中如果用户要求是则读取 `references\google-ads.md` 来获取对应缺失部分的创建命令 |
34
+ | 10 | 输出所有失败的内容与原因,并询问用户是否需要修改后单独添加到系列中如果用户要求是则读取 `references\google-ads/google-ads.md` 来获取对应缺失部分的创建命令 |
35
35
 
36
36
 
37
37
 
@@ -45,26 +45,26 @@
45
45
 
46
46
  | 文档 | 用途 |
47
47
  |------|------|
48
- | `google-ads-rules/google-ads-keyword-taxonomy.md` | 核心/长尾与匹配块**建议**(Agent 参考,CLI 不强制) |
49
- | `google-ads-rules/google-ads-compliance.md` | 词与文案合规 |
50
- | `google-ads-rules/sensitive-industries.md` | 敏感行业(若相关) |
51
- | `google-ads-rules/google-ads-launch-plan-template.md` | 用户可见 Markdown 结构与 RSA/否词表 |
52
- | `google-ads-rules/google-ads-creative-optimization.md` | RSA 12–15 条、Callout/Sitelink |
48
+ | `google-ads/rules/google-ads-keyword-taxonomy.md` | 核心/长尾与匹配块**建议**(Agent 参考,CLI 不强制) |
49
+ | `google-ads/rules/google-ads-compliance.md` | 词与文案合规 |
50
+ | `google-ads/rules/sensitive-industries.md` | 敏感行业(若相关) |
51
+ | `google-ads/rules/google-ads-launch-plan-template.md` | 用户可见 Markdown 结构与 RSA/否词表 |
52
+ | `google-ads/rules/google-ads-creative-optimization.md` | RSA 12–15 条、Callout/Sitelink |
53
53
  | `assets/campaign-create-template.md` | JSON 字段契约 |
54
54
 
55
55
  ### 按需(触及时再读)
56
56
 
57
57
  | 文档 | 何时 |
58
58
  |------|------|
59
- | `google-ads-rules/google-ads-keyword-strategy.md` | 分组/匹配/否定词策略争议 |
60
- | `google-ads-rules/google-ads-campaign-optimization.md` | 出价策略、预算、学习期 |
61
- | `google-ads-rules/google-ads-landing-page-discovery-via-webfetch.md` | 仅首页、需推断 PDP/PLP |
62
- | `google-ads-rules/google-ads-conversion-architecture.md` | 转化/EC/归因说明 |
63
- | `google-ads-rules/google-ads-keyword-optimization.md` | 上线后优化,非首建 |
64
- | `google-ads-rules/google-ads-account-audit.md` | 账户诊断,非首建 |
65
- | `google-ads-rules/google-ads-audience-strategy.md` | 受众/RLSA |
66
- | `google-ads-rules/google-ads-pmax-guide.md` | PMax 运营/诊断(只读参考;**CLI 搭建暂未开放**) |
67
- | `references/pmax-api.md` | PMax 网关路径(开发参考;生产勿调用搭建命令) |
59
+ | `google-ads/rules/google-ads-keyword-strategy.md` | 分组/匹配/否定词策略争议 |
60
+ | `google-ads/rules/google-ads-campaign-optimization.md` | 出价策略、预算、学习期 |
61
+ | `google-ads/rules/google-ads-landing-page-discovery-via-webfetch.md` | 仅首页、需推断 PDP/PLP |
62
+ | `google-ads/rules/google-ads-conversion-architecture.md` | 转化/EC/归因说明 |
63
+ | `google-ads/rules/google-ads-keyword-optimization.md` | 上线后优化,非首建 |
64
+ | `google-ads/rules/google-ads-account-audit.md` | 账户诊断,非首建 |
65
+ | `google-ads/rules/google-ads-audience-strategy.md` | 受众/RLSA |
66
+ | `google-ads/rules/google-ads-pmax-guide.md` | PMax 运营/诊断;**创建**见 `assets/pmax-create-template.md` |
67
+ | `references/google-ads/pmax-api.md` | PMax 网关路径与 Search API 边界 |
68
68
 
69
69
  复述给用户:**3–5 条**与本次任务相关的合规/策略要点即可,无需罗列全部文件名。
70
70
 
@@ -98,5 +98,5 @@ validate 与 create **共用** `runCampaignCreateValidation`:词面规范化 +
98
98
 
99
99
  ## 已上线后的修改
100
100
 
101
- - **勿**用 `campaign-create` 覆盖已有系列;用 `ad campaign-edit` / `adgroup-*` / `keyword-*` / `ad-edit` 等(见 `google-ads.md`)。
101
+ - **勿**用 `campaign-create` 覆盖已有系列;用 `ad campaign-edit` / `adgroup-*` / `keyword-*` / `ad-edit` 等(见 `google-ads/google-ads.md`)。
102
102
  - 若属「推倒重建」:更新 JSON → validate → 新系列 `campaign-create` 或删系列后重提。
@@ -25,24 +25,20 @@
25
25
 
26
26
  ## 新建广告系列(方案 + 创建)
27
27
 
28
- > **Search 流程与校验**:`references/google-ads-campaign-plan.md`。本文件只写 **命令参数**(`campaign-validate` / `campaign-create` / `batch` 见下文各节)。
28
+ > **Search 流程与校验**:`references/google-ads/google-ads-campaign-plan.md`。本文件只写 **命令参数**(`campaign-validate` / `campaign-create` / `batch` 见下文各节)。
29
29
 
30
30
  ---
31
31
 
32
32
  ## 新建 Performance Max(PMax)
33
33
 
34
- > **⛔ 暂未开放(生产)**:PMax CLI 搭建/写入能力仍在测试,**禁止** Agent 或用户通过 `ad pmax-create` / `pmax-validate` / `pmax-edit` 等命令操作。请在 **Google Ads UI** 新建与管理 PMax。本地联调可设环境变量 `SILUZAN_PMAX_SETUP=1` 后使用 CLI(开发专用)。
35
- >
36
- > 下列命令文档保留供后续上线参考,**当前勿执行**。
37
-
38
- > **与 Search 隔离**:勿用 `campaign-create` 或 `campaign-create-template.json`。网关摘录见 `references/pmax-api.md`。
34
+ > **与 Search 隔离**:勿用 `campaign-create` `campaign-create-template.json`。网关摘录见 `references/google-ads/pmax-api.md`。
39
35
 
40
36
  | 步骤 | 命令 |
41
37
  |------|------|
42
38
  | 模板 | 复制 `assets/pmax-create-template.json`,字段见 `assets/pmax-create-template.md` |
43
39
  | **素材转换** | `siluzan-tso ad pmax-image-convert --input ./banner.jpg --output-dir ./assets --prefix <name> [--update-config ./pmax.json]` |
44
40
  | 地理 ID | `siluzan-tso ad geo search -a <accountId> -q "<地区名>"` |
45
- | 校验 | `siluzan-tso ad pmax-validate --config-file ./pmax.json [--json-out ./snap-pmax]`(含图片尺寸/比例/大小校验) |
41
+ | 校验 | `siluzan-tso ad pmax-validate --config-file ./pmax.json [--json-out ./snap-pmax]`(图片规格 + 文案超长 `lengthViolations`;超长勿自动截断,见 `google-ads/google-ads-campaign-plan.md` § 超长人工确认) |
46
42
  | 创建 | `siluzan-tso ad pmax-create --config-file ./pmax.json [--json-out ./snap-pmax]` |
47
43
  | 复核 | `siluzan-tso ad campaigns -a <accountId> --json` → `channelTypeV2` 为 `PERFORMANCE_MAX` |
48
44
 
@@ -70,13 +66,13 @@
70
66
  | 报表 | `ad pmax-report-asset-groups` / `ad pmax-report-geo` |
71
67
  | 删活动 | `ad campaign-delete -a <id> --id <campaignId>`(与 Search 共用;勿用 `ad campaign-edit`) |
72
68
 
73
- 模板与 HTTP 对照:`references/pmax-api.md`。
69
+ 模板与 HTTP 对照:`references/google-ads/pmax-api.md`。
74
70
 
75
71
  ---
76
72
 
77
73
  ## 广告的编辑
78
74
 
79
- 已上线系列勿用 `campaign-create` 覆盖;改方案/重建见 **`google-ads-campaign-plan.md`** § 已上线后的修改;分步 CRUD 用下文 `ad *-edit` 等,写后读命令复核。
75
+ 已上线系列勿用 `campaign-create` 覆盖;改方案/重建见 **`google-ads/google-ads-campaign-plan.md`** § 已上线后的修改;分步 CRUD 用下文 `ad *-edit` 等,写后读命令复核。
80
76
 
81
77
  ### 广告新增
82
78
 
@@ -151,7 +147,7 @@ done
151
147
 
152
148
  **幂等性(Agent 侧)**:CLI 当前无 `--idempotent` 参数,请脚本侧先用 `ad groups --json` / `ad keywords --json` / `ad list --json` / `ad extension list --json` 取已有实体清单,按 `name + adgroupId` 等键过滤待创建项;HTTP 400 多半是重复创建,建议捕获并跳过。
153
149
 
154
- **字符上限**(Agent 侧校验):标题 ≤30、描述 ≤90、CALLOUT ≤25、Sitelink Text ≤25。CJK 字符按 2 计(Google 规范),`google-ads-rules/google-ads-compliance.md` 有详细规则。
150
+ **字符上限**(Agent 侧校验):标题 ≤30、描述 ≤90、CALLOUT ≤25、Sitelink Text ≤25。CJK 字符按 2 计(Google 规范),`google-ads/rules/google-ads-compliance.md` 有详细规则。
155
151
 
156
152
  ---
157
153
 
@@ -304,24 +300,24 @@ siluzan-tso ad batch publish --id <recordId>
304
300
 
305
301
  ## keyword — 关键字推荐
306
302
 
307
- 多场景编排(竞品 URL + 种子、账户词叠市场指标、否词与建户表等)见 **`references/keyword-planner-workflows.md`**。
303
+ 多场景编排(竞品 URL + 种子、账户词叠市场指标、否词与建户表等)见 **`references/analytics/keyword-planner-workflows.md`**。
308
304
 
309
305
  ```bash
310
306
  siluzan-tso keyword -k <搜索词> [--geo <geoTargetConstantIds>] [--url <url>] [--google-only] [--include <words>] [--exclude <words>] [--json] [--json-out <dir>]
311
307
  siluzan-tso keyword geo-list [--country-code <US,CN,...>] [--name-contains <text>] [--json]
312
308
  ```
313
309
 
314
- `--geo` 传多个 ID(如 `2840,2826`)时,返回的搜索量/CPC/竞争度为**跨所传地区的汇总数据**,响应中**无**按地区拆分的字段。若要分别查看各市场指标,须**多次调用**且每次 `--geo` **只传一个** ID(详见 **`references/keyword-planner-workflows.md`**「多地区 `--geo`」)。
310
+ `--geo` 传多个 ID(如 `2840,2826`)时,返回的搜索量/CPC/竞争度为**跨所传地区的汇总数据**,响应中**无**按地区拆分的字段。若要分别查看各市场指标,须**多次调用**且每次 `--geo` **只传一个** ID(详见 **`references/analytics/keyword-planner-workflows.md`**「多地区 `--geo`」)。
315
311
 
316
- `--url` 触发网址拓词(`websitereco`)并合并进结果;与 `--google-only` 互斥(仅 Google Keyword Planner 时用后者)。`--include`/`--exclude` 为本地过滤。仅 Google、不联网搜索的 Agent 编排见 **`references/keyword-planner-workflows.md`**「分支 B」。
312
+ `--url` 触发网址拓词(`websitereco`)并合并进结果;与 `--google-only` 互斥(仅 Google Keyword Planner 时用后者)。`--include`/`--exclude` 为本地过滤。仅 Google、不联网搜索的 Agent 编排见 **`references/analytics/keyword-planner-workflows.md`**「分支 B」。
317
313
 
318
314
  ---
319
315
 
320
316
  ## ad campaign-validate — 投放 JSON 校验
321
317
 
322
- 不提交 API;创建系列前**建议**跑。命令、选项、与 create 共用校验逻辑见 **`references/google-ads-campaign-plan.md`** § 校验与创建(后端/Google 硬约束,不含关键词分层占比)。
318
+ 不提交 API;创建系列前**建议**跑。命令、选项、与 create 共用校验逻辑见 **`references/google-ads/google-ads-campaign-plan.md`** § 校验与创建(后端/Google 硬约束,不含关键词分层占比)。
323
319
 
324
- **超长内容**:加 **`--json-out <dir>`**(推荐,与 create/batch 共用目录)或 `--json` 时响应含 `lengthViolations`(完整 `text` + JSON `path`)。Agent **勿自动截断**;须列出全部超长项与改写方案,用户确认后再改 JSON 并重跑 validate(流程见 `google-ads-campaign-plan.md` § 超长人工确认)。
320
+ **超长内容**:加 **`--json-out <dir>`**(推荐,与 create/batch 共用目录)或 `--json` 时响应含 `lengthViolations`(完整 `text` + JSON `path`)。Agent **勿自动截断**;须列出全部超长项与改写方案,用户确认后再改 JSON 并重跑 validate(流程见 `google-ads/google-ads-campaign-plan.md` § 超长人工确认)。
325
321
 
326
322
  ---
327
323
 
@@ -1,7 +1,5 @@
1
1
  # Performance Max 网关 API(CLI 对照)
2
2
 
3
- > **⛔ 暂未开放(生产)**:PMax CLI 搭建/写入仍在测试。Skill 路由已屏蔽;CLI 默认拒绝 `pmax-create` 等写入命令。请在 Google Ads UI 操作,或本地设 `SILUZAN_PMAX_SETUP=1` 联调。
4
- >
5
3
  > 完整契约:Sammamish `src/GoogleAPI/docs/pmax-frontend-api.md`
6
4
 
7
5
  ---
@@ -0,0 +1,21 @@
1
+ # Google Ads 优化与合规规则
2
+
3
+ > 本目录为 **策略/SOP 文档**,非 CLI 参数表。命令与字段见 `references/google-ads/google-ads.md`;新建流程见 `google-ads/google-ads-campaign-plan.md`。
4
+
5
+ | 文件 | 何时 Read |
6
+ | ---- | --------- |
7
+ | `google-ads-account-audit.md` | 账户健康度审计、结构诊断 |
8
+ | `google-ads-campaign-optimization.md` | 系列层优化决策 |
9
+ | `google-ads-keyword-strategy.md` | 关键词策略规划 |
10
+ | `google-ads-keyword-optimization.md` | 关键词出价/否定/扩词优化 |
11
+ | `google-ads-keyword-taxonomy.md` | 词类分层与命名 |
12
+ | `google-ads-creative-optimization.md` | 创意/文案优化 |
13
+ | `google-ads-audience-strategy.md` | 受众策略 |
14
+ | `google-ads-pmax-guide.md` | PMax 运营指南(配合 `assets/pmax-create-template.md`) |
15
+ | `google-ads-conversion-architecture.md` | 转化追踪架构 |
16
+ | `google-ads-compliance.md` | 合规与政策 |
17
+ | `google-ads-landing-page-discovery-via-webfetch.md` | 落地页发现(WebFetch) |
18
+ | `google-ads-launch-plan-template.md` | 上线计划模板 |
19
+ | `sensitive-industries.md` | 敏感行业限制 |
20
+
21
+ 宿主编排下的自动优化分文件 SOP:`references/operations/hosted-automation-optimize-index.md`。
@@ -1,7 +1,7 @@
1
1
  # Google 搜索广告关键词分层与数量规范(Agent 参考)
2
2
 
3
3
  > 所属 skill:`siluzan-tso`。本文为**方案撰写参考**,**不由** `ad campaign-validate` / `ad campaign-create` 强制执行。
4
- > 建户 JSON 契约与 CLI 硬约束见 `assets/campaign-create-template.md`、`references/google-ads-campaign-plan.md`。
4
+ > 建户 JSON 契约与 CLI 硬约束见 `assets/campaign-create-template.md`、`references/google-ads/google-ads-campaign-plan.md`。
5
5
 
6
6
  ---
7
7
 
@@ -54,7 +54,7 @@
54
54
  | 技术词 | api/sdk/integration | payment sdk integration |
55
55
  | 问题词 | how to + 问题 | how to reduce failed payments |
56
56
 
57
- 拓词编排见 `references/keyword-planner-workflows.md`;Planner 出价见 `averageCpc` / `lowTopOfPageBid` / `highTopOfPageBid` 与根级、每条 `bidAmountCurrency`。
57
+ 拓词编排见 `references/analytics/keyword-planner-workflows.md`;Planner 出价见 `averageCpc` / `lowTopOfPageBid` / `highTopOfPageBid` 与根级、每条 `bidAmountCurrency`。
58
58
 
59
59
  ---
60
60
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 所属 skill:`siluzan-tso`。
4
4
  >
5
- > 用途:从已确认的 `campaign-create` JSON **投影**用户可见的 Markdown 表格(勿与 JSON 矛盾)。流程与门禁见 `references/google-ads-campaign-plan.md`。
5
+ > 用途:从已确认的 `campaign-create` JSON **投影**用户可见的 Markdown 表格(勿与 JSON 矛盾)。流程与门禁见 `references/google-ads/google-ads-campaign-plan.md`。
6
6
  > 触发:用户要投放方案/确认稿;**先完成 JSON + validate,再填本模板正文**。
7
7
  >
8
8
  > 字段契约:`assets/campaign-create-template.json` + `campaign-create-template.md`
@@ -134,7 +134,7 @@ AI 生成计划时,**先写好 JSON,再按以下格式输出说明**。`{{
134
134
  | 出价策略(次月) | {{如:近 30 天满 30 个目标转化后,切换为目标每次转化费用 tCPA = $X}} | {{同逻辑或单独写 tCPA}} | {{…}} |
135
135
  | 广告轮换 | 优先展示效果最佳的广告 | 同左 | 同左 |
136
136
 
137
- > **落地页(搜索方案)**:**优先**各广告组使用 **产品详情页(PDP)** URL;若无 PDP 则使用 **产品列表/分类页(PLP)**,并在表中标注与关键词意图的对应关系。若用户仅提供首页,助手侧推断 PDP/PLP 的流程见 `references/google-ads-rules/google-ads-landing-page-discovery-via-webfetch.md`。各系列默认 URL 仍在下方广告组/创意节中按组填写;若全账户统一落地页,可在本表下增加一行「默认落地页 | {{URL}}(PDP/PLP)」。
137
+ > **落地页(搜索方案)**:**优先**各广告组使用 **产品详情页(PDP)** URL;若无 PDP 则使用 **产品列表/分类页(PLP)**,并在表中标注与关键词意图的对应关系。若用户仅提供首页,助手侧推断 PDP/PLP 的流程见 `references/google-ads/rules/google-ads-landing-page-discovery-via-webfetch.md`。各系列默认 URL 仍在下方广告组/创意节中按组填写;若全账户统一落地页,可在本表下增加一行「默认落地页 | {{URL}}(PDP/PLP)」。
138
138
 
139
139
  ---
140
140
 
@@ -204,7 +204,7 @@ AI 生成计划时,**先写好 JSON,再按以下格式输出说明**。`{{
204
204
  | … | … | … | … |
205
205
  | Headline 15(上限) | {{文案}} | {{N}} | 自由轮换 |
206
206
 
207
- (Headlines **推荐 12–15 条**;主题分配仍参考 `references/google-ads-rules/google-ads-creative-optimization.md` 1.2 六类主题法。)
207
+ (Headlines **推荐 12–15 条**;主题分配仍参考 `references/google-ads/rules/google-ads-creative-optimization.md` 1.2 六类主题法。)
208
208
 
209
209
  | 资产类型 | 广告文案 | 字符数 | 后台设置指令 |
210
210
  | ------------- | -------- | ------ | -------------------------- |
@@ -225,7 +225,7 @@ Display URL:`{{domain}}/{{path1}}/{{path2}}`(Path1/Path2 各 ≤ 15 字符
225
225
 
226
226
  **数量**:Sitelink **推荐 6–8**;Callout **推荐 6–8**;Structured Snippet **至少 1 组,推荐 1–2 组**,每组 **≥4 值**;**CALL** 有合规号码则 **1 条**;**Lead Form** 按业务 **0–1 套**。
227
227
 
228
- **联系方式**:电话走 **CALL**;**无独立「邮箱」附加信息类型**,邮箱用 **Sitelink** 指向 `mailto:` 或联系页(勿写入 RSA 正文,见 `references/google-ads-rules/google-ads-compliance.md`)。
228
+ **联系方式**:电话走 **CALL**;**无独立「邮箱」附加信息类型**,邮箱用 **Sitelink** 指向 `mailto:` 或联系页(勿写入 RSA 正文,见 `references/google-ads/rules/google-ads-compliance.md`)。
229
229
 
230
230
  #### 附加链接(Sitelinks)
231
231
 
@@ -256,7 +256,7 @@ Display URL:`{{domain}}/{{path1}}/{{path2}}`(Path1/Path2 各 ≤ 15 字符
256
256
  | **每周** | **砍烂词**:某关键词花费 > {{如:$15}} 且无有效转化(或无线索/WhatsApp 等约定动作),**暂停**;**调出价**:有效 B2B/目标动作词可提价 **10%–15%**,争取**绝对页首展示份额** |
257
257
  | **每月** | 核对 CRM/销售数据,算真实 ROI;对「垃圾线索」来源词**降价或暂停**;评估是否满足切换 **tCPA / 智能出价** 的数据门槛|
258
258
 
259
- **阶段总览**(与 `references/google-ads-rules/google-ads-campaign-optimization.md` 可对照,不替代上表日常动作):
259
+ **阶段总览**(与 `references/google-ads/rules/google-ads-campaign-optimization.md` 可对照,不替代上表日常动作):
260
260
 
261
261
  | 阶段 | 时间 | 重点任务 |
262
262
  | -------- | --------- | -------------------------------- |
@@ -284,7 +284,7 @@ Display URL:`{{domain}}/{{path1}}/{{path2}}`(Path1/Path2 各 ≤ 15 字符
284
284
 
285
285
  ## 五、合规检查清单
286
286
 
287
- **条数**:以下 **8 条**逐项勾选(与 `references/google-ads-rules/google-ads-compliance.md` 第十一章呼应,不增删序号以免漏检)。
287
+ **条数**:以下 **8 条**逐项勾选(与 `references/google-ads/rules/google-ads-compliance.md` 第十一章呼应,不增删序号以免漏检)。
288
288
 
289
289
  - [ ] 所有 headline ≤ 30 字符(CJK 按 2 字符/字计算)
290
290
  - [ ] 所有 description ≤ 90 字符
@@ -310,7 +310,7 @@ Display URL:`{{domain}}/{{path1}}/{{path2}}`(Path1/Path2 各 ≤ 15 字符
310
310
 
311
311
  ## 助手执行计划(内部,勿向用户展示或复述)
312
312
 
313
- 用户确认后**仅使用确认版 JSON**;命令与 batch 轮询/diff 见 **`references/google-ads-campaign-plan.md`** § 校验与创建、`references/google-ads.md` § ad campaign-create。
313
+ 用户确认后**仅使用确认版 JSON**;命令与 batch 轮询/diff 见 **`references/google-ads/google-ads-campaign-plan.md`** § 校验与创建、`references/google-ads/google-ads.md` § ad campaign-create。
314
314
 
315
315
  **硬规则**(须已在 JSON 中体现):仅 Google 搜索网络(`TargetGoogleSearch: true`,其余三个 `Target*Network: false`);金额 JSON 填**元**;RSA 图钉/Lead Form 等 CLI 无法表达的项在创建成功后说明需后台补全。
316
316
 
@@ -369,4 +369,4 @@ Display URL:`{{domain}}/{{path1}}/{{path2}}`(Path1/Path2 各 ≤ 15 字符
369
369
 
370
370
  ### 输出格式要求
371
371
 
372
- 交付顺序与改稿规则见文首 **「交付顺序(固定)」** 与 **`references/google-ads-campaign-plan.md`**。补充:用户可见正文不得出现 CLI 命令(JSON 代码块除外);多系列 = 多 JSON + 合并 Markdown(每节标明文件名)。
372
+ 交付顺序与改稿规则见文首 **「交付顺序(固定)」** 与 **`references/google-ads/google-ads-campaign-plan.md`**。补充:用户可见正文不得出现 CLI 命令(JSON 代码块除外);多系列 = 多 JSON + 合并 Markdown(每节标明文件名)。
@@ -4,7 +4,7 @@
4
4
  > **适用场景:** PMax 效果诊断、asset group 优化建议、PMax 与 Search 蚕食分析、Demand Gen 策略
5
5
  > **最后更新:** 2026-04-01
6
6
 
7
- **CLI PMax(Lead Gen / 非 Shopping)**:新建见 `assets/pmax-create-template.md`;上线后 `ad pmax-get` / `pmax-edit` / `pmax-assets-update` / `pmax-signals-*` / 报表见 `references/pmax-api.md`。本指南侧重运营诊断。
7
+ **CLI PMax(Lead Gen / 非 Shopping)**:新建见 `assets/pmax-create-template.md`;上线后 `ad pmax-get` / `pmax-edit` / `pmax-assets-update` / `pmax-signals-*` / 报表见 `references/google-ads/pmax-api.md`。本指南侧重运营诊断。
8
8
 
9
9
  ---
10
10
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  用 `siluzan-tso config show` 读取 **`webUrl`**,再拼接路径:
8
8
 
9
- 首页地址:`https://www.siluzan.com/v3/foreign_trade/tso/home`
9
+ 首页地址:`https://www-ci.siluzan.com/v3/foreign_trade/tso/home`
10
10
 
11
11
  > 若用户已登录 TSO,也可从左侧菜单进入「首页」。
12
12
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  - 单账户余额、消耗趋势:**`balance`**、**`stats`**(Google 走新版 `account-spend-overview`,含今天会切实时模式;其余媒体仍是 `accountsoverview`),需已知 `mediaCustomerId`。
38
38
  - 开户进度:**`account-history`**、**`open-account`** 系列。
39
- - **充值**:无 CLI,见 `references/finance.md`,用 `webUrl` 引导至充值页。
39
+ - **充值**:无 CLI,见 `references/accounts/finance.md`,用 `webUrl` 引导至充值页。
40
40
 
41
41
  > **说明**:首页的「昨日汇总」「全账户余额一览」等 **聚合报表接口**(`Get-TSO-Overviews`、`Get-TSO-Open-Account-Overviews`、`GetAccountBalance`)**当前 CLI 未单独封装**。若用户要「和首页一模一样的数字」,请引导打开网页;若只要分账户/分业务数据,用现有命令组合。
42
42
 
@@ -87,10 +87,10 @@
87
87
  → `list-accounts -m Google` 取 `mediaCustomerId`,再 `stats -m Google -a <id>`。
88
88
 
89
89
  3. **「首页说有待充值账户」**
90
- → 说明聚合数据在网页;CLI 可 `list-accounts` + `balance` 逐账户排查,或引导去充值页(`references/finance.md`)。
90
+ → 说明聚合数据在网页;CLI 可 `list-accounts` + `balance` 逐账户排查,或引导去充值页(`references/accounts/finance.md`)。
91
91
 
92
92
  ---
93
93
 
94
- ## 与 `references/workflows.md` 的关系
94
+ ## 与 `references/core/workflows.md` 的关系
95
95
 
96
- 首页是 **聚合看板**;多命令巡检流程见 **`references/workflows.md`** 中「投放数据快速巡检」等章节,逻辑上与首页「看数据」意图相近,但数据源接口不完全相同。
96
+ 首页是 **聚合看板**;多命令巡检流程见 **`references/core/workflows.md`** 中「投放数据快速巡检」等章节,逻辑上与首页「看数据」意图相近,但数据源接口不完全相同。
@@ -1,10 +1,10 @@
1
1
  # 异常监控巡检:`siluzan-tso` CLI `--json` 键名与命令
2
2
 
3
- > **主题索引**:[`hosted-automation-scenarios.md`](hosted-automation-scenarios.md)
3
+ > **主题索引**:[`operations/hosted-automation-scenarios.md`](operations/hosted-automation-scenarios.md)
4
4
  > **编排责任**:定时、HTTP 探活、通知等在宿主。本页只列 **读数命令与常见 JSON 键名**。
5
- > **统计日 / 时区**:与自控场景相同,见 [`hosted-automation-self-control.md`](hosted-automation-self-control.md)「统计日与今日」。
5
+ > **统计日 / 时区**:与自控场景相同,见 [`operations/hosted-automation-self-control.md`](operations/hosted-automation-self-control.md)「统计日与今日」。
6
6
 
7
- 宿主做定时巡检时,**只以当次 CLI 输出的 JSON 键名为准**(多数读命令为 **`--json`** 的 stdout;**`google-analysis` 账户分析子命令**与本 Skill 一致,使用 **`--json-out <dir>`**,以**落盘 `*.json` 文件正文**为准)。Google Ads API 文档里的资源名(如 `billing_setup`、`account_budget`、`amount_served_micros`)**与本 CLI 输出不是同一套命名**,不要当作本仓库 JSON 的键去解析。若某键缺失,**禁止猜测**:以实际输出为准,或换用 `references/account-analytics.md` 中的其它子命令。
7
+ 宿主做定时巡检时,**只以当次 CLI 输出的 JSON 键名为准**(多数读命令为 **`--json`** 的 stdout;**`google-analysis` 账户分析子命令**与本 Skill 一致,使用 **`--json-out <dir>`**,以**落盘 `*.json` 文件正文**为准)。Google Ads API 文档里的资源名(如 `billing_setup`、`account_budget`、`amount_served_micros`)**与本 CLI 输出不是同一套命名**,不要当作本仓库 JSON 的键去解析。若某键缺失,**禁止猜测**:以实际输出为准,或换用 `references/analytics/account-analytics.md` 中的其它子命令。
8
8
 
9
9
  ---
10
10
 
@@ -35,7 +35,7 @@ siluzan-tso balance-scan -m Google [--threshold-days <n>] [--min-balance <n>] [-
35
35
  siluzan-tso balance -m Google --accounts <mediaCustomerId> --json
36
36
  ```
37
37
 
38
- `items[]` 每行:**`mediaCustomerId`**、**`remainingAccountBudget`**、**`status`**、**`currencyCode`**、**`name`**(与 `references/accounts.md` 中 `balance` 说明一致)。
38
+ `items[]` 每行:**`mediaCustomerId`**、**`remainingAccountBudget`**、**`status`**、**`currencyCode`**、**`name`**(与 `references/accounts/accounts.md` 中 `balance` 说明一致)。
39
39
 
40
40
  **账户总览(区间内的费用与日均,可与续航逻辑组合)** — 命令:
41
41
 
@@ -43,7 +43,7 @@ siluzan-tso balance -m Google --accounts <mediaCustomerId> --json
43
43
  mkdir -p ./snap-monitor && siluzan-tso google-analysis -a <mediaCustomerId> --sections overview --start <YYYY-MM-DD> --end <YYYY-MM-DD> --json-out ./snap-monitor
44
44
  ```
45
45
 
46
- 读 **`./snap-monitor/overview-<accountId>.json`**(具体路径见 stdout 摘要的 `writtenFiles[0]` 或 `manifest-<accountId>.json` 的 `artifacts`)。根对象常见字段:**`remainingAccountBudget`**(余额)、**`averageDailyCost`**、**`totalCost`**、**`activeDays`**、**`currencyCode`**、**`accountId`**(无 **`balance`**,网关为 0 时 CLI 已剔除);**`currentPeriod`** / **`previousPeriod`** 为对象块,内含 **`spend`**、`impressions`、`clicks`、`conversions` 等与 `references/account-analytics.md` 总览口径一致的指标(块内还可能出现 **`currencyCode`**)。
46
+ 读 **`./snap-monitor/overview-<accountId>.json`**(具体路径见 stdout 摘要的 `writtenFiles[0]` 或 `manifest-<accountId>.json` 的 `artifacts`)。根对象常见字段:**`remainingAccountBudget`**(余额)、**`averageDailyCost`**、**`totalCost`**、**`activeDays`**、**`currencyCode`**、**`accountId`**(无 **`balance`**,网关为 0 时 CLI 已剔除);**`currentPeriod`** / **`previousPeriod`** 为对象块,内含 **`spend`**、`impressions`、`clicks`、`conversions` 等与 `references/analytics/account-analytics.md` 总览口径一致的指标(块内还可能出现 **`currencyCode`**)。
47
47
 
48
48
  ---
49
49
 
@@ -59,7 +59,7 @@ mkdir -p ./snap-monitor && siluzan-tso google-analysis -a <mediaCustomerId> --se
59
59
 
60
60
  **`campaignId`**、**`campaignName`**、**`date`**、**`hour`**、**`spend`**、`impressions`、`clicks`、`conversions`。
61
61
 
62
- 宿主侧可做:同一 `campaignId` 在相邻小时或相邻日的 **`spend`** 对比、滑动均值、超阈值告警等(阈值与统计时区由宿主配置,见 [`hosted-automation-self-control.md`](hosted-automation-self-control.md)「统计日与今日」)。
62
+ 宿主侧可做:同一 `campaignId` 在相邻小时或相邻日的 **`spend`** 对比、滑动均值、超阈值告警等(阈值与统计时区由宿主配置,见 [`operations/hosted-automation-self-control.md`](operations/hosted-automation-self-control.md)「统计日与今日」)。
63
63
 
64
64
  ---
65
65
 
@@ -79,13 +79,13 @@ mkdir -p ./snap-monitor && siluzan-tso google-analysis -a <mediaCustomerId> --se
79
79
  siluzan-tso ad list -a <mediaCustomerId> --start <YYYY-MM-DD> --end <YYYY-MM-DD> --json
80
80
  ```
81
81
 
82
- `items[]` 为网关原样字段集合;落地页相关键名以当次输出为准(类型说明里常见 **`finalurl`**;亦可用 **`google-analysis --sections ads`** 列表,结构见 `references/google-ads.md` / `account-analytics.md`)。命中后暂停创意用 **`ad ad-status`**(见 `references/google-ads.md`),写后复核再次 `ad list --json` 看 **`statusV2`**。
82
+ `items[]` 为网关原样字段集合;落地页相关键名以当次输出为准(类型说明里常见 **`finalurl`**;亦可用 **`google-analysis --sections ads`** 列表,结构见 `references/google-ads/google-ads.md` / `analytics/account-analytics.md`)。命中后暂停创意用 **`ad ad-status`**(见 `references/google-ads/google-ads.md`),写后复核再次 `ad list --json` 看 **`statusV2`**。
83
83
 
84
84
  ---
85
85
 
86
86
  ## 4. 广告素材拒审
87
87
 
88
- 不依赖 `PolicyTopic` 等 API 资源名;直接读 CLI 拒审字段:**`policyApprovalStatusV2`**、**`approvalStatusDetails`**、**`statusV2`** 等。逐步说明见 **`references/google-ads.md`**「拒审与政策」;**`ad list`** 与 **`google-analysis --sections ads`** 列表同源,任选其一做巡检。
88
+ 不依赖 `PolicyTopic` 等 API 资源名;直接读 CLI 拒审字段:**`policyApprovalStatusV2`**、**`approvalStatusDetails`**、**`statusV2`** 等。逐步说明见 **`references/google-ads/google-ads.md`**「拒审与政策」;**`ad list`** 与 **`google-analysis --sections ads`** 列表同源,任选其一做巡检。
89
89
 
90
90
  ---
91
91
 
@@ -1,6 +1,6 @@
1
1
  # SOP:同组多创意 A/B — 停输家、保赢家(Ad)
2
2
 
3
- > **索引**:[`hosted-automation-optimize-index.md`](hosted-automation-optimize-index.md)
3
+ > **索引**:[`operations/hosted-automation-optimize-index.md`](operations/hosted-automation-optimize-index.md)
4
4
 
5
5
  ---
6
6
 
@@ -48,7 +48,7 @@ siluzan-tso ad list -a <mediaCustomerId> --start <YYYY-MM-DD> --end <YYYY-MM-DD>
48
48
  siluzan-tso ad ad-status -a <mediaCustomerId> --id <adId> --status Paused
49
49
  ```
50
50
 
51
- (若需 `--start`/`--end` 见 `google-ads.md`。)
51
+ (若需 `--start`/`--end` 见 `google-ads/google-ads.md`。)
52
52
 
53
53
  **不在此 SOP 内**:Google Ads 界面「将流量倾斜给赢家」的算法开关;宿主仅能 **停输家** 或结合人工/网页调整轮换策略。
54
54
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  | 文档 | 场景 |
7
7
  | ------------------------------------------------------------------------------------------ | -------------------------------------- |
8
- | [`hosted-automation-optimize-weak-downbid.md`](hosted-automation-optimize-weak-downbid.md) | 表现差:组/创意 **降价或暂停** |
9
- | [`hosted-automation-optimize-scale.md`](hosted-automation-optimize-scale.md) | 高转化:**提预算 / 上调目标 CPA** 扩量 |
10
- | [`hosted-automation-optimize-ab-winner.md`](hosted-automation-optimize-ab-winner.md) | 同组多创意:**A/B 决胜负、停输家** |
8
+ | [`operations/hosted-automation-optimize-weak-downbid.md`](operations/hosted-automation-optimize-weak-downbid.md) | 表现差:组/创意 **降价或暂停** |
9
+ | [`operations/hosted-automation-optimize-scale.md`](operations/hosted-automation-optimize-scale.md) | 高转化:**提预算 / 上调目标 CPA** 扩量 |
10
+ | [`operations/hosted-automation-optimize-ab-winner.md`](operations/hosted-automation-optimize-ab-winner.md) | 同组多创意:**A/B 决胜负、停输家** |
11
11
 
12
- **必读交叉引用**:`SKILL.md`(金额与 `*Display` 硬规范)、`references/google-ads.md`(`ad campaign-edit` / `ad adgroup-edit` / `ad-status`)、`references/account-analytics.md`(日期与 **`google-analysis --json-out`**)、`references/tips.md`(通用 **`--json-out`** 落盘 + 读文件技巧)、[`hosted-automation-self-control.md`](hosted-automation-self-control.md)(统计日与时区约定)。
12
+ **必读交叉引用**:`SKILL.md`(金额与 `*Display` 硬规范)、`references/google-ads/google-ads.md`(`ad campaign-edit` / `ad adgroup-edit` / `ad-status`)、`references/analytics/account-analytics.md`(日期与 **`google-analysis --json-out`**)、`references/core/tips.md`(通用 **`--json-out`** 落盘 + 读文件技巧)、[`operations/hosted-automation-self-control.md`](operations/hosted-automation-self-control.md)(统计日与时区约定)。
13
13
 
14
14
  ---
15
15
 
@@ -17,7 +17,7 @@
17
17
 
18
18
  ### 1. 统计区间
19
19
 
20
- `--start` / `--end` 为 **`YYYY-MM-DD`**,与宿主业务日一致;约定见 **`hosted-automation-self-control.md`**「统计日与今日」。
20
+ `--start` / `--end` 为 **`YYYY-MM-DD`**,与宿主业务日一致;约定见 **`operations/hosted-automation-self-control.md`**「统计日与今日」。
21
21
 
22
22
  ### 2. `ad list` / `ad groups` 与「按日多行」
23
23
 
@@ -29,4 +29,4 @@
29
29
 
30
30
  ### 4. 写操作与复核
31
31
 
32
- 所有写入须遵守 **`references/google-ads.md`** 的确认与安全约定;写后**同区间或下一统计日**再拉一次读命令核对 `statusV2`、预算、`targetCpaAmount` 等。
32
+ 所有写入须遵守 **`references/google-ads/google-ads.md`** 的确认与安全约定;写后**同区间或下一统计日**再拉一次读命令核对 `statusV2`、预算、`targetCpaAmount` 等。
@@ -1,6 +1,6 @@
1
1
  # SOP:高转化广告 — 提预算 / 上调目标 CPA 扩量(Campaign / Ad Group)
2
2
 
3
- > **索引**:[`hosted-automation-optimize-index.md`](hosted-automation-optimize-index.md)
3
+ > **索引**:[`operations/hosted-automation-optimize-index.md`](operations/hosted-automation-optimize-index.md)
4
4
 
5
5
  ---
6
6
 
@@ -52,7 +52,7 @@ mkdir -p ./snap-scale && siluzan-tso google-analysis -a <mediaCustomerId> --sect
52
52
 
53
53
  ## 最终操作
54
54
 
55
- > **金额单位(关键)**:`ad campaign-edit` / `ad adgroup-edit` 所有金额参数均为 **主币种金额**(如 `100` 表示 ¥100,支持小数 `10.5`);CLI 内部自动 `Math.round(value × 100)` 写入「分」字段。详见 `references/google-ads.md`「ad campaign-edit」金额单位说明。
55
+ > **金额单位(关键)**:`ad campaign-edit` / `ad adgroup-edit` 所有金额参数均为 **主币种金额**(如 `100` 表示 ¥100,支持小数 `10.5`);CLI 内部自动 `Math.round(value × 100)` 写入「分」字段。详见 `references/google-ads/google-ads.md`「ad campaign-edit」金额单位说明。
56
56
  >
57
57
  > **必须先用 `*Display` 字段取主币种当前值,加减后再传回**;不要把 `budget` / `targetCpaAmount` / `maxCPCAmount` 这些"分"字段当作主币种传给 CLI。
58
58