siluzan-tso-cli 1.1.35-beta.2 → 1.1.35-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.
- package/README.md +1 -1
- package/dist/index.js +1679 -1633
- package/dist/skill/AGENTS.md +11 -10
- package/dist/skill/SKILL.md +1 -1
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/assets/campaign-create-template.md +15 -15
- package/dist/skill/assets/market-analysis-rules.md +14 -14
- package/dist/skill/assets/pmax-create-template.md +6 -6
- package/dist/skill/assets/pmax-lead-form-template.md +3 -3
- package/dist/skill/references/README.md +21 -21
- package/dist/skill/references/accounts/accounts.md +42 -42
- package/dist/skill/references/analytics/account-analytics.md +46 -39
- package/dist/skill/references/analytics/keyword-planner-workflows.md +14 -13
- package/dist/skill/references/analytics/rag.md +7 -7
- package/dist/skill/references/analytics/reporting.md +1 -1
- package/dist/skill/references/core/agent-conventions.md +20 -20
- package/dist/skill/references/core/intent-routing.md +116 -117
- package/dist/skill/references/core/subagent-orchestration.md +1 -1
- package/dist/skill/references/core/workflows.md +12 -12
- package/dist/skill/references/google-ads/google-ads-campaign-plan.md +29 -31
- package/dist/skill/references/google-ads/google-ads.md +7 -7
- package/dist/skill/references/google-ads/rules/google-ads-keyword-taxonomy.md +14 -14
- package/dist/skill/references/operations/hosted-automation-optimize-index.md +2 -2
- package/dist/skill/references/operations/hosted-automation-scenarios.md +2 -2
- package/dist/skill/references/operations/hosted-automation-self-control.md +6 -6
- package/dist/skill/references/operations/hosted-automation-user-catalog.md +17 -17
- package/dist/skill/references/report-templates/README.md +68 -0
- package/dist/skill/references/report-templates/REPORT-WORKFLOW.md +2 -2
- package/dist/skill/references/report-templates/bing-period-report.md +53 -53
- package/dist/skill/references/report-templates/google-ads-diagnosis.md +28 -2
- package/dist/skill/references/report-templates/google-inquiry-analysis.md +8 -8
- package/dist/skill/references/report-templates/google-period-report-excel.md +2 -2
- package/dist/skill/references/report-templates/okki-weekly-google-client.md +55 -55
- package/dist/skill/references/report-templates/tiktok-period-report.md +22 -21
- package/dist/skill/report-templates/GoogleAdsDiagnosisReport.html +390 -892
- package/dist/skill/report-templates/REPORT-WORKFLOW.md +2 -2
- package/dist/skill/report-templates/bing-period-report.md +53 -53
- package/dist/skill/report-templates/google-ads-diagnosis.md +28 -2
- package/dist/skill/report-templates/google-inquiry-analysis.md +8 -8
- package/dist/skill/report-templates/google-period-report-excel.md +2 -2
- package/dist/skill/report-templates/meta-period-report.html +1 -4
- package/dist/skill/report-templates/okki-weekly-google-client.md +55 -55
- package/dist/skill/report-templates/report-template-academic.html +0 -2
- package/dist/skill/report-templates/report-template.html +0 -2
- package/dist/skill/report-templates/tiktok-period-report.md +22 -21
- package/dist/skill/report-templates/website-diagnosis-report.html +1 -5
- package/dist/skill/scripts/install.ps1 +1 -1
- package/dist/skill/scripts/install.sh +1 -1
- package/eval/cases/accounts-entityid-vs-mediaccustomerid.scenario.json +2 -14
- package/eval/cases/accounts-mcc-bind-inquiry.scenario.json +1 -3
- package/eval/cases/accounts-single-balance-not-bulk.scenario.json +3 -14
- package/eval/cases/budget-display-not-raw-micros.scenario.json +1 -8
- package/eval/cases/clue-meta-leads-json.scenario.json +2 -14
- package/eval/cases/clue-tiktok-leads-json.scenario.json +2 -11
- package/eval/cases/destructive-account-delink-needs-confirm.scenario.json +3 -9
- package/eval/cases/destructive-forewarning-delete-needs-confirm.scenario.json +3 -9
- package/eval/cases/destructive-invoice-apply-needs-confirm.scenario.json +3 -9
- package/eval/cases/facebook-analysis-google-section-aliases.scenario.json +2 -11
- package/eval/cases/facebook-analysis-not-google-keywords.scenario.json +3 -10
- package/eval/cases/facebook-analysis-period-default.scenario.json +2 -14
- package/eval/cases/finance-invoice-info-list.scenario.json +3 -11
- package/eval/cases/forewarning-list-google.scenario.json +3 -14
- package/eval/cases/google-ads-no-structural-without-confirm.scenario.json +2 -6
- package/eval/cases/google-analysis-keywords-route.scenario.json +2 -14
- package/eval/cases/human-p1-multiturn.scenario.json +1 -5
- package/eval/cases/ir-p1-vs-p8-account-vs-url.scenario.json +5 -17
- package/eval/cases/ir-p4-period-not-diagnosis.scenario.json +3 -16
- package/eval/cases/ir-p8-network-diagnosis-with-url.scenario.json +3 -25
- package/eval/cases/ir-p8-website-monitor-report-with-url.scenario.json +3 -28
- package/eval/cases/ir-p8-website-test-report-no-url.scenario.json +3 -14
- package/eval/cases/ir-p9-industry-not-p8.scenario.json +3 -19
- package/eval/cases/ir-vague-report-clarify.scenario.json +3 -14
- package/eval/cases/ir-w3-vs-p8-from-website.scenario.json +2 -8
- package/eval/cases/ir-w5-keyword-planner-url-core-terms.scenario.json +2 -22
- package/eval/cases/meta-single-balance-not-bulk.scenario.json +3 -17
- package/eval/cases/no-legacy-json-flag.scenario.json +2 -6
- package/eval/cases/open-account-google-noninteractive.scenario.json +1 -3
- package/eval/cases/open-account-tiktok-license-file.scenario.json +1 -3
- package/eval/cases/optimize-list-by-account.scenario.json +3 -11
- package/eval/cases/p1-single-account-profile.scenario.json +1 -11
- package/eval/cases/p2-balance-scan-bulk.scenario.json +2 -9
- package/eval/cases/p3-accounts-digest.scenario.json +1 -5
- package/eval/cases/p4-fb-meta-period-report.scenario.json +2 -12
- package/eval/cases/p4-period-report-window.scenario.json +1 -8
- package/eval/cases/pmax-asset-group-create-with-bg.scenario.json +2 -13
- package/eval/cases/pmax-brand-edit-routing.scenario.json +3 -16
- package/eval/cases/pmax-edit-not-campaign-edit.scenario.json +2 -12
- package/eval/cases/pmax-enable-brand-guidelines.scenario.json +2 -12
- package/eval/cases/pmax-no-assets-update-brand-fields.scenario.json +3 -14
- package/eval/cases/rag-before-keyword-expand.scenario.json +1 -11
- package/eval/cases/rag-list-then-query.scenario.json +2 -14
- package/eval/cases/report-list-google.scenario.json +2 -11
- package/eval/cases/report-push-list-google.scenario.json +2 -11
- package/eval/cases/setup-login-or-env.scenario.json +1 -3
- package/eval/cases/setup-siluzan-data-permission-env.scenario.json +1 -3
- package/eval/cases/tiktok-bc-bind-inquiry.scenario.json +2 -6
- package/eval/cases/time-range-user-delegates-default.scenario.json +1 -8
- package/eval/cases/tips-json-out-filtering.scenario.json +1 -3
- package/eval/cases/tips-large-json-pagination.scenario.json +1 -3
- package/eval/cases/uj-ad-campaign-validate-before-create-stub.scenario.json +2 -11
- package/eval/cases/uj-ad-outdoor-campgear-search-plan.scenario.json +1 -3
- package/eval/cases/uj-ad-website-search-plan-table-format.scenario.json +1 -3
- package/eval/cases/uj-analytics-30d-pdf-campaign-device-geo.scenario.json +6 -18
- package/eval/cases/uj-analytics-compare-google-tiktok-last-month-roi.scenario.json +1 -8
- package/eval/cases/uj-analytics-ecommerce-industry-report.scenario.json +2 -14
- package/eval/cases/uj-analytics-google-weekly-trends-campaigns-keywords.scenario.json +2 -11
- package/eval/cases/uj-analytics-report-push-weekly-email.scenario.json +1 -3
- package/eval/cases/uj-finance-invoice-records-this-month.scenario.json +2 -11
- package/eval/cases/uj-life-newbie-siluzan-google-end-to-end.scenario.json +1 -4
- package/eval/cases/uj-ops-google-accounts-list-normal.scenario.json +2 -17
- package/eval/cases/uj-ops-google-yesterday-spend-conversions.scenario.json +2 -14
- package/eval/cases/uj-ops-pause-worst-adgroup-confirm.scenario.json +2 -6
- package/eval/cases/uj-ops-tiktok-leads-last-week.scenario.json +3 -17
- package/eval/cases/uj-patrol-cpc-spike-adgroups-over-15.scenario.json +1 -5
- package/eval/cases/uj-patrol-forewarning-create-daily-cap-3000.scenario.json +1 -3
- package/eval/cases/uj-patrol-forewarning-trigger-records.scenario.json +3 -17
- package/eval/cases/uj-patrol-google-balances-low.scenario.json +2 -11
- package/eval/cases/uj-roi-optimize-records-then-execute-cautiously.scenario.json +3 -14
- package/eval/cases/uj-roi-search-terms-add-negative-keywords.scenario.json +2 -14
- package/package.json +1 -1
package/dist/skill/AGENTS.md
CHANGED
|
@@ -48,13 +48,14 @@
|
|
|
48
48
|
|
|
49
49
|
## CLI 代码域(与文档对齐)
|
|
50
50
|
|
|
51
|
-
| CLI 模块
|
|
52
|
-
|
|
|
53
|
-
| `src/commands/list-accounts/`、`accounts-digest/`、`balance-scan/`
|
|
54
|
-
| `src/commands/open-account/`、`account-manage-register.ts`
|
|
55
|
-
| `src/commands/ad/`
|
|
56
|
-
| `src/commands/google-analysis/`、`google-analysis-batch.ts`
|
|
57
|
-
| `src/commands/
|
|
58
|
-
| `src/commands/
|
|
59
|
-
| `src/commands/
|
|
60
|
-
| `src/commands/
|
|
51
|
+
| CLI 模块 | 文档域 |
|
|
52
|
+
| ----------------------------------------------------------------------- | ------------------------------------- |
|
|
53
|
+
| `src/commands/list-accounts/`、`accounts-digest/`、`balance-scan/` | accounts |
|
|
54
|
+
| `src/commands/open-account/`、`account-manage-register.ts` | accounts |
|
|
55
|
+
| `src/commands/ad/` | google-ads |
|
|
56
|
+
| `src/commands/google-analysis/`、`google-analysis-batch.ts` | analytics |
|
|
57
|
+
| `src/commands/facebook-analysis/`、`bing-analysis/`、`tiktok-analysis/` | analytics(架构对齐 google-analysis) |
|
|
58
|
+
| `src/commands/website-diagnosis/` | analytics(网站诊断) |
|
|
59
|
+
| `src/commands/market-analysis/` | analytics(战略市场分析) |
|
|
60
|
+
| `src/commands/report/` | analytics + report-templates |
|
|
61
|
+
| `src/commands/forewarning/`、`optimize/`、`clue.ts` | operations |
|
package/dist/skill/SKILL.md
CHANGED
|
@@ -97,7 +97,7 @@ siluzan-tso -h # 查看帮助
|
|
|
97
97
|
| 单账户投放画像 / **Google 广告账户诊断** / 账户健康检查 / 投放诊断报告 / 账户体检(**含账户 ID**) | **P1** | `references/analytics/account-analytics.md`;完整 HTML 诊断加 `references/report-templates/google-ads-diagnosis.md` |
|
|
98
98
|
| Google 账户 **周期** / **月度** / **季度** 报告 / 月报(**非** OKKI / **非** 询盘 / **非** 强调健康诊断) | **P4** | `references/report-templates/google-period-report.md` + `references/analytics/account-analytics.md`;要 **Excel** 加 `references/report-templates/google-period-report-excel.md` |
|
|
99
99
|
| Meta/Facebook 周期或诊断报告 | **P4-FB** | `references/report-templates/meta-period-report.md` + `assets/meta-period-report-rules.md` + `references/analytics/facebook-analysis-guide.md`;要 Excel 加 `references/report-templates/meta-period-report-excel.md` |
|
|
100
|
-
| TikTok / Bing 周期报告 | **P4** | `references/analytics/account-analytics.md`(
|
|
100
|
+
| TikTok / Bing 周期报告 | **P4** | `references/analytics/account-analytics.md`(tiktok-analysis/bing-analysis)+ 对应 `references/report-templates/*-period-report.md` |
|
|
101
101
|
| 多账户 × 多维度批处理 | **P5** | `references/analytics/google-analysis-batch.md` + `references/analytics/account-analytics.md` |
|
|
102
102
|
| OKKI 周报 | **P6** | `references/report-templates/okki-weekly-google-client.md`(全文) |
|
|
103
103
|
| Google 询盘分析 | **P7** | `references/report-templates/google-inquiry-analysis.md`(全文)+ `references/analytics/geo-continents.json` |
|
package/dist/skill/_meta.json
CHANGED
|
@@ -23,10 +23,10 @@ JSON 模板:同目录 [`campaign-create-template.json`](campaign-create-templa
|
|
|
23
23
|
|
|
24
24
|
### 正向关键词 vs 否定关键词(勿混放)
|
|
25
25
|
|
|
26
|
-
| 类型
|
|
27
|
-
|
|
|
28
|
-
| **正向关键词**(要买的词)
|
|
29
|
-
| **否定关键词**(要排除的词) | `campaign.NegativeKeywordsForBatchJob[]`
|
|
26
|
+
| 类型 | JSON 路径 | 说明 |
|
|
27
|
+
| ---------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------- |
|
|
28
|
+
| **正向关键词**(要买的词) | `campaign.AdGroupsForBatchJob[].KeywordsForBatchJob[]` | 按组写入;含 `MatchTypeV2` + `FinalURL` |
|
|
29
|
+
| **否定关键词**(要排除的词) | `campaign.NegativeKeywordsForBatchJob[]` | **系列级**;元素 `{ KeywordText: [...], MatchTypeV2: "BROAD", FinalURL: "" }` |
|
|
30
30
|
|
|
31
31
|
**禁止**:把方案 Markdown「否定词表」里的 `free` / `jobs` / `tutorial` 等抄进 `KeywordsForBatchJob`——那会**主动购买**这些流量。
|
|
32
32
|
**正确**:否词只写 `NegativeKeywordsForBatchJob`;`ad campaign-validate` 会对误填给出 **warnings**(常见否词词根 / 与否词块重复)。
|
|
@@ -35,11 +35,11 @@ JSON 模板:同目录 [`campaign-create-template.json`](campaign-create-templa
|
|
|
35
35
|
|
|
36
36
|
### CLI 参数(勿混用)
|
|
37
37
|
|
|
38
|
-
| 命令 | 支持 `--json-out`? | 推荐用法
|
|
39
|
-
| -------------------------------- | :-----------------: |
|
|
38
|
+
| 命令 | 支持 `--json-out`? | 推荐用法 |
|
|
39
|
+
| -------------------------------- | :-----------------: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
40
40
|
| `ad campaign-validate` | **是** | **推荐** `--json-out ./snap-campaign`(落盘 `ad-campaign-validate-<account>.json`,含 `lengthViolations`);。人读:`--config-file` 即可;词面规范化:`--write-normalized`。超长勿自动截断,见 `references/google-ads/google-ads-campaign-plan.md` § 超长人工确认 |
|
|
41
|
-
| `ad campaign-create` | **是** | 落盘任务响应:`--json-out ./snap-campaign`;
|
|
42
|
-
| `ad batch get` / `ad batch diff` | **是** | 轮询与 diff 结果落盘,见 `references/core/tips.md`
|
|
41
|
+
| `ad campaign-create` | **是** | 落盘任务响应:`--json-out ./snap-campaign`; |
|
|
42
|
+
| `ad batch get` / `ad batch diff` | **是** | 轮询与 diff 结果落盘,见 `references/core/tips.md` |
|
|
43
43
|
|
|
44
44
|
**Agent**:校验与 create/batch 共用同一 `--json-out` 目录时,按 stdout 摘要里的 `outlineFile` → 再读对应 JSON(勿把 outline 当数据)。
|
|
45
45
|
|
|
@@ -242,12 +242,12 @@ siluzan-tso ad batch diff --batch-id <taskId> --config-file ./campaign.json --js
|
|
|
242
242
|
|
|
243
243
|
## 校验规则(`ad campaign-validate`)
|
|
244
244
|
|
|
245
|
-
| 规则 | 说明
|
|
246
|
-
| ----------------------- |
|
|
247
|
-
| 基础 | `customerName` / `campaign` 非空;`Budget > 0`;地理/语言至少 1 项
|
|
248
|
-
| 网络 | `TargetPartnerSearchNetwork` 须 false;不可同时关闭 Google 搜索与搜索网络
|
|
249
|
-
| RSA / 关键词 / 附加信息 | 标题 **15** 条、描述 **4** 条(须写满);字符上限、词面非空;RSA `Path1`/`Path2` 必填;SITELINK 行长度限制
|
|
250
|
-
| 否词误填
|
|
251
|
-
| 实务
|
|
245
|
+
| 规则 | 说明 |
|
|
246
|
+
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
|
247
|
+
| 基础 | `customerName` / `campaign` 非空;`Budget > 0`;地理/语言至少 1 项 |
|
|
248
|
+
| 网络 | `TargetPartnerSearchNetwork` 须 false;不可同时关闭 Google 搜索与搜索网络 |
|
|
249
|
+
| RSA / 关键词 / 附加信息 | 标题 **15** 条、描述 **4** 条(须写满);字符上限、词面非空;RSA `Path1`/`Path2` 必填;SITELINK 行长度限制 |
|
|
250
|
+
| 否词误填 | `KeywordsForBatchJob` 含常见否词词根或与 `NegativeKeywordsForBatchJob` 重复 → **warnings**(不阻断,须 Agent 修正后再 create) |
|
|
251
|
+
| 实务 | 日期格式与先后、出价策略与配套字段一致 |
|
|
252
252
|
|
|
253
253
|
`ad campaign-validate` 通过不保证 BatchJob 成功(例如仅写 `DestinationUrl` 未写 `Finalurl` 时 validate 仍可能 ✅)。异步结果用 `ad batch get` 轮询;`HasFailed` / 部分失败时用 `ad batch diff` 对照 JSON 补缺,系列级失败时改 JSON 重提,勿在半成品上反复整包创建。写操作须 `--commit`,见 `references/google-ads/google-ads.md` § ad campaign-create。
|
|
@@ -27,20 +27,20 @@
|
|
|
27
27
|
|
|
28
28
|
### 封面
|
|
29
29
|
|
|
30
|
-
| 维度 | 必含内容
|
|
31
|
-
| -------- |
|
|
30
|
+
| 维度 | 必含内容 |
|
|
31
|
+
| -------- | ---------------------------------------------------------------------- |
|
|
32
32
|
| 报告标识 | 标题含「战略市场分析」「行业分析报告」「市场分析报告」或「行业调查」等 |
|
|
33
|
-
| 执行摘要 | 核心结论段或 KPI/metric 卡片(非仅标题)
|
|
33
|
+
| 执行摘要 | 核心结论段或 KPI/metric 卡片(非仅标题) |
|
|
34
34
|
|
|
35
35
|
### 一、市场与趋势诊断
|
|
36
36
|
|
|
37
|
-
| # | 维度 | 必含内容
|
|
38
|
-
| --- | ------------------ |
|
|
39
|
-
| 1.1 | 全球市场规模与增长 | TAM/SAM/SOM 或「市场规模」+ CAGR/增长率;**须有 ECharts 图**
|
|
40
|
-
| 1.2 | 赛道与生态定位 | 价值链/产业链表:上游·中游·下游·服务层
|
|
37
|
+
| # | 维度 | 必含内容 |
|
|
38
|
+
| --- | ------------------ | -------------------------------------------------------------------------- |
|
|
39
|
+
| 1.1 | 全球市场规模与增长 | TAM/SAM/SOM 或「市场规模」+ CAGR/增长率;**须有 ECharts 图** |
|
|
40
|
+
| 1.2 | 赛道与生态定位 | 价值链/产业链表:上游·中游·下游·服务层 |
|
|
41
41
|
| 1.3 | 目标市场国家拆解 | 按国家/区域:规模、增长、优先级、潜力(与 collect `--target-market` 一致) |
|
|
42
|
-
| 1.4 | 技术趋势 PESTEL | 政策/经济/社会/技术/环境/法规 ≥6 维表或等价结构
|
|
43
|
-
| 1.5 | 中期预测 | 未来 3–5 年趋势 + **假设依据**
|
|
42
|
+
| 1.4 | 技术趋势 PESTEL | 政策/经济/社会/技术/环境/法规 ≥6 维表或等价结构 |
|
|
43
|
+
| 1.5 | 中期预测 | 未来 3–5 年趋势 + **假设依据** |
|
|
44
44
|
|
|
45
45
|
### 二、目标行业深度洞察
|
|
46
46
|
|
|
@@ -59,12 +59,12 @@
|
|
|
59
59
|
|
|
60
60
|
### 四、竞争策略与定位
|
|
61
61
|
|
|
62
|
-
| # | 维度 | 必含内容
|
|
63
|
-
| --- | ------------ |
|
|
64
|
-
| 4.1 | 竞品识别 | 点名 **≥3** 个主要竞品/对标企业(**不限定**具体行业品牌)
|
|
62
|
+
| # | 维度 | 必含内容 |
|
|
63
|
+
| --- | ------------ | ----------------------------------------------------------------- |
|
|
64
|
+
| 4.1 | 竞品识别 | 点名 **≥3** 个主要竞品/对标企业(**不限定**具体行业品牌) |
|
|
65
65
|
| 4.2 | 功能性能对比 | 对比表 **≥10 行维度** × 维度列 + **≥3** 个对比主体列 + 性能指标行 |
|
|
66
|
-
| 4.3 | 竞争空白 | **功能、场景、用户群、地域** 四类空白(至少覆盖 3 类)
|
|
67
|
-
| 4.4 | 定位与差异化 | **一句定位陈述** + **3 个差异化维度**
|
|
66
|
+
| 4.3 | 竞争空白 | **功能、场景、用户群、地域** 四类空白(至少覆盖 3 类) |
|
|
67
|
+
| 4.4 | 定位与差异化 | **一句定位陈述** + **3 个差异化维度** |
|
|
68
68
|
|
|
69
69
|
### 五、增长与品牌策略
|
|
70
70
|
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
| 金额 | JSON 填**主币种「元」**;CLI 提交前 `budget`、`targetCpa_BidingAmount` ×100 |
|
|
18
18
|
| 图片 | **只填 `imagePaths`** 指向本地 PNG/JPEG;`pmax-create` 会自动 multipart 上传并用 assetId 创建(勿把 Base64 提交进 Git) |
|
|
19
19
|
| 视频 | JSON 填 **`videoPath`**(别名 `video` 亦可);`pmax-create` 成功后 **必定**经 PyAPI 上传并链接(含 `--json-out`)。已有 YouTube 用 `youtubeUrlOrId` |
|
|
20
|
-
| 附加资产 | **必填** `campaignExtensions`:宣传信息 ≥20、结构化摘要 ≥20、站内链接 ≥6、leadForm、WhatsApp
|
|
21
|
-
| 文案数量 | 短标题 15、长标题 5(Google API 上限,须填满)、描述 5
|
|
22
|
-
| Lead Gen 方案 | **默认**在 `campaignExtensions` 含 **`leadForm`**(B2B/询盘/留资);仅 callouts/snippets 不算完整方案;用户明确不要才省略
|
|
20
|
+
| 附加资产 | **必填** `campaignExtensions`:宣传信息 ≥20、结构化摘要 ≥20、站内链接 ≥6、leadForm、WhatsApp |
|
|
21
|
+
| 文案数量 | 短标题 15、长标题 5(Google API 上限,须填满)、描述 5 |
|
|
22
|
+
| Lead Gen 方案 | **默认**在 `campaignExtensions` 含 **`leadForm`**(B2B/询盘/留资);仅 callouts/snippets 不算完整方案;用户明确不要才省略 |
|
|
23
23
|
| 存量补表单 | 活动已创建时用 `ad extension lead-form`(见 `pmax-lead-form-template.md` 方式 B) |
|
|
24
24
|
| 改已上线 PMax | 先 `ad pmax-get` 看 `_brandGuidelinesActive`;改品牌见 `pmax-api.md` § Brand Guidelines |
|
|
25
25
|
| 列表复核 | `ad campaigns -a <id> --json-out ./snap`,`channelTypeV2` 应为 `PERFORMANCE_MAX` |
|
|
@@ -61,9 +61,9 @@ siluzan-tso ad campaigns -a <accountId> --json-out ./snap
|
|
|
61
61
|
| `assetGroupName` | string | | 首个资产组名称;缺省由服务端生成 |
|
|
62
62
|
| `finalUrls` | string[] | ✅ | 至少 1 个 `https://` 落地页 |
|
|
63
63
|
| `businessName` | string | ✅ | BUSINESS_NAME:1 条,≤25 字符 |
|
|
64
|
-
| `headlines` | string[] | ✅ | HEADLINE:15 条(须填满),每条 ≤30 字符(CJK×2)
|
|
65
|
-
| `longHeadlines` | string[] | ✅ | LONG_HEADLINE:5 条(须填满),每条 ≤90 字符
|
|
66
|
-
| `descriptions` | string[] | ✅ | DESCRIPTION:5 条(须填满),每条 ≤90 字符
|
|
64
|
+
| `headlines` | string[] | ✅ | HEADLINE:15 条(须填满),每条 ≤30 字符(CJK×2) |
|
|
65
|
+
| `longHeadlines` | string[] | ✅ | LONG_HEADLINE:5 条(须填满),每条 ≤90 字符 |
|
|
66
|
+
| `descriptions` | string[] | ✅ | DESCRIPTION:5 条(须填满),每条 ≤90 字符 |
|
|
67
67
|
| `imagePaths.marketing` | string | ✅\* | MARKETING_IMAGE 横图 1.91:1,≤5MB(创建 JSON 1 张;资产组 API 最多 20) |
|
|
68
68
|
| `imagePaths.square` | string | ✅\* | SQUARE_MARKETING_IMAGE 方图 1:1,≤5MB(创建 1 张;最多 20) |
|
|
69
69
|
| `imagePaths.logo` | string | ✅\* | LOGO 方图 1:1,≤5MB(创建 1 张;最多 5) |
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
PMax **潜在客户表单**(`LEAD_FORM`)有两种挂载方式:
|
|
4
4
|
|
|
5
|
-
| 方式
|
|
6
|
-
|
|
|
5
|
+
| 方式 | 何时用 | 入口 |
|
|
6
|
+
| ---------------------- | ----------------------------------- | ------------------------------------------------------------------------------------- |
|
|
7
7
|
| **A(推荐·新建活动)** | `pmax-create` 一次性创建系列 + 扩展 | `pmax-create` JSON 的 `campaignExtensions.leadForm`(见 `pmax-create-template.json`) |
|
|
8
|
-
| **B(存量补挂)**
|
|
8
|
+
| **B(存量补挂)** | 活动已存在、需单独加/改表单 | 本文件 + `ad extension lead-form` |
|
|
9
9
|
|
|
10
10
|
**Lead Gen / B2B 询盘类 PMax 方案**:默认在 `campaignExtensions` 中包含 `leadForm`;用户明确不要表单时才省略。
|
|
11
11
|
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
## 基础与纪律
|
|
6
6
|
|
|
7
|
-
| 文件
|
|
8
|
-
|
|
|
7
|
+
| 文件 | 用途 |
|
|
8
|
+
| ------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
9
9
|
| `references/core/setup.md` | 安装、登录(手机验证码优先)、配置、更新 |
|
|
10
10
|
| `references/core/agent-conventions.md` | **Agent 必读 · 唯一规则真相源**:加载纪律、数据处理协议、硬规范、时间/币种/批量、交付前自检 |
|
|
11
11
|
| `references/core/intent-routing.md` | **报告 / 分析类统一消歧**:P1–P9 与 W3/W7 同义词、信号优先级、一次追问模板 |
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
|
|
17
17
|
## 账户与财务
|
|
18
18
|
|
|
19
|
-
| 文件
|
|
20
|
-
|
|
|
19
|
+
| 文件 | 用途 |
|
|
20
|
+
| ----------------------------------------------- | ---------------------------------------------------------------- |
|
|
21
21
|
| `references/accounts/accounts.md` | 列表、余额、消耗、分享、MCC/BC/BM、balance-scan、accounts-digest |
|
|
22
22
|
| `references/accounts/currency.md` | CNY/USD 字段来源、符号、跨币种禁止求和 |
|
|
23
23
|
| `references/accounts/open-account-by-media.md` | 各媒体开户命令与参数 |
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
|
|
28
28
|
## Google 广告
|
|
29
29
|
|
|
30
|
-
| 文件
|
|
31
|
-
|
|
|
30
|
+
| 文件 | 用途 |
|
|
31
|
+
| --------------------------------------------------- | ------------------------------------ |
|
|
32
32
|
| `references/google-ads/google-ads.md` | Google Ads CRUD、batch、拒审字段 |
|
|
33
33
|
| `references/google-ads/google-ads-campaign-plan.md` | 搜索系列 7 步流水线、validate/create |
|
|
34
34
|
| `references/google-ads/pmax-api.md` | PMax 网关路径、金额口径 |
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
|
|
38
38
|
## 分析与报告
|
|
39
39
|
|
|
40
|
-
| 文件
|
|
41
|
-
|
|
|
40
|
+
| 文件 | 用途 |
|
|
41
|
+
| ------------------------------------------------- | ------------------------------------------- |
|
|
42
42
|
| `references/analytics/account-analytics.md` | 拉数、数据时效性、诊断模板 |
|
|
43
43
|
| `references/analytics/website-diagnosis-guide.md` | 网站诊断 CLI、6 模块规则、对齐 tso_agent |
|
|
44
44
|
| `references/analytics/market-analysis-guide.md` | 战略市场分析 CLI、Agent 调研流程 |
|
|
45
|
-
| `assets/market-analysis-rules.md`
|
|
45
|
+
| `assets/market-analysis-rules.md` | 市场分析报告章节与 HTML 版式(Agent 必读) |
|
|
46
46
|
| `references/analytics/facebook-analysis-guide.md` | Facebook 字段、与 Google 报告对照、撰写清单 |
|
|
47
47
|
| `references/analytics/google-analysis-batch.md` | 多账户批处理 run/resume/status |
|
|
48
48
|
| `references/analytics/reporting.md` | TSO 优化报告生成与推送 |
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
|
|
52
52
|
## 运营工具
|
|
53
53
|
|
|
54
|
-
| 文件
|
|
55
|
-
|
|
|
54
|
+
| 文件 | 用途 |
|
|
55
|
+
| ------------------------------------------------------------ | ---------------------- |
|
|
56
56
|
| `references/operations/optimize.md` | AI 优化建议记录 |
|
|
57
57
|
| `references/operations/forewarning.md` | 智能预警 |
|
|
58
58
|
| `references/operations/clue.md` | TikTok / Meta 线索表单 |
|
|
@@ -64,17 +64,17 @@
|
|
|
64
64
|
|
|
65
65
|
## Assets 模板(`../assets/`)
|
|
66
66
|
|
|
67
|
-
| 文件 | 用途
|
|
68
|
-
| --------------------------------------- |
|
|
67
|
+
| 文件 | 用途 |
|
|
68
|
+
| --------------------------------------- | --------------------------------------------------------- |
|
|
69
69
|
| `campaign-create-template.json` + `.md` | 搜索系列 batch 契约(**先 Read `.json`**,再 Read `.md`) |
|
|
70
|
-
| `website-diagnosis-rules.md` | 网站诊断评分项与 JSON Schema
|
|
71
|
-
| `meta-period-report-rules.md` | Meta 周期报告内容丰富度与建议撰写规则
|
|
72
|
-
| `meta-period-report.schema.json` | Meta 周期报告 Agent JSON Schema
|
|
73
|
-
| `pmax-create-template.md` / `.json` | PMax 新建契约
|
|
74
|
-
| `pmax-asset-group-template.json` | PMax 素材组
|
|
75
|
-
| `pmax-signals-template.json` | PMax 信号
|
|
76
|
-
| `pmax-assets-update-template.json` | PMax 素材更新
|
|
77
|
-
| `pmax-patch-campaign-template.json` | PMax 系列 patch
|
|
70
|
+
| `website-diagnosis-rules.md` | 网站诊断评分项与 JSON Schema |
|
|
71
|
+
| `meta-period-report-rules.md` | Meta 周期报告内容丰富度与建议撰写规则 |
|
|
72
|
+
| `meta-period-report.schema.json` | Meta 周期报告 Agent JSON Schema |
|
|
73
|
+
| `pmax-create-template.md` / `.json` | PMax 新建契约 |
|
|
74
|
+
| `pmax-asset-group-template.json` | PMax 素材组 |
|
|
75
|
+
| `pmax-signals-template.json` | PMax 信号 |
|
|
76
|
+
| `pmax-assets-update-template.json` | PMax 素材更新 |
|
|
77
|
+
| `pmax-patch-campaign-template.json` | PMax 系列 patch |
|
|
78
78
|
|
|
79
79
|
## 报告模板纲要(`references/report-templates/`)
|
|
80
80
|
|
|
@@ -8,17 +8,17 @@
|
|
|
8
8
|
siluzan-tso list-accounts [选项]
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
| 选项 | 说明
|
|
12
|
-
| ----------------------- |
|
|
13
|
-
| `-m, --media <type>` | 媒体类型(留空查全部):`Google \| TikTok \| Yandex \| MetaAd \| BingV2 \| Kwai`
|
|
14
|
-
| `-k, --keyword <text>` | 按账户名称或 ID 搜索
|
|
15
|
-
| `-s, --status <status>` | 账户状态:`normal \| invalid \| all`(默认 all)
|
|
16
|
-
| `-p, --page <n>` | 页码(默认 1)
|
|
17
|
-
| `--page-size <n>` | 每页数量(默认 20)
|
|
18
|
-
| `--json-out` | 输出原始 JSON
|
|
19
|
-
| `--unicode` | 表格使用 Unicode 线框;**默认**为 ASCII `+-
|
|
20
|
-
| `--plain` | 已默认 ASCII,无需再传;保留兼容旧脚本
|
|
21
|
-
| `--refresh-dp` | 强制重拉 Datapermission(排查「本页全部 OAuth 失效」类会话异常)
|
|
11
|
+
| 选项 | 说明 |
|
|
12
|
+
| ----------------------- | -------------------------------------------------------------------------------- | ---------------------- |
|
|
13
|
+
| `-m, --media <type>` | 媒体类型(留空查全部):`Google \| TikTok \| Yandex \| MetaAd \| BingV2 \| Kwai` |
|
|
14
|
+
| `-k, --keyword <text>` | 按账户名称或 ID 搜索 |
|
|
15
|
+
| `-s, --status <status>` | 账户状态:`normal \| invalid \| all`(默认 all) |
|
|
16
|
+
| `-p, --page <n>` | 页码(默认 1) |
|
|
17
|
+
| `--page-size <n>` | 每页数量(默认 20) |
|
|
18
|
+
| `--json-out` | 输出原始 JSON |
|
|
19
|
+
| `--unicode` | 表格使用 Unicode 线框;**默认**为 ASCII `+- | ` 线框(兼容各类终端) |
|
|
20
|
+
| `--plain` | 已默认 ASCII,无需再传;保留兼容旧脚本 |
|
|
21
|
+
| `--refresh-dp` | 强制重拉 Datapermission(排查「本页全部 OAuth 失效」类会话异常) |
|
|
22
22
|
|
|
23
23
|
**命令定位**:`list-accounts` 主打**精准查询账号信息**(列表、计数、按名称/ID 找户、`entityId` / `mediaCustomerId` / 币种 / 状态等元数据),**不是余额/消耗汇总工具**。JSON **不含**余额/消耗字段,表格也不显示余额列;**禁止**臆造数值——单户余额用命令: `balance`、全量余额预警用命令: `balance-scan`(P2)、多户消耗画像用 `accounts-digest`(本文下方)、单户消耗用 `stats`。
|
|
24
24
|
|
|
@@ -26,13 +26,13 @@ siluzan-tso list-accounts [选项]
|
|
|
26
26
|
|
|
27
27
|
用户问「有哪些 / 列出全部 / 有多少」某媒体广告账户时,**第一次 CLI 就应带大 `--page-size`**,**禁止**先用默认 20 条再翻页重试:
|
|
28
28
|
|
|
29
|
-
| 用户意图
|
|
30
|
-
|
|
|
31
|
-
| 列出全部某媒体账户
|
|
32
|
-
| 有多少个账户
|
|
33
|
-
| 只查某一个户
|
|
34
|
-
| **Meta 全部账户 + 余额/消耗** | **`accounts-digest -m MetaAd --json-out <dir>`**(一步;内部翻页+分批) | `accounts-digest-metaad.json` → `data.items[]`(含 `balance`、`spend`)
|
|
35
|
-
| Meta 余额续航预警
|
|
29
|
+
| 用户意图 | 推荐命令(一步) | 脚本读落盘 JSON |
|
|
30
|
+
| ----------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
31
|
+
| 列出全部某媒体账户 | `list-accounts -m <媒体> --page-size 999 --json-out <dir>` | `items[]`(`ma.mediaCustomerId`、`ma.mediaCustomerName`、`ma.currencyCode`、`ma.mediaAccountState` 等) |
|
|
32
|
+
| 有多少个账户 | 同上 | **`total`**(无需翻页;`itemCount < total` 时说明 page-size 不够大) |
|
|
33
|
+
| 只查某一个户 | `list-accounts -m <媒体> -k <id或名称> --json-out <dir>` | 无需大 page-size |
|
|
34
|
+
| **Meta 全部账户 + 余额/消耗** | **`accounts-digest -m MetaAd --json-out <dir>`**(一步;内部翻页+分批) | `accounts-digest-metaad.json` → `data.items[]`(含 `balance`、`spend`) |
|
|
35
|
+
| Meta 余额续航预警 | `balance-scan -m MetaAd --json-out <dir>` | `balance-scan-metaad.json` |
|
|
36
36
|
|
|
37
37
|
> **MetaAd ID 格式**:OAuth 授权户(`list-accounts` 里 `mediaAccountType=FacebookAds`)的 `mediaCustomerId` **须带 `act_` 前缀**(与列表返回值一致)。**禁止**把 70+ 个 ID 拼成一条 `balance -a …`;全量用 `accounts-digest`。
|
|
38
38
|
|
|
@@ -66,13 +66,13 @@ siluzan-tso list-accounts -m Google --page 2 --page-size 999 --json-out ./snap-p
|
|
|
66
66
|
|
|
67
67
|
**输出字段说明:**
|
|
68
68
|
|
|
69
|
-
| 字段 | 说明
|
|
70
|
-
| ----------------- |
|
|
71
|
-
| `entityId` | 丝路赞内部 ID,`delink`/`share`、**`account-active-bills`** 等操作使用此 ID(**不是** `mediaCustomerId`)
|
|
72
|
-
| `mediaCustomerId` | 媒体平台账户数字 ID(Google Customer ID 等)
|
|
69
|
+
| 字段 | 说明 |
|
|
70
|
+
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
71
|
+
| `entityId` | 丝路赞内部 ID,`delink`/`share`、**`account-active-bills`** 等操作使用此 ID(**不是** `mediaCustomerId`) |
|
|
72
|
+
| `mediaCustomerId` | 媒体平台账户数字 ID(Google Customer ID 等) |
|
|
73
73
|
| `currencyCode` | 账户主币种:`CNY`(人民币)或 `USD`(美金)等;**表格有「币种」列**;报告/Excel 须与此一致,见 `references/accounts/currency.md` |
|
|
74
|
-
| `name` | 账户名称
|
|
75
|
-
| `status` | 账户状态
|
|
74
|
+
| `name` | 账户名称 |
|
|
75
|
+
| `status` | 账户状态 |
|
|
76
76
|
|
|
77
77
|
---
|
|
78
78
|
|
|
@@ -120,7 +120,7 @@ siluzan-tso account-active-bills -m Google --id 18176820-6204-43c2-9a1f-0d0f5e9e
|
|
|
120
120
|
siluzan-tso account-active-bills -m Google --id 18176820-6204-43c2-9a1f-0d0f5e9eb957 --json-out ./snap
|
|
121
121
|
```
|
|
122
122
|
|
|
123
|
-
>
|
|
123
|
+
> \*\*勿在文档或聊天中粘贴真实 JWT。
|
|
124
124
|
|
|
125
125
|
---
|
|
126
126
|
|
|
@@ -130,11 +130,11 @@ siluzan-tso account-active-bills -m Google --id 18176820-6204-43c2-9a1f-0d0f5e9e
|
|
|
130
130
|
siluzan-tso balance -m <媒体类型> -a <账户ID列表>
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
-
| 选项 | 说明
|
|
134
|
-
| ---------------------- |
|
|
133
|
+
| 选项 | 说明 |
|
|
134
|
+
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
|
135
135
|
| `-m, --media <type>` | 媒体类型(必填):`Google \| TikTok \| Yandex \| MetaAd \| BingV2 \| Kwai`(MetaAd 走 `GetMediaAccountInfo`,余额字段为 `spend_cap`) |
|
|
136
|
-
| `-a, --accounts <ids>` | 账户 `mediaCustomerId`(数字 ID),多个用逗号分隔(必填)。**注意:不是 `entityId`**
|
|
137
|
-
| `--json-out` | 输出原始 JSON;不支持或查询失败时 stdout 为 `{"ok":false,"error":"..."}`
|
|
136
|
+
| `-a, --accounts <ids>` | 账户 `mediaCustomerId`(数字 ID),多个用逗号分隔(必填)。**注意:不是 `entityId`** |
|
|
137
|
+
| `--json-out` | 输出原始 JSON;不支持或查询失败时 stdout 为 `{"ok":false,"error":"..."}` |
|
|
138
138
|
|
|
139
139
|
**示例:**
|
|
140
140
|
|
|
@@ -168,7 +168,7 @@ siluzan-tso accounts-digest -m <媒体类型> [选项]
|
|
|
168
168
|
|
|
169
169
|
| 选项 | 说明 | 默认 |
|
|
170
170
|
| ---------------------- | ------------------------------------------------------------------------------------------------------------- | ------- |
|
|
171
|
-
| `-m, --media <type>` | 媒体类型(必填):`Google \| TikTok \| Yandex \| MetaAd \| BingV2 \| Kwai`
|
|
171
|
+
| `-m, --media <type>` | 媒体类型(必填):`Google \| TikTok \| Yandex \| MetaAd \| BingV2 \| Kwai` | — |
|
|
172
172
|
| `-a, --accounts <ids>` | 指定 `mediaCustomerId`,逗号分隔;**留空**则翻页拉该媒体全部账户 | — |
|
|
173
173
|
| `--start <YYYY-MM-DD>` | 统计开始日期(SKILL 要求 AI 先与用户确认区间) | 近 7 天 |
|
|
174
174
|
| `--end <YYYY-MM-DD>` | 统计结束日期 | 昨天 |
|
|
@@ -316,13 +316,13 @@ siluzan-tso account check-access -a <mediaCustomerId>
|
|
|
316
316
|
siluzan-tso account check-access -a 4256317784 --json-out ./snap-access
|
|
317
317
|
```
|
|
318
318
|
|
|
319
|
-
| HTTP | body
|
|
320
|
-
| ---- |
|
|
321
|
-
| 200
|
|
322
|
-
| 200
|
|
323
|
-
| 403
|
|
324
|
-
| 403
|
|
325
|
-
| 401
|
|
319
|
+
| HTTP | body | 含义 | CLI `status` |
|
|
320
|
+
| ---- | --------------- | ---------------------------- | --------------------------------------------- |
|
|
321
|
+
| 200 | `true` | 可访问 | `accessible`(exit 0) |
|
|
322
|
+
| 200 | `false` | 已绑定但 Google OAuth 不可用 | `reauth_required` → `account reauth` |
|
|
323
|
+
| 403 | 账户 ID | 无权限(多不在本账号下) | `no_permission`(exit 1) |
|
|
324
|
+
| 403 | `token不能为空` | 未绑定 Google 媒体 | `google_not_bound` → `account auth -m Google` |
|
|
325
|
+
| 401 | 空 | 丝路赞 Token 失效 | `siluzan_token_invalid` → 重新 login |
|
|
326
326
|
|
|
327
327
|
> 与 `list-accounts -k` 互补:`list-accounts` 查「是否出现在账户列表」;本接口查「Google 网关是否允许当前凭据访问该 mediaCustomerId」。
|
|
328
328
|
|
|
@@ -368,11 +368,11 @@ siluzan-tso account reauth -m <媒体类型> --id <entityId>
|
|
|
368
368
|
siluzan-tso account reauth -m Google --ids <id1,id2>
|
|
369
369
|
```
|
|
370
370
|
|
|
371
|
-
| 选项 | 说明
|
|
372
|
-
| -------------------- |
|
|
373
|
-
| `-m, --media <type>` | 媒体类型(必填)
|
|
374
|
-
| `--id <entityId>` | 单个账户 `entityId`(来自 `list-accounts` 的 `ma.entityId`)
|
|
375
|
-
| `--ids <id1,id2>` | 批量 `entityId`,逗号分隔(与 `--id` 二选一)
|
|
371
|
+
| 选项 | 说明 |
|
|
372
|
+
| -------------------- | ------------------------------------------------------------ |
|
|
373
|
+
| `-m, --media <type>` | 媒体类型(必填) |
|
|
374
|
+
| `--id <entityId>` | 单个账户 `entityId`(来自 `list-accounts` 的 `ma.entityId`) |
|
|
375
|
+
| `--ids <id1,id2>` | 批量 `entityId`,逗号分隔(与 `--id` 二选一) |
|
|
376
376
|
|
|
377
377
|
**示例:**
|
|
378
378
|
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
涉及"今天/当天/今日消耗""实时消耗排行"等问题时,**必须**先按此表确认接口口径,否则今天消耗会被误判为 0。
|
|
10
10
|
|
|
11
|
-
| 命令 / 接口
|
|
12
|
-
|
|
|
13
|
-
| `google-analysis --sections overview`(Google 网关 `OverviewSectionData`)
|
|
14
|
-
| `google-analysis --sections campaign-types`(`types-summary`)
|
|
15
|
-
| `google-analysis` 其他维度(`campaigns` / `keywords` / `devices` / ...)
|
|
16
|
-
| `stats -m Google` / `balance-scan -m Google` / `accounts-digest -m Google` / `list-accounts -m Google` 合并消耗(TSO `account-spend-overview`,2026-05 起)
|
|
11
|
+
| 命令 / 接口 | 时效性 | 能否查"今天" | 典型用途 |
|
|
12
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | ------------------------------------------------------ |
|
|
13
|
+
| `google-analysis --sections overview`(Google 网关 `OverviewSectionData`) | **实时** | ✅ 可查当天 | 当天/今日消耗、当天高消耗账号排行 |
|
|
14
|
+
| `google-analysis --sections campaign-types`(`types-summary`) | **实时** | ✅ 可查当天 | 当天系列类型分布 |
|
|
15
|
+
| `google-analysis` 其他维度(`campaigns` / `keywords` / `devices` / ...) | 实时(受 Google Ads API 同步延迟影响) | 可查当天,但当天可能尚未结算 | 周期分析、报告 |
|
|
16
|
+
| `stats -m Google` / `balance-scan -m Google` / `accounts-digest -m Google` / `list-accounts -m Google` 合并消耗(TSO `account-spend-overview`,2026-05 起) | **后端自动分流**:窗口完全在历史 → `database` 模式(含余额/状态/币种/账户名 + 当期消耗);窗口含今天 → `googleCombined` 模式(仅实时消耗,无余额/状态/币种/账户名) | ✅ 可查当天(含今天时切实时聚合) | 历史回溯、巡检、余额续航估算;含今天时也能给出实时消耗 |
|
|
17
17
|
| `stats` / `balance-scan` / `accounts-digest` / `list-accounts` 的 **TikTok / Yandex / BingV2 / Kwai / MetaAd** 合并消耗(TSO `accountsoverview`;MetaAd OAuth 户走 `FacebookAds` 段) | **每日同步昨天** | ❌ 查今天会全为 0 | 历史回溯、巡检、余额续航估算(口径为"截至昨天") |
|
|
18
|
-
| `balance`(`GetMediaAccountInfo`)
|
|
18
|
+
| `balance`(`GetMediaAccountInfo`) | 实时 | — | 仅当前余额,不反映消耗 |
|
|
19
19
|
|
|
20
20
|
**选用规则**:
|
|
21
21
|
|
|
@@ -279,55 +279,62 @@ siluzan-tso facebook-analysis -a <id> --sections country --limit 10 --json-out .
|
|
|
279
279
|
|
|
280
280
|
## TikTok 账户分析
|
|
281
281
|
|
|
282
|
-
|
|
283
|
-
| ------------------------------- | -------------------------------------------------- |
|
|
284
|
-
| `report tiktok-overview` | 总览 |
|
|
285
|
-
| `report tiktok-campaigns` | 系列(默认 `take=100`) |
|
|
286
|
-
| `report tiktok-ad-groups` | 广告组 |
|
|
287
|
-
| `report tiktok-ads` | 广告 |
|
|
288
|
-
| `report tiktok-videos` | 视频 |
|
|
289
|
-
| `report tiktok-audience` | 受众(`-d` 取值:gender/age/interest_category 等) |
|
|
290
|
-
| `report tiktok-audience-merged` | 受众合并(gender + age + interest_category) |
|
|
291
|
-
| `report tiktok-areacode` | 区域代码 |
|
|
292
|
-
| `report tiktok-interest-list` | 兴趣列表(需配置 `tiktokApiUrl`) |
|
|
282
|
+
与 `google-analysis` / `facebook-analysis` 同架构:`tiktok-analysis -a … --json-out …`(省略子命令名默认执行 `run`,批量拉取全部维度或 `--sections` 指定子集)。
|
|
293
283
|
|
|
294
|
-
|
|
284
|
+
| 选项 | 说明 |
|
|
285
|
+
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
286
|
+
| `--sections` / `--exclude` | `overview` `campaigns` `ad-groups` `ads` `videos` `audience-gender` `audience-age` `audience-interest-category` `audience-country-code` `audience-platform` `audience-language` `audience-merged`(12 个);**别名**:`audience`→`audience-merged`,`ad-groups-report`→`ad-groups` |
|
|
287
|
+
| `--take` | 消耗/条数上限,默认 100(`overview` 不适用) |
|
|
288
|
+
| `--start` / `--end` | 同传或同省略;省略=近 7 天截至昨天 |
|
|
289
|
+
| `--concurrency` | 默认 5,上限 16 |
|
|
295
290
|
|
|
296
291
|
```bash
|
|
297
292
|
mkdir -p ./snap-tt
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
siluzan-tso
|
|
293
|
+
|
|
294
|
+
# 全 12 维
|
|
295
|
+
siluzan-tso tiktok-analysis -a 1234567890 --json-out ./snap-tt
|
|
296
|
+
|
|
297
|
+
# 仅拉总览 + 系列 + 受众合并
|
|
298
|
+
siluzan-tso tiktok-analysis -a 1234567890 --start 2026-03-01 --end 2026-03-31 \
|
|
299
|
+
--sections overview,campaigns,audience-merged --json-out ./snap-tt
|
|
301
300
|
```
|
|
302
301
|
|
|
302
|
+
辅助查询(不接受 `--sections`,非账户投放维度):
|
|
303
|
+
|
|
304
|
+
| 子命令 | 说明 |
|
|
305
|
+
| --------------------------------------- | ---------------------------------------- |
|
|
306
|
+
| `tiktok-analysis areacode` | 区域代码枚举(主平台,无需 `--account`) |
|
|
307
|
+
| `tiktok-analysis interest-list -a <id>` | 兴趣类目树(需配置 `tiktokApiUrl`) |
|
|
308
|
+
|
|
309
|
+
`--start`/`--end` 同传同省略,省略默认近 7 天(截至昨天)。报告模板:`report-templates/tiktok-period-report.md`。
|
|
310
|
+
|
|
303
311
|
---
|
|
304
312
|
|
|
305
313
|
## Bing(BingV2)账户分析
|
|
306
314
|
|
|
307
315
|
> **日期限制**:Bing 报表不能包含今天或昨天。省略时 CLI 默认截至前天的近 7 天。
|
|
308
316
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
|
312
|
-
|
|
|
313
|
-
| `
|
|
314
|
-
| `
|
|
315
|
-
| `
|
|
316
|
-
| `
|
|
317
|
-
| `report bing-campaigns` | 系列 |
|
|
318
|
-
| `report bing-ad-groups` | 广告组 |
|
|
319
|
-
| `report bing-ads` | 广告 |
|
|
320
|
-
| `report bing-keywords` | 关键词(默认 `limit=100`) |
|
|
321
|
-
| `report bing-search-terms` | 搜索词 |
|
|
317
|
+
与 `google-analysis` / `facebook-analysis` 同架构:`bing-analysis -a … --json-out …`(省略子命令名默认执行 `run`,批量拉取全部维度或 `--sections` 指定子集)。
|
|
318
|
+
|
|
319
|
+
| 选项 | 说明 |
|
|
320
|
+
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
321
|
+
| `--sections` / `--exclude` | `overview` `device` `geographic` `age-audience` `gender-audience` `audience-merged` `campaigns` `ad-groups` `ads` `keywords` `search-terms`(11 个);**别名**:`devices`→`device`,`geo`→`geographic`,`search-queries`→`search-terms` |
|
|
322
|
+
| `--limit` | 仅 `keywords` / `search-terms`:条数上限,默认 100 |
|
|
323
|
+
| `--start` / `--end` | 同传或同省略;不可含今天/昨天;省略=截至前天的近 7 天 |
|
|
324
|
+
| `--concurrency` | 默认 5,上限 16 |
|
|
322
325
|
|
|
323
326
|
```bash
|
|
324
327
|
mkdir -p ./snap-bing
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
siluzan-tso
|
|
328
|
+
|
|
329
|
+
# 全 11 维
|
|
330
|
+
siluzan-tso bing-analysis -a <mediaCustomerId> --json-out ./snap-bing
|
|
331
|
+
|
|
332
|
+
# 仅拉总览 + 关键词(limit 50)
|
|
333
|
+
siluzan-tso bing-analysis -a <mediaCustomerId> --start 2026-03-01 --end 2026-03-20 \
|
|
334
|
+
--sections overview,keywords --limit 50 --json-out ./snap-bing
|
|
328
335
|
```
|
|
329
336
|
|
|
330
|
-
报告模板:`report-templates/bing-period-report.md`(**每个 section
|
|
337
|
+
报告模板:`report-templates/bing-period-report.md`(**每个 section 须写「分析」**;**余额**:`overview` section 落盘 JSON 常自动校正 0 快照,读 `balance`/`remainingAccountBudget` 或 `balance` 命令;**环比**:网关 `previousPeriod` 常空,CLI 二次拉上一周期回填)。
|
|
331
338
|
|
|
332
339
|
---
|
|
333
340
|
|