siluzan-tso-cli 1.1.44-beta.3 → 1.1.44

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 (143) hide show
  1. package/README.md +1 -2
  2. package/dist/index.js +209 -163
  3. package/dist/skill/AGENTS.md +16 -16
  4. package/dist/skill/_meta.json +2 -2
  5. package/dist/skill/assets/campaign-create-template.md +46 -46
  6. package/dist/skill/assets/market-analysis-rules.md +4 -4
  7. package/dist/skill/assets/pmax-create-template.md +17 -17
  8. package/dist/skill/assets/pmax-lead-form-template.md +12 -12
  9. package/dist/skill/assets/scripts/assemble-campaign-from-plan.mjs +3 -1
  10. package/dist/skill/references/README.md +31 -31
  11. package/dist/skill/references/accounts/accounts-balance-stats.md +38 -36
  12. package/dist/skill/references/accounts/accounts-list.md +21 -21
  13. package/dist/skill/references/accounts/accounts-permissions.md +29 -29
  14. package/dist/skill/references/accounts/accounts.md +9 -9
  15. package/dist/skill/references/accounts/finance.md +1 -2
  16. package/dist/skill/references/accounts/open-account-by-media.md +58 -59
  17. package/dist/skill/references/accounts/open-account-google-ui.md +19 -19
  18. package/dist/skill/references/analytics/account-analytics.md +33 -33
  19. package/dist/skill/references/analytics/google-analysis-batch.md +0 -1
  20. package/dist/skill/references/analytics/keyword-planner-workflows.md +15 -13
  21. package/dist/skill/references/analytics/market-analysis-guide.md +4 -1
  22. package/dist/skill/references/analytics/rag.md +8 -8
  23. package/dist/skill/references/analytics/reporting.md +5 -5
  24. package/dist/skill/references/analytics/website-diagnosis-guide.md +6 -6
  25. package/dist/skill/references/core/agent-conventions.md +54 -54
  26. package/dist/skill/references/core/intent-routing.md +107 -108
  27. package/dist/skill/references/core/setup.md +6 -5
  28. package/dist/skill/references/core/tips.md +0 -1
  29. package/dist/skill/references/core/workflows.md +15 -16
  30. package/dist/skill/references/google-ads/google-ads-campaign-plan.md +55 -55
  31. package/dist/skill/references/google-ads/google-ads-read.md +30 -12
  32. package/dist/skill/references/google-ads/google-ads-write.md +35 -18
  33. package/dist/skill/references/google-ads/google-ads.md +13 -14
  34. package/dist/skill/references/google-ads/rules/README.md +17 -17
  35. package/dist/skill/references/google-ads/rules/google-ads-account-audit.md +6 -8
  36. package/dist/skill/references/google-ads/rules/google-ads-compliance.md +5 -7
  37. package/dist/skill/references/google-ads/rules/google-ads-keyword-strategy.md +9 -9
  38. package/dist/skill/references/google-ads/rules/google-ads-launch-plan-template.md +16 -15
  39. package/dist/skill/references/google-ads/rules/google-ads-plan-source-fidelity.md +27 -27
  40. package/dist/skill/references/google-ads/rules/google-ads-pmax-launch-plan-template.md +41 -41
  41. package/dist/skill/references/misc/tso-home.md +2 -2
  42. package/dist/skill/references/operations/guard.md +24 -24
  43. package/dist/skill/references/operations/hosted-automation-self-control.md +15 -16
  44. package/dist/skill/references/operations/hosted-automation-user-catalog.md +18 -18
  45. package/dist/skill/references/report-templates/README.md +1 -1
  46. package/dist/skill/references/report-templates/bing-period-report.md +16 -16
  47. package/dist/skill/references/report-templates/google-ads-diagnosis.md +26 -23
  48. package/dist/skill/references/report-templates/google-inquiry-analysis.md +1 -1
  49. package/dist/skill/references/report-templates/google-period-report.md +5 -5
  50. package/dist/skill/references/report-templates/meta-account-diagnosis-report.md +2 -2
  51. package/dist/skill/references/report-templates/okki-weekly-google-client.md +0 -1
  52. package/dist/skill/references/report-templates/tiktok-period-report.md +6 -6
  53. package/dist/skill/report-templates/GoogleAdsDiagnosisReport.html +42 -13
  54. package/dist/skill/report-templates/README.md +1 -1
  55. package/dist/skill/report-templates/bing-period-report.html +10 -7
  56. package/dist/skill/report-templates/bing-period-report.md +16 -16
  57. package/dist/skill/report-templates/google-ads-diagnosis.md +26 -23
  58. package/dist/skill/report-templates/google-inquiry-analysis.md +1 -1
  59. package/dist/skill/report-templates/google-period-report.md +5 -5
  60. package/dist/skill/report-templates/meta-account-diagnosis-report.md +2 -2
  61. package/dist/skill/report-templates/okki-weekly-google-client.md +0 -1
  62. package/dist/skill/report-templates/tiktok-period-report.md +6 -6
  63. package/dist/skill/scripts/install.ps1 +3 -3
  64. package/dist/skill/scripts/install.sh +3 -3
  65. package/eval/cases/accounts-entityid-vs-mediaccustomerid.scenario.json +2 -14
  66. package/eval/cases/accounts-mcc-bind-inquiry.scenario.json +1 -3
  67. package/eval/cases/accounts-single-balance-not-bulk.scenario.json +3 -14
  68. package/eval/cases/budget-display-not-raw-micros.scenario.json +1 -8
  69. package/eval/cases/clue-meta-leads-json.scenario.json +2 -14
  70. package/eval/cases/clue-tiktok-leads-json.scenario.json +2 -11
  71. package/eval/cases/destructive-account-delink-needs-confirm.scenario.json +3 -9
  72. package/eval/cases/destructive-forewarning-delete-needs-confirm.scenario.json +3 -9
  73. package/eval/cases/destructive-invoice-apply-needs-confirm.scenario.json +3 -9
  74. package/eval/cases/facebook-analysis-google-section-aliases.scenario.json +2 -11
  75. package/eval/cases/facebook-analysis-not-google-keywords.scenario.json +3 -10
  76. package/eval/cases/facebook-analysis-period-default.scenario.json +2 -14
  77. package/eval/cases/finance-invoice-info-list.scenario.json +3 -11
  78. package/eval/cases/forewarning-list-google.scenario.json +3 -14
  79. package/eval/cases/google-ads-no-structural-without-confirm.scenario.json +2 -6
  80. package/eval/cases/google-analysis-keywords-route.scenario.json +2 -14
  81. package/eval/cases/guard-budget-circuit-all-google.scenario.json +2 -12
  82. package/eval/cases/guard-zero-conv-empty-spend.scenario.json +2 -12
  83. package/eval/cases/human-p1-multiturn.scenario.json +1 -5
  84. package/eval/cases/ir-p1-vs-p8-account-vs-url.scenario.json +5 -17
  85. package/eval/cases/ir-p3-cpa-monitor-not-p7.scenario.json +2 -19
  86. package/eval/cases/ir-p3-zero-inquiry-not-p7.scenario.json +3 -16
  87. package/eval/cases/ir-p4-period-not-diagnosis.scenario.json +3 -16
  88. package/eval/cases/ir-p8-meets-google-ads-requirements-with-url.scenario.json +3 -28
  89. package/eval/cases/ir-p8-network-diagnosis-with-url.scenario.json +3 -25
  90. package/eval/cases/ir-p8-website-monitor-report-with-url.scenario.json +3 -28
  91. package/eval/cases/ir-p8-website-test-report-no-url.scenario.json +3 -14
  92. package/eval/cases/ir-p9-industry-not-p8.scenario.json +3 -19
  93. package/eval/cases/ir-vague-report-clarify.scenario.json +3 -14
  94. package/eval/cases/ir-w3-vs-p8-from-website.scenario.json +2 -8
  95. package/eval/cases/ir-w5-keyword-planner-url-core-terms.scenario.json +2 -22
  96. package/eval/cases/meta-single-balance-not-bulk.scenario.json +3 -17
  97. package/eval/cases/no-legacy-json-flag.scenario.json +2 -6
  98. package/eval/cases/open-account-google-noninteractive.scenario.json +1 -3
  99. package/eval/cases/open-account-tiktok-license-file.scenario.json +1 -3
  100. package/eval/cases/optimize-list-by-account.scenario.json +3 -11
  101. package/eval/cases/p1-single-account-profile.scenario.json +1 -11
  102. package/eval/cases/p2-balance-scan-bulk.scenario.json +2 -9
  103. package/eval/cases/p3-accounts-digest.scenario.json +1 -5
  104. package/eval/cases/p3-cpa-scan-max-cpa.scenario.json +2 -14
  105. package/eval/cases/p4-fb-meta-period-report.scenario.json +2 -12
  106. package/eval/cases/p4-period-report-window.scenario.json +1 -8
  107. package/eval/cases/pmax-asset-group-create-with-bg.scenario.json +2 -13
  108. package/eval/cases/pmax-brand-edit-routing.scenario.json +3 -16
  109. package/eval/cases/pmax-edit-not-campaign-edit.scenario.json +2 -12
  110. package/eval/cases/pmax-enable-brand-guidelines.scenario.json +2 -12
  111. package/eval/cases/pmax-no-assets-update-brand-fields.scenario.json +3 -14
  112. package/eval/cases/rag-before-keyword-expand.scenario.json +1 -11
  113. package/eval/cases/rag-list-then-query.scenario.json +2 -14
  114. package/eval/cases/report-list-google.scenario.json +2 -11
  115. package/eval/cases/report-push-list-google.scenario.json +2 -11
  116. package/eval/cases/setup-login-or-env.scenario.json +1 -3
  117. package/eval/cases/setup-siluzan-data-permission-env.scenario.json +1 -3
  118. package/eval/cases/tiktok-bc-bind-inquiry.scenario.json +2 -6
  119. package/eval/cases/time-range-user-delegates-default.scenario.json +1 -8
  120. package/eval/cases/tips-json-out-filtering.scenario.json +1 -3
  121. package/eval/cases/tips-large-json-pagination.scenario.json +1 -3
  122. package/eval/cases/uj-ad-campaign-validate-before-create-stub.scenario.json +2 -11
  123. package/eval/cases/uj-ad-outdoor-campgear-search-plan.scenario.json +1 -3
  124. package/eval/cases/uj-ad-website-search-plan-table-format.scenario.json +1 -3
  125. package/eval/cases/uj-analytics-30d-pdf-campaign-device-geo.scenario.json +6 -18
  126. package/eval/cases/uj-analytics-compare-google-tiktok-last-month-roi.scenario.json +1 -8
  127. package/eval/cases/uj-analytics-ecommerce-industry-report.scenario.json +2 -14
  128. package/eval/cases/uj-analytics-google-weekly-trends-campaigns-keywords.scenario.json +2 -11
  129. package/eval/cases/uj-analytics-report-push-weekly-email.scenario.json +1 -3
  130. package/eval/cases/uj-finance-invoice-records-this-month.scenario.json +2 -11
  131. package/eval/cases/uj-life-newbie-siluzan-google-end-to-end.scenario.json +1 -4
  132. package/eval/cases/uj-ops-google-accounts-list-normal.scenario.json +2 -17
  133. package/eval/cases/uj-ops-google-yesterday-spend-conversions.scenario.json +2 -14
  134. package/eval/cases/uj-ops-pause-worst-adgroup-confirm.scenario.json +2 -6
  135. package/eval/cases/uj-ops-tiktok-leads-last-week.scenario.json +3 -17
  136. package/eval/cases/uj-patrol-cpc-spike-adgroups-over-15.scenario.json +1 -5
  137. package/eval/cases/uj-patrol-forewarning-create-daily-cap-3000.scenario.json +1 -3
  138. package/eval/cases/uj-patrol-forewarning-trigger-records.scenario.json +3 -17
  139. package/eval/cases/uj-patrol-google-balances-low.scenario.json +2 -11
  140. package/eval/cases/uj-roi-optimize-records-then-execute-cautiously.scenario.json +3 -14
  141. package/eval/cases/uj-roi-search-terms-add-negative-keywords.scenario.json +2 -14
  142. package/eval/cases/yandex-stats-use-porg-mediaccustomerid.scenario.json +3 -21
  143. package/package.json +1 -1
@@ -3,7 +3,6 @@
3
3
  > 适用:账户数 ≥ 5 且需拉 ≥ 2 个 google-analysis 维度。**禁止**外层 for-loop 替代。中断后**必须** `resume`,不得重跑 `run`。
4
4
  > **数据时效性**:维度的实时 / 每日同步口径见 `references/analytics/account-analytics.md` 顶部「数据时效性」表。当天高消耗排行只能用 `--sections overview`,且**禁止**加 `--min-spend`(其预筛选来自非实时 `accountsoverview`)。
5
5
 
6
-
7
6
  ## Contents
8
7
 
9
8
  - 子命令
@@ -63,20 +63,20 @@
63
63
 
64
64
  洗词、分组、否词表、匹配策略等多依赖对 **`--json-out` 落盘 JSON** 的解析或 Agent 归纳;逐步命令见「场景编排」。
65
65
 
66
- | # | 场景 | 编排 |
67
- | --- | ------------------------------------------------------------------------------- | ------------------------------------------ |
68
- | — | **仅 Google Planner 数据**(不联网搜索、不用 `--url`) | 上文「分支 B」 |
69
- | 0 | **先 RAG 再拓词**:客户产品/行业背景 → 种子词与 `--url` | §0 |
70
- | 1 | 竞品网址 + 种子拓词:至少一个 `-k` + `--url`,落盘后去重/排序/截 Top N | §1 |
71
- | 2 | 多种子长尾:`-k "种子1,种子2,..."` | §2 |
72
- | 3 | 按规则洗词:月搜索量阈值、排除词根、排除类意图等 | §2(JSON) |
73
- | 4 | 账户关键词表现 + 市场侧指标:`google-analysis` keywords → 抽词 → 分批 `keyword` | §3 |
74
- | 5 | 搜索词 + 拓词:浪费流量 / 否词线索 | §4 |
75
- | 6 | 高商业意图粗筛:CPC、竞争度、搜索量 | §5 |
66
+ | # | 场景 | 编排 |
67
+ | --- | ------------------------------------------------------------------------------- | ------------------------------------------------ |
68
+ | — | **仅 Google Planner 数据**(不联网搜索、不用 `--url`) | 上文「分支 B」 |
69
+ | 0 | **先 RAG 再拓词**:客户产品/行业背景 → 种子词与 `--url` | §0 |
70
+ | 1 | 竞品网址 + 种子拓词:至少一个 `-k` + `--url`,落盘后去重/排序/截 Top N | §1 |
71
+ | 2 | 多种子长尾:`-k "种子1,种子2,..."` | §2 |
72
+ | 3 | 按规则洗词:月搜索量阈值、排除词根、排除类意图等 | §2(JSON) |
73
+ | 4 | 账户关键词表现 + 市场侧指标:`google-analysis` keywords → 抽词 → 分批 `keyword` | §3 |
74
+ | 5 | 搜索词 + 拓词:浪费流量 / 否词线索 | §4 |
75
+ | 6 | 高商业意图粗筛:CPC、竞争度、搜索量 | §5 |
76
76
  | 7 | 否词或否词根落地:`ad keyword-negative-create` 等 | §4 + `references/google-ads/google-ads-write.md` |
77
- | 8 | Campaign → AdGroup → JSON:`ad campaign-validate` → `ad campaign-create` | §6 |
78
- | 9 | 拓词结果导出:`keyword … --json-out`,供脚本消费 | §7 |
79
- | 10 | **URL/文章 + 多核心词 + 搜索量/竞争度筛选**(B2B 典型) | §8 |
77
+ | 8 | Campaign → AdGroup → JSON:`ad campaign-validate` → `ad campaign-create` | §6 |
78
+ | 9 | 拓词结果导出:`keyword … --json-out`,供脚本消费 | §7 |
79
+ | 10 | **URL/文章 + 多核心词 + 搜索量/竞争度筛选**(B2B 典型) | §8 |
80
80
 
81
81
  ---
82
82
 
@@ -90,11 +90,13 @@
90
90
 
91
91
  1. (可选)WebFetch 用户 URL,提取产品语境与同义词,**补充** `-k` 种子;**禁止**用文章臆测搜索量。
92
92
  2. 将核心词 **分批**(每批 3–8 个)调用:
93
+
93
94
  ```bash
94
95
  siluzan-tso keyword -k "fish gelatin,porcine gelatin,..." --url "https://example.com/" --geo 2840 --google-only --json-out ./snap-kw-batch1
95
96
  ```
96
97
 
97
98
  - 目标市场未指定时默认 `--geo 2840`(美国)并在交付说明中写明;要其它市场先 `keyword geo-list`。
99
+
98
100
  3. 脚本读各批 `items[]`:
99
101
  - 按 `montlySearch` 过滤(如 1500–6000 视为「约 3000」区间);
100
102
  - 按 `competition` / `competitionV2` 筛「中低」(LOW / MEDIUM 或数值阈值,以当次 outline 为准);
@@ -1,6 +1,7 @@
1
1
  # 战略市场分析(Market Analysis)
2
2
 
3
3
  > 对齐 TSO Copilot `getMarketReport` 业务目标;**Skill/CLI 场景**与网页版分工不同:
4
+ >
4
5
  > - **TSO 网页**:Copilot 工具内调 `aisearch` 一次生成 HTML
5
6
  > - **siluzan-tso Skill**:`collect` 只落盘上下文 → **宿主 Agent** WebSearch/WebFetch 调研 → 写 `market-report.json` → `render` 出 HTML
6
7
 
@@ -9,9 +10,11 @@
9
10
  与「网站诊断」模式一致:**CLI 拉原料,Agent 写报告,CLI 渲染终稿**。
10
11
 
11
12
  > **常见入口(仅指定行业)**:用户说「帮我生成一份**电商行业**的行业分析报告」且未给公司名/官网时,**仍须走本流程**——不要改用 WebSearch 直接在聊天里写报告。
13
+ >
12
14
  > ```bash
13
15
  > siluzan-tso market-analysis collect --industry "电商" --json-out ./snap-market
14
16
  > ```
17
+ >
15
18
  > 缺目标市场/时间范围时用默认并在 HTML 中写明(全球 / 近12个月);有客户名或官网时再补 `--customer-name` / `--website`。
16
19
 
17
20
  ---
@@ -23,7 +26,7 @@
23
26
  | **战略市场分析** | `market-analysis collect` + Agent + `render` | KA 战略报告(公开数据 + Agent 归纳) |
24
27
  | **网站诊断** | `website-diagnosis collect` + Agent + `render` | 落地页 6 模块评分 |
25
28
  | **账户周期报告** | `google-analysis` | 广告投放数据 |
26
- | **拓词市场指标** | `keyword -k` | Keyword Planner 搜索量/CPC |
29
+ | **拓词市场指标** | `keyword -k` | Keyword Planner 搜索量/CPC |
27
30
 
28
31
  ---
29
32
 
@@ -1,6 +1,6 @@
1
1
  # rag:知识库检索(TSO 广告投放辅助)
2
2
 
3
- 知识库管理页面在 https://www-ci.siluzan.com/knowledge-base/
3
+ 知识库管理页面在 https://www.siluzan.com/knowledge-base/
4
4
 
5
5
  为 **广告投放、账户分析、拓词、诊断报告** 等 TSO 业务提供**企业已入库**的产品、行业、客户背景事实依据。
6
6
 
@@ -40,14 +40,14 @@ siluzan-tso rag query -q "行业术语 英文类目" --folder-id <id> --top-k 10
40
40
 
41
41
  ## TSO 业务场景路由
42
42
 
43
- | 用户意图 | 建议检索词(示例) | 后续 TSO 命令 |
44
- | ------------------------------ | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
43
+ | 用户意图 | 建议检索词(示例) | 后续 TSO 命令 |
44
+ | ------------------------------ | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
45
45
  | Google 搜索广告方案 / 批量草稿 | 产品卖点、应用行业、目标国家、竞品差异 | `references/google-ads/google-ads-campaign-plan.md` + `keyword` / `campaign-create`;草稿发布见 `references/google-ads/google-ads-batch.md` § ad batch |
46
- | 关键字拓词补语境 | 产品型号、英文类目、行业术语、应用场景 | `keyword -k "..."`;编排见 `references/analytics/keyword-planner-workflows.md` |
47
- | 账户诊断 / 周期报告「背景」段 | 公司简介、主营产品、目标市场、认证资质 | `google-analysis` + `report-templates/` 对应模板 |
48
- | 询盘分析报告 | 产品线、出口市场、客户画像、大洲业务侧重 | `report-templates/google-inquiry-analysis.md` |
49
- | 开户行业/资质核对 | 营业执照经营范围、行业描述、品牌全称 | `references/accounts/open-account-by-media.md` 对应媒体开户流 |
50
- | 优化建议解释 | 产品毛利结构、旺季、转化路径(表单/电话) | `optimize` 记录 + 人工解读;数据仍来自 `google-analysis` |
46
+ | 关键字拓词补语境 | 产品型号、英文类目、行业术语、应用场景 | `keyword -k "..."`;编排见 `references/analytics/keyword-planner-workflows.md` |
47
+ | 账户诊断 / 周期报告「背景」段 | 公司简介、主营产品、目标市场、认证资质 | `google-analysis` + `report-templates/` 对应模板 |
48
+ | 询盘分析报告 | 产品线、出口市场、客户画像、大洲业务侧重 | `report-templates/google-inquiry-analysis.md` |
49
+ | 开户行业/资质核对 | 营业执照经营范围、行业描述、品牌全称 | `references/accounts/open-account-by-media.md` 对应媒体开户流 |
50
+ | 优化建议解释 | 产品毛利结构、旺季、转化路径(表单/电话) | `optimize` 记录 + 人工解读;数据仍来自 `google-analysis` |
51
51
 
52
52
  检索结果**只作事实参考**:广告标题/描述须符合 `references/google-ads/rules/google-ads-compliance.md`;数值指标仍以 CLI 拉数为准。
53
53
 
@@ -190,9 +190,9 @@ siluzan-tso report push receive-emails -m Google [--json-out ./snap]
190
190
 
191
191
  | 媒体 | 报告类型 | URL 模板 |
192
192
  | ------ | ---------------- | ----------------------------------------------------------- |
193
- | Google | 日报(Daily) | `https://www-ci.siluzan.com/media-report/publish/{entityId}?culture=zh-CN` |
194
- | Google | 小时报(Hourly) | `https://www-ci.siluzan.com/media-report/hour/{entityId}?culture=zh-CN` |
195
- | TikTok | 日报 | `https://www-ci.siluzan.com/media-report/publish/{entityId}?culture=zh-CN` |
193
+ | Google | 日报(Daily) | `https://www.siluzan.com/media-report/publish/{entityId}?culture=zh-CN` |
194
+ | Google | 小时报(Hourly) | `https://www.siluzan.com/media-report/hour/{entityId}?culture=zh-CN` |
195
+ | TikTok | 日报 | `https://www.siluzan.com/media-report/publish/{entityId}?culture=zh-CN` |
196
196
 
197
197
  `entityId` 来自 `siluzan-tso report list --json-out ./snap` 中每条记录的 `entityId` 字段。
198
198
 
@@ -205,8 +205,8 @@ siluzan-tso report list -m Google --json-out ./snap
205
205
 
206
206
  # 第二步:查看 webUrl
207
207
  siluzan-tso config show
208
- # webUrl: https://www-ci.siluzan.com
208
+ # webUrl: https://www.siluzan.com
209
209
 
210
210
  # 第三步:拼接链接(Google 日报)
211
- # https://www-ci.siluzan.com/media-report/publish/rpt_abc123?culture=zh-CN
211
+ # https://www.siluzan.com/media-report/publish/rpt_abc123?culture=zh-CN
212
212
  ```
@@ -68,12 +68,12 @@ siluzan-tso website-diagnosis render --data ./diagnosis.json --collect ./snap-we
68
68
 
69
69
  `collect` **不会**因 Lighthouse 失败而中止;落盘含 `lighthouseWarning` 与:
70
70
 
71
- | 字段 | 含义 |
72
- | ---- | ---- |
73
- | `signals.lighthouseOk` | 是否拿到桌面/移动 score |
74
- | `dataAvailability.lighthouse` | `ok` / `missing` / `error` / `partial` |
75
- | `dataAvailability.unavailableItemIds` | 默认含 `m2i1`、`m5i1`(依赖性能分) |
76
- | `dataAvailability.agentHint` | 给 Agent 的硬约束文案 |
71
+ | 字段 | 含义 |
72
+ | ------------------------------------- | -------------------------------------- |
73
+ | `signals.lighthouseOk` | 是否拿到桌面/移动 score |
74
+ | `dataAvailability.lighthouse` | `ok` / `missing` / `error` / `partial` |
75
+ | `dataAvailability.unavailableItemIds` | 默认含 `m2i1`、`m5i1`(依赖性能分) |
76
+ | `dataAvailability.agentHint` | 给 Agent 的硬约束文案 |
77
77
 
78
78
  **Agent 必遵**:
79
79
 
@@ -28,28 +28,28 @@
28
28
 
29
29
  本 Skill 采用 **SKILL 路由 + references 按需加载**。默认只加载路由表点名的文件;**禁止**为「保险」一次读多个 SOP / 整本 rules / HTML。
30
30
 
31
- | 触发 | 动作 |
32
- | ---- | ---- |
31
+ | 触发 | 动作 |
32
+ | ------------------------------------------ | --------------------------------------------------------------------------------------------- |
33
33
  | **换话题**(新账户 / 新媒体 / 新报告类型) | 按 `SKILL.md` 路由表 **重新 Read** 该行「必读文档」+ 工作流卡片;**禁止**沿用上一任务参数记忆 |
34
- | **简单读命令**(列表 / 单户余额 / `-h`) | 只 Read 路由指向的 **leaf**;本文件已在本会话读过且上下文未压缩则**不必**重读全文 |
35
- | **写操作 / 报告·Excel 交付 / 批量拉数** | Read 本文件相关节(§三 读盘、§六 币种、§七 自检)+ 路由必读文档 |
36
- | **向用户写结论**(非静默跑命令) | Read 本文件 **§十四** |
37
- | **报告 / 分析话术模糊** | **先** Read `references/core/intent-routing.md`,再回路由表;**禁止**默认 P4/P1 |
38
- | **报告纲要**(OKKI / 询盘 / 周期 / 诊断) | Read `report-templates/<名>.md` **全文**;**禁止** Read `report-templates/*.html` |
39
- | **上下文被压缩 / 400 字段对不上** | 重读路由表 + 当次 leaf reference(或本文件) |
40
- | **JSON 契约**(搜索系列 / PMax) | **先** Read `assets/*-template.json`,再 Read 同名 `.md` |
34
+ | **简单读命令**(列表 / 单户余额 / `-h`) | 只 Read 路由指向的 **leaf**;本文件已在本会话读过且上下文未压缩则**不必**重读全文 |
35
+ | **写操作 / 报告·Excel 交付 / 批量拉数** | Read 本文件相关节(§三 读盘、§六 币种、§七 自检)+ 路由必读文档 |
36
+ | **向用户写结论**(非静默跑命令) | Read 本文件 **§十四** |
37
+ | **报告 / 分析话术模糊** | **先** Read `references/core/intent-routing.md`,再回路由表;**禁止**默认 P4/P1 |
38
+ | **报告纲要**(OKKI / 询盘 / 周期 / 诊断) | Read `report-templates/<名>.md` **全文**;**禁止** Read `report-templates/*.html` |
39
+ | **上下文被压缩 / 400 字段对不上** | 重读路由表 + 当次 leaf reference(或本文件) |
40
+ | **JSON 契约**(搜索系列 / PMax) | **先** Read `assets/*-template.json`,再 Read 同名 `.md` |
41
41
 
42
42
  所有 ID、金额、flags 以**当次 Read 文档 + 当次 CLI 输出**为准。
43
43
 
44
44
  ### Skill 内 Read 路径约定
45
45
 
46
- | 类型 | 正确路径(相对 Skill 根) | 说明 |
47
- | ---- | ------------------------- | ---- |
48
- | 命令 reference | `references/<域>/<文件>.md` | 如 `references/analytics/account-analytics.md` |
49
- | 报告纲要 | `report-templates/<文件>.md` | **唯一**纲要路径(源码与安装包均存在) |
50
- | JSON 契约 | `assets/*-template.json` 等 | **先 Read** |
51
- | 契约说明 / 规则 | `assets/<文件>.md` | 与 JSON 成对 |
52
- | HTML 终稿 | `report-templates/*.html` | **仅 CLI `render` 使用;Agent 禁止 Read** |
46
+ | 类型 | 正确路径(相对 Skill 根) | 说明 |
47
+ | --------------- | ---------------------------- | ---------------------------------------------- |
48
+ | 命令 reference | `references/<域>/<文件>.md` | 如 `references/analytics/account-analytics.md` |
49
+ | 报告纲要 | `report-templates/<文件>.md` | **唯一**纲要路径(源码与安装包均存在) |
50
+ | JSON 契约 | `assets/*-template.json` 等 | **先 Read** |
51
+ | 契约说明 / 规则 | `assets/<文件>.md` | 与 JSON 成对 |
52
+ | HTML 终稿 | `report-templates/*.html` | **仅 CLI `render` 使用;Agent 禁止 Read** |
53
53
 
54
54
  按字面路径 Read。File not found 时核对该任务路由行,勿整本加载 `references/README.md`。
55
55
 
@@ -239,15 +239,15 @@
239
239
 
240
240
  ## 八、批量任务硬约束
241
241
 
242
- | 任务 | 推荐命令 | 禁止 |
243
- | --------------------------- | -------------------------------------------------------------------------------------- | -------------------------------- |
244
- | 多账户余额 / 预算不足预警 | `balance-scan -m <媒体> --threshold-days 7`(用 **`dailySpend`** / `remainingDays`) | 逐账户 `balance --accounts ...`;把 `stats` 多日 **`spend` 当「日消耗」** |
245
- | 多账户投放画像 | `accounts-digest -m <媒体> [-a ...] --start --end --json-out`(**`spend`=区间合计**) | 逐账户 `stats`;把合计 `spend` 说成「每天花了」 |
246
- | 单户按日 Excel | `stats … --by-day --json-out`(P4-DAILY) | 默认 `stats` 当按日 |
247
- | 多账户 × 多维度 Google 数据 | 全量:`google-analysis-batch run`(省略 `-a`);2~10:`google-analysis -a id1,id2,...` | 外层 for-loop;先 list 再拼 `-a` |
248
- | 多系列诊断 | `ad campaigns --json-out` + node 读文件过滤 | 逐系列 `ad campaign-get` |
249
- | 单日预算熔断 / 空耗熔断(全户 Google) | `guard budget-circuit` / `guard zero-conv -m Google --json-out`(见 `operations/guard.md`) | 六媒体 `list-accounts` + 逐户 `ad campaigns`/`ad groups` for-loop;`ad campaigns -m`(非法) |
250
- | 单户当日花费比日预算 | `ad campaigns -a <id> --start <当日> --end <当日>`(**start=end**)后再比 `spend` 与 `budget` | 用默认近 7 天窗口的 `spend` 对比日预算 |
242
+ | 任务 | 推荐命令 | 禁止 |
243
+ | -------------------------------------- | --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
244
+ | 多账户余额 / 预算不足预警 | `balance-scan -m <媒体> --threshold-days 7`(用 **`dailySpend`** / `remainingDays`) | 逐账户 `balance --accounts ...`;把 `stats` 多日 **`spend` 当「日消耗」** |
245
+ | 多账户投放画像 | `accounts-digest -m <媒体> [-a ...] --start --end --json-out`(**`spend`=区间合计**) | 逐账户 `stats`;把合计 `spend` 说成「每天花了」 |
246
+ | 单户按日 Excel | `stats … --by-day --json-out`(P4-DAILY) | 默认 `stats` 当按日 |
247
+ | 多账户 × 多维度 Google 数据 | 全量:`google-analysis-batch run`(省略 `-a`);2~10:`google-analysis -a id1,id2,...` | 外层 for-loop;先 list 再拼 `-a` |
248
+ | 多系列诊断 | `ad campaigns --json-out` + node 读文件过滤 | 逐系列 `ad campaign-get` |
249
+ | 单日预算熔断 / 空耗熔断(全户 Google) | `guard budget-circuit` / `guard zero-conv -m Google --json-out`(见 `operations/guard.md`) | 六媒体 `list-accounts` + 逐户 `ad campaigns`/`ad groups` for-loop;`ad campaigns -m`(非法) |
250
+ | 单户当日花费比日预算 | `ad campaigns -a <id> --start <当日> --end <当日>`(**start=end**)后再比 `spend` 与 `budget` | 用默认近 7 天窗口的 `spend` 对比日预算 |
251
251
 
252
252
  **消耗口径(自动化必读)**:凡 `--start`/`--end` 读命令的 `spend` = **闭区间合计**,默认近 7 天 ≠ 一天。日均用 `balance-scan.dailySpend` 或 `合计÷天数`;详见 `references/operations/hosted-automation-self-control.md`「检查项常用 JSON 字段」。
253
253
 
@@ -307,12 +307,12 @@
307
307
 
308
308
  用户不会按开发者逻辑提问。Agent 是**广告运营伙伴**,不是「等指令的工具」。
309
309
 
310
- | 避免(机械) | 改为(伙伴感) |
311
- | ------------ | -------------- |
312
- | 「请执行 `google-analysis --sections overview`」 | 「我先帮您拉一下账户整体数据,稍等。」 |
313
- | 「您需要先关联 Google 账户」 | 「我看了一下,您还没绑定 Google 账户。绑好后我就能帮你看投放数据和优化建议,要现在开始吗?」 |
314
- | 贴一整段 CLI stdout / JSON | **结论先行**,数字来自脚本,用业务语言概括 |
315
- | 连续反问 5 个技术参数 | **能推断就先做**;缺关键项只问 1~2 个,其余用合理默认并在结论里说明 |
310
+ | 避免(机械) | 改为(伙伴感) |
311
+ | ------------------------------------------------ | -------------------------------------------------------------------------------------------- |
312
+ | 「请执行 `google-analysis --sections overview`」 | 「我先帮您拉一下账户整体数据,稍等。」 |
313
+ | 「您需要先关联 Google 账户」 | 「我看了一下,您还没绑定 Google 账户。绑好后我就能帮你看投放数据和优化建议,要现在开始吗?」 |
314
+ | 贴一整段 CLI stdout / JSON | **结论先行**,数字来自脚本,用业务语言概括 |
315
+ | 连续反问 5 个技术参数 | **能推断就先做**;缺关键项只问 1~2 个,其余用合理默认并在结论里说明 |
316
316
 
317
317
  ### 14.2 回复结构(默认模板)
318
318
 
@@ -328,36 +328,36 @@
328
328
 
329
329
  ### 14.3 先执行后解释
330
330
 
331
- | 场景 | 做法 |
332
- | ---- | ---- |
333
- | 查数、诊断、报告、列表 | **先拉数再汇报**;缺账户 ID 才问;缺时间范围按 §五(能默认则默认并注明) |
334
- | **W3 仅出方案**(官网/规划/表格,未要求创建) | **先出 JSON+Markdown**;账户用占位;**禁止**先要广告账户再开工 |
335
- | 模糊意图 | 选最可能工作流先执行;结论后附「您是不是还想…」 |
336
- | campaign-create 后 Sitelink/国家 batch 漏建 | **自动** `batch get` → `batch diff` → `ad geo add` / `ad extension *`;**勿**反问是否补建 |
337
- | 用户方案(Excel 等)不合规 | 列出问题 → 二选一「您自己改还是我帮您改?」→ 停等;禁止未问静默改后 create |
338
- | **任意写操作刚结束** | **必出成败报告**(§四):成功对象 + 失败对象/原因;禁止只贴 emoji 行或静默结束 |
339
- | **广告创建流水线刚结束**(含未代改方案) | **必出每个系列的创建详情**(§四):计划 vs 实况计数、补建条数、仍失败项;代改时另加修改表(`google-ads-plan-source-fidelity.md`) |
340
- | 用户选「我帮您改」且已创建 | 在系列详情之上 **另出修改表**:从 xxx→xxx + 原因 |
341
- | 写入/删除/充值/开户提交 | **必须先确认**(§四);业务语言说明将要做什么;执行后再按上表汇报结果 |
342
- | 对象不清且无法推断 | **只问一次**,给 2~3 个选项 |
331
+ | 场景 | 做法 |
332
+ | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
333
+ | 查数、诊断、报告、列表 | **先拉数再汇报**;缺账户 ID 才问;缺时间范围按 §五(能默认则默认并注明) |
334
+ | **W3 仅出方案**(官网/规划/表格,未要求创建) | **先出 JSON+Markdown**;账户用占位;**禁止**先要广告账户再开工 |
335
+ | 模糊意图 | 选最可能工作流先执行;结论后附「您是不是还想…」 |
336
+ | campaign-create 后 Sitelink/国家 batch 漏建 | **自动** `batch get` → `batch diff` → `ad geo add` / `ad extension *`;**勿**反问是否补建 |
337
+ | 用户方案(Excel 等)不合规 | 列出问题 → 二选一「您自己改还是我帮您改?」→ 停等;禁止未问静默改后 create |
338
+ | **任意写操作刚结束** | **必出成败报告**(§四):成功对象 + 失败对象/原因;禁止只贴 emoji 行或静默结束 |
339
+ | **广告创建流水线刚结束**(含未代改方案) | **必出每个系列的创建详情**(§四):计划 vs 实况计数、补建条数、仍失败项;代改时另加修改表(`google-ads-plan-source-fidelity.md`) |
340
+ | 用户选「我帮您改」且已创建 | 在系列详情之上 **另出修改表**:从 xxx→xxx + 原因 |
341
+ | 写入/删除/充值/开户提交 | **必须先确认**(§四);业务语言说明将要做什么;执行后再按上表汇报结果 |
342
+ | 对象不清且无法推断 | **只问一次**,给 2~3 个选项 |
343
343
 
344
344
  ### 14.4 自然语言 ↔ 内部路由(对用户隐藏编号)
345
345
 
346
- | 用户可能说 | 内部路由(勿写出) | 对用户怎么说 |
347
- | ---------- | ------------------ | ------------ |
348
- | 帮我看一下 Google 广告 | P1 / P3 + 余额 | 「我先看看您 Google 账户的整体情况。」 |
349
- | 广告怎么不跑了 | 余额 + 系列状态 + 拒审 + 落地页 | 「我来帮您排查…」 |
350
- | 最近效果怎么样 / 出个月报 | P4 / P1 | 「我拉一下这段时间的数据,给您一份完整报告。」 |
351
- | 帮我优化一下 | W6 | 「我先看看哪些广告表现偏弱…」 |
352
- | 哪些账户快没钱了 | P2 | 「正在扫描全部账户余额…」 |
353
- | 帮我开个户 / 建广告 | W2 / W3 | 「我先告诉您需要准备哪些资料。」 |
354
- | 根据官网出广告方案 / 先出方案别投钱 | W3 仅出方案 | 「我先根据官网整理一版投放方案(系列/词/文案),账户您稍后选定即可。」 |
355
- | 网站行不行 | P8 | 「我来给这个网站做个体检…」 |
346
+ | 用户可能说 | 内部路由(勿写出) | 对用户怎么说 |
347
+ | ----------------------------------- | ------------------------------- | ---------------------------------------------------------------------- |
348
+ | 帮我看一下 Google 广告 | P1 / P3 + 余额 | 「我先看看您 Google 账户的整体情况。」 |
349
+ | 广告怎么不跑了 | 余额 + 系列状态 + 拒审 + 落地页 | 「我来帮您排查…」 |
350
+ | 最近效果怎么样 / 出个月报 | P4 / P1 | 「我拉一下这段时间的数据,给您一份完整报告。」 |
351
+ | 帮我优化一下 | W6 | 「我先看看哪些广告表现偏弱…」 |
352
+ | 哪些账户快没钱了 | P2 | 「正在扫描全部账户余额…」 |
353
+ | 帮我开个户 / 建广告 | W2 / W3 | 「我先告诉您需要准备哪些资料。」 |
354
+ | 根据官网出广告方案 / 先出方案别投钱 | W3 仅出方案 | 「我先根据官网整理一版投放方案(系列/词/文案),账户您稍后选定即可。」 |
355
+ | 网站行不行 | P8 | 「我来给这个网站做个体检…」 |
356
356
 
357
357
  ### 14.5 禁止事项(机械感)
358
358
 
359
359
  - 禁止把 playbook 编号、CLI 命令名、JSON 字段名当对用户主回复。
360
- - **禁止向用户展示任何 CLI 选项 / 命令行参数名**(如 `--company`、`--promotion-link`、`--json-out`)及完整 ``siluzan-tso …`` 命令块;开户/查数清单只用业务项与说明。CLI 参数仅 Agent 内部组命令时使用。
360
+ - **禁止向用户展示任何 CLI 选项 / 命令行参数名**(如 `--company`、`--promotion-link`、`--json-out`)及完整 `siluzan-tso …` 命令块;开户/查数清单只用业务项与说明。CLI 参数仅 Agent 内部组命令时使用。
361
361
  - 禁止无结论的数据堆砌;禁止空泛「建议优化」而无数字/对象名。
362
362
  - 禁止冷冰冰系统提示语气而不给下一步。
363
363
  - 禁止用户未要求时输出冗长「执行计划」清单;尽快进入执行。