siluzan-tso-cli 1.1.47 → 1.1.48-beta.2
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 +2 -1
- package/dist/index.js +1999 -42
- package/dist/skill/AGENTS.md +1 -0
- package/dist/skill/SKILL.md +12 -2
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/assets/meta-lead-create-template.json +105 -0
- package/dist/skill/assets/meta-lead-create-template.md +46 -0
- package/dist/skill/references/README.md +12 -1
- package/dist/skill/references/accounts/accounts-list.md +1 -1
- package/dist/skill/references/accounts/accounts-permissions.md +2 -2
- package/dist/skill/references/accounts/finance.md +1 -1
- package/dist/skill/references/accounts/open-account-by-media.md +1 -1
- package/dist/skill/references/accounts/open-account-google-ui.md +1 -1
- package/dist/skill/references/analytics/rag.md +1 -1
- package/dist/skill/references/analytics/reporting.md +5 -5
- package/dist/skill/references/core/intent-routing.md +4 -0
- package/dist/skill/references/core/setup.md +5 -5
- package/dist/skill/references/core/workflows.md +22 -2
- package/dist/skill/references/meta-ads/meta-ads-read.md +33 -0
- package/dist/skill/references/meta-ads/meta-ads-write.md +70 -0
- package/dist/skill/references/meta-ads/meta-ads.md +37 -0
- package/dist/skill/references/meta-ads/meta-lead-launch-plan-template.md +168 -0
- package/dist/skill/references/misc/tso-home.md +2 -2
- package/dist/skill/references/operations/clue.md +2 -1
- package/dist/skill/scripts/install.ps1 +3 -3
- package/dist/skill/scripts/install.sh +3 -3
- package/eval/cases/accounts-entityid-vs-mediaccustomerid.scenario.json +14 -2
- package/eval/cases/accounts-mcc-bind-inquiry.scenario.json +3 -1
- package/eval/cases/accounts-single-balance-not-bulk.scenario.json +14 -3
- package/eval/cases/budget-display-not-raw-micros.scenario.json +8 -1
- package/eval/cases/clue-meta-leads-json.scenario.json +14 -2
- package/eval/cases/clue-tiktok-leads-json.scenario.json +11 -2
- package/eval/cases/destructive-account-delink-needs-confirm.scenario.json +9 -3
- package/eval/cases/destructive-forewarning-delete-needs-confirm.scenario.json +9 -3
- package/eval/cases/destructive-invoice-apply-needs-confirm.scenario.json +9 -3
- package/eval/cases/facebook-analysis-google-section-aliases.scenario.json +11 -2
- package/eval/cases/facebook-analysis-not-google-keywords.scenario.json +10 -3
- package/eval/cases/facebook-analysis-period-default.scenario.json +14 -2
- package/eval/cases/finance-invoice-info-list.scenario.json +11 -3
- package/eval/cases/forewarning-list-google.scenario.json +14 -3
- package/eval/cases/google-ads-no-structural-without-confirm.scenario.json +6 -2
- package/eval/cases/google-analysis-keywords-route.scenario.json +14 -2
- package/eval/cases/guard-budget-circuit-all-google.scenario.json +12 -2
- package/eval/cases/guard-zero-conv-empty-spend.scenario.json +12 -2
- package/eval/cases/human-p1-multiturn.scenario.json +5 -1
- package/eval/cases/ir-p1-vs-p8-account-vs-url.scenario.json +17 -5
- package/eval/cases/ir-p3-cpa-monitor-not-p7.scenario.json +19 -2
- package/eval/cases/ir-p3-zero-inquiry-not-p7.scenario.json +16 -3
- package/eval/cases/ir-p4-period-not-diagnosis.scenario.json +16 -3
- package/eval/cases/ir-p8-meets-google-ads-requirements-with-url.scenario.json +28 -3
- package/eval/cases/ir-p8-network-diagnosis-with-url.scenario.json +25 -3
- package/eval/cases/ir-p8-website-monitor-report-with-url.scenario.json +28 -3
- package/eval/cases/ir-p8-website-test-report-no-url.scenario.json +14 -3
- package/eval/cases/ir-p9-industry-not-p8.scenario.json +19 -3
- package/eval/cases/ir-vague-report-clarify.scenario.json +14 -3
- package/eval/cases/ir-w3-vs-p8-from-website.scenario.json +8 -2
- package/eval/cases/ir-w5-keyword-planner-url-core-terms.scenario.json +22 -2
- package/eval/cases/meta-single-balance-not-bulk.scenario.json +17 -3
- package/eval/cases/no-legacy-json-flag.scenario.json +6 -2
- package/eval/cases/open-account-google-noninteractive.scenario.json +4 -2
- package/eval/cases/open-account-tiktok-license-file.scenario.json +3 -1
- package/eval/cases/optimize-list-by-account.scenario.json +11 -3
- package/eval/cases/p1-single-account-profile.scenario.json +11 -1
- package/eval/cases/p2-balance-scan-bulk.scenario.json +9 -2
- package/eval/cases/p3-accounts-digest.scenario.json +5 -1
- package/eval/cases/p3-cpa-scan-max-cpa.scenario.json +14 -2
- package/eval/cases/p4-fb-meta-period-report.scenario.json +12 -2
- package/eval/cases/p4-period-report-window.scenario.json +8 -1
- package/eval/cases/pmax-asset-group-create-with-bg.scenario.json +13 -2
- package/eval/cases/pmax-brand-edit-routing.scenario.json +16 -3
- package/eval/cases/pmax-edit-not-campaign-edit.scenario.json +12 -2
- package/eval/cases/pmax-enable-brand-guidelines.scenario.json +12 -2
- package/eval/cases/pmax-no-assets-update-brand-fields.scenario.json +14 -3
- package/eval/cases/rag-before-keyword-expand.scenario.json +11 -1
- package/eval/cases/rag-list-then-query.scenario.json +14 -2
- package/eval/cases/report-list-google.scenario.json +11 -2
- package/eval/cases/report-push-list-google.scenario.json +11 -2
- package/eval/cases/setup-login-or-env.scenario.json +3 -1
- package/eval/cases/setup-siluzan-data-permission-env.scenario.json +3 -1
- package/eval/cases/tiktok-bc-bind-inquiry.scenario.json +6 -2
- package/eval/cases/time-range-user-delegates-default.scenario.json +8 -1
- package/eval/cases/tips-json-out-filtering.scenario.json +3 -1
- package/eval/cases/tips-large-json-pagination.scenario.json +3 -1
- package/eval/cases/uj-ad-campaign-validate-before-create-stub.scenario.json +11 -2
- package/eval/cases/uj-ad-outdoor-campgear-search-plan.scenario.json +3 -1
- package/eval/cases/uj-ad-website-search-plan-table-format.scenario.json +3 -1
- package/eval/cases/uj-analytics-30d-pdf-campaign-device-geo.scenario.json +18 -6
- package/eval/cases/uj-analytics-compare-google-tiktok-last-month-roi.scenario.json +8 -1
- package/eval/cases/uj-analytics-ecommerce-industry-report.scenario.json +14 -2
- package/eval/cases/uj-analytics-google-weekly-trends-campaigns-keywords.scenario.json +11 -2
- package/eval/cases/uj-analytics-report-push-weekly-email.scenario.json +3 -1
- package/eval/cases/uj-finance-invoice-records-this-month.scenario.json +11 -2
- package/eval/cases/uj-life-newbie-siluzan-google-end-to-end.scenario.json +4 -1
- package/eval/cases/uj-meta-ad-validate-before-create-stub.scenario.json +30 -0
- package/eval/cases/uj-ops-google-accounts-list-normal.scenario.json +17 -2
- package/eval/cases/uj-ops-google-yesterday-spend-conversions.scenario.json +14 -2
- package/eval/cases/uj-ops-open-google-b2c-usd-shenzhen.scenario.json +1 -1
- package/eval/cases/uj-ops-pause-worst-adgroup-confirm.scenario.json +6 -2
- package/eval/cases/uj-ops-tiktok-leads-last-week.scenario.json +17 -3
- package/eval/cases/uj-patrol-cpc-spike-adgroups-over-15.scenario.json +5 -1
- package/eval/cases/uj-patrol-forewarning-create-daily-cap-3000.scenario.json +3 -1
- package/eval/cases/uj-patrol-forewarning-trigger-records.scenario.json +17 -3
- package/eval/cases/uj-patrol-google-balances-low.scenario.json +11 -2
- package/eval/cases/uj-roi-optimize-records-then-execute-cautiously.scenario.json +14 -3
- package/eval/cases/uj-roi-search-terms-add-negative-keywords.scenario.json +14 -2
- package/eval/cases/yandex-stats-use-porg-mediaccustomerid.scenario.json +21 -3
- package/package.json +1 -1
package/dist/skill/AGENTS.md
CHANGED
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
| Core | `references/core/` | conventions、intent-routing、playbooks、workflows |
|
|
29
29
|
| Accounts | `references/accounts/` | 直接读 `accounts-list` / `accounts-balance-stats` / `accounts-permissions` |
|
|
30
30
|
| Google Ads | `references/google-ads/` | `google-ads-read` / `write` / `batch`;`rules/` 先 README 再单文件 |
|
|
31
|
+
| Meta Ads | `references/meta-ads/` | Instant Form:`meta-ads` / `read` / `write` + `meta-lead-launch-plan-template` |
|
|
31
32
|
| Analytics | `references/analytics/` | 拉数、批处理、拓词 |
|
|
32
33
|
| Operations | `references/operations/` | 预警、线索;自动化仅用户问起时 |
|
|
33
34
|
| Templates | `report-templates/*.md`、`assets/` | 报告纲要 / JSON 契约 |
|
package/dist/skill/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: siluzan-tso
|
|
3
|
-
description: 丝路赞 TSO 广告平台(Google/Bing/Yandex/TikTok/Kwai/MetaAd),凡涉及丝路赞/TSO、投广告、出价预算、广告账户管理,或需要做行业分析/市场分析/行业分析报告(含「写一份 XX 行业报告」「电商/制造/医疗等行业报告」「市场调查/战略市场/KA 市场报告」「竞品/GTM/市场格局/行业趋势」等,无论是否提及丝路赞/广告/客户)须加载本 skill。【§零·最高优先】网址/域名/官网+诊断/检测/监测/评估/体检/报告/符合投放要求/能不能投(含「网络诊断」混说)→P8 website-diagnosis collect(禁纯WebFetch/肉眼看页),禁止P9/P1/W3、禁止A/B/C/D追问;细则见 intent-routing.md §零。【§零·B·次高优先】未命中§零时,行业/市场分析报告类话术→必走P9 market-analysis collect+render出HTML,禁止纯WebSearch/WebFetch在对话里写Markdown/HTML当终稿、禁止改走P8/P1/P4/W5/google-analysis;细则见 references/core/intent-routing.md §零·B。【§零·C·关键词规划】Google Ads/谷歌广告拓词、关键词规划/推荐、Keyword Planner、长尾关键词、月搜索量/搜索量、竞争度、核心词/种子词扩词(含「阅读网址/文章/页面后针对核心词出带搜索量词表」,无论是否提及丝路赞/TSO/账户)→必走W5 keyword -k … --google-only --json-out,禁止WebSearch/WebFetch编造搜索量当终稿;细则见 references/core/intent-routing.md §零·C。【报告/诊断消歧】其余报告类话术禁止默认某一CLI——行业/市场/战略/行业分析报告→P9 market-analysis(必走collect+render,禁止纯WebSearch代替);Google账户ID+健康诊断→P1 google-ads-diagnosis;账户ID+周期/月度→P4;Meta/TikTok/Bing周期→P4/P4-FB;多账户对比→P3/P5;OKKI周报→P6;Google询盘→P7;官网+明确要搜索广告方案/campaign JSON→W3;仅要词表+搜索量/竞争度→W5;平台优化报告列表/推送→W7;对象仍不清→Read intent-routing.md。【账户】列表/余额/消耗/激活账单(W1)、多账户余额预警 balance-scan(P2)、多户消耗汇总 accounts-digest(P3)、六大媒体开户与进度(W2)、分享/解绑/MCC/BC/BM/权限(W9)。【投放】Google **仅支持搜索广告(Search)与 PMax**(不支持展示广告 Display);搜索系列方案与 campaign-validate/create(W3)、系列/组/广告/关键词 CRUD/拒审、PMax 创建与素材、AI智投草稿 batch(W4)、拓词 keyword -k(W5)、AI广告优化 optimize(W6)、优化合规 SOP
|
|
3
|
+
description: 丝路赞 TSO 广告平台(Google/Bing/Yandex/TikTok/Kwai/MetaAd),凡涉及丝路赞/TSO、投广告、出价预算、广告账户管理,或需要做行业分析/市场分析/行业分析报告(含「写一份 XX 行业报告」「电商/制造/医疗等行业报告」「市场调查/战略市场/KA 市场报告」「竞品/GTM/市场格局/行业趋势」等,无论是否提及丝路赞/广告/客户)须加载本 skill。【§零·最高优先】网址/域名/官网+诊断/检测/监测/评估/体检/报告/符合投放要求/能不能投(含「网络诊断」混说)→P8 website-diagnosis collect(禁纯WebFetch/肉眼看页),禁止P9/P1/W3、禁止A/B/C/D追问;细则见 intent-routing.md §零。【§零·B·次高优先】未命中§零时,行业/市场分析报告类话术→必走P9 market-analysis collect+render出HTML,禁止纯WebSearch/WebFetch在对话里写Markdown/HTML当终稿、禁止改走P8/P1/P4/W5/google-analysis;细则见 references/core/intent-routing.md §零·B。【§零·C·关键词规划】Google Ads/谷歌广告拓词、关键词规划/推荐、Keyword Planner、长尾关键词、月搜索量/搜索量、竞争度、核心词/种子词扩词(含「阅读网址/文章/页面后针对核心词出带搜索量词表」,无论是否提及丝路赞/TSO/账户)→必走W5 keyword -k … --google-only --json-out,禁止WebSearch/WebFetch编造搜索量当终稿;细则见 references/core/intent-routing.md §零·C。【报告/诊断消歧】其余报告类话术禁止默认某一CLI——行业/市场/战略/行业分析报告→P9 market-analysis(必走collect+render,禁止纯WebSearch代替);Google账户ID+健康诊断→P1 google-ads-diagnosis;账户ID+周期/月度→P4;Meta/TikTok/Bing周期→P4/P4-FB;多账户对比→P3/P5;OKKI周报→P6;Google询盘→P7;官网+明确要搜索广告方案/campaign JSON→W3;Meta Instant Form 线索广告→W13;仅要词表+搜索量/竞争度→W5;平台优化报告列表/推送→W7;对象仍不清→Read intent-routing.md。【账户】列表/余额/消耗/激活账单(W1)、多账户余额预警 balance-scan(P2)、多户消耗汇总 accounts-digest(P3)、六大媒体开户与进度(W2)、分享/解绑/MCC/BC/BM/权限(W9)。【投放】Google **仅支持搜索广告(Search)与 PMax**(不支持展示广告 Display);搜索系列方案与 campaign-validate/create(W3)、系列/组/广告/关键词 CRUD/拒审、PMax 创建与素材、AI智投草稿 batch(W4)、拓词 keyword -k(W5)、AI广告优化 optimize(W6)、优化合规 SOP;Meta Instant Form 线索广告 meta-ad validate/create(W13)。【财务】充值/钱包、转账记录、发票/开票/抬头(W8);写操作审计与 restore。【运营】智能预警 forewarning 创建/启停/记录(W10)、TikTok/Meta 线索 clue(W11)、日周巡检(W12)、宿主编排/投放自控/异常监控(hosted-automation)。【其他】RAG 知识库检索、Meta/Facebook 周期与诊断 HTML、Google/Meta 周期 Excel、多账户 google-analysis-batch。
|
|
4
4
|
license: MIT
|
|
5
5
|
compatibility: 需要 Node.js 18+、已安装 siluzan-tso-cli,通过 send-login-code + login 或 config set 完成鉴权
|
|
6
6
|
metadata:
|
|
@@ -14,7 +14,7 @@ allowed-tools: Bash(siluzan-tso:*) Read Write
|
|
|
14
14
|
本文件只做 **任务路由**:意图 → **唯一**工作流 → 按需 Read 子文档(参数与步骤不在此重复)。
|
|
15
15
|
|
|
16
16
|
- 分析 / 报告 → `references/core/playbooks.md`(P1–P9)
|
|
17
|
-
- 操作 / 管理 → `references/core/workflows.md`(W1–
|
|
17
|
+
- 操作 / 管理 → `references/core/workflows.md`(W1–W13)
|
|
18
18
|
- 命令参数 → 路由表「必读文档」
|
|
19
19
|
- 通用纪律与沟通 → `references/core/agent-conventions.md`
|
|
20
20
|
|
|
@@ -87,6 +87,16 @@ siluzan-tso -h
|
|
|
87
87
|
| AI 广告优化记录 / 建议 | W6 | `references/operations/optimize.md` |
|
|
88
88
|
| 优化/合规 SOP | W3 / W6 | `references/google-ads/rules/README.md`(**仅读索引表** → 再 Read **一个**具体 `rules/*.md`) |
|
|
89
89
|
|
|
90
|
+
### Meta 广告投放
|
|
91
|
+
|
|
92
|
+
> **类型边界**:仅 **Instant Form 线索广告**;无视频 / Advantage+ / 系列列表。拉已有线索走 **W11**;周期报告走 **P4-FB**。
|
|
93
|
+
|
|
94
|
+
| 用户意图(关键词) | 工作流 | 必读文档 |
|
|
95
|
+
| ------------------ | ------ | -------- |
|
|
96
|
+
| 新建 Meta/Facebook 线索广告 / Instant Form / 潜在客户表单投放 / **出 Facebook 线索方案或表格** | **W13** | `references/meta-ads/meta-ads.md` + **`assets/meta-lead-create-template.json`**(先 Read)+ `assets/meta-lead-create-template.md` + **`references/meta-ads/meta-lead-launch-plan-template.md`**(**写代码**投影审查稿)+ `references/meta-ads/meta-ads-write.md`。**≠ W11 ≠ P4-FB ≠ W3** |
|
|
97
|
+
| Meta 系列/组/广告 **查询**(按 ID)/ 主页 / 表单列表 | W13 | `references/meta-ads/meta-ads-read.md` |
|
|
98
|
+
| Meta 系列/组/广告 **创建·编辑·启停**(原语) | W13 | `references/meta-ads/meta-ads-write.md` |
|
|
99
|
+
|
|
90
100
|
### 分析与报告
|
|
91
101
|
|
|
92
102
|
| 用户意图(关键词) | 工作流 | 必读文档 |
|
package/dist/skill/_meta.json
CHANGED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_meta": {
|
|
3
|
+
"schema": "meta-lead-create/v1",
|
|
4
|
+
"doc": "meta-lead-create-template.md",
|
|
5
|
+
"note": "以 _ 开头的键仅作说明,CLI 提交前会剥离。金额填主币种元。",
|
|
6
|
+
"agentPitfalls": [
|
|
7
|
+
"仅 Instant Form 线索广告(OUTCOME_LEADS);勿当完整 Meta 投放后台",
|
|
8
|
+
"先 meta-ad pages 取 pageId,空列表不要硬填历史 page_id",
|
|
9
|
+
"budgetMode=CBO 预算只放 campaign;ABO 只放 adset",
|
|
10
|
+
"dailyBudget / lifetimeBudget 填元(10 = $10 / ¥10),禁止填网关最小单位 1000 当 10 元",
|
|
11
|
+
"form.reuseId 与新建表单字段二选一;表单建成后几乎不可改",
|
|
12
|
+
"图片三选一:imageHash / imagePath / imageUrl;创意必须用 hash",
|
|
13
|
+
"提交前:validate → 写代码按 meta-lead-launch-plan-template.md 投影审查稿 → 用户确认 → create --commit",
|
|
14
|
+
"仅出方案:account=[PENDING_ACCOUNT] pageId=[PENDING_PAGE];勿因缺账户阻塞",
|
|
15
|
+
"create 默认 PAUSED;投放须三个对象分别 *-status ACTIVE",
|
|
16
|
+
"pages --json-out 读 items[].id(不是 pages[]);403 或空列表不要硬填 pageId",
|
|
17
|
+
"建广告报支付方式则停,补付款后 ad-create 续跑,不要重头 create",
|
|
18
|
+
"拉已有线索走 clue -m Meta(W11),不是本模板"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"account": "REPLACE_mediaCustomerId",
|
|
22
|
+
"pageId": "REPLACE_pageId",
|
|
23
|
+
"budgetMode": "CBO",
|
|
24
|
+
"form": {
|
|
25
|
+
"name": "询盘表单",
|
|
26
|
+
"locale": "en_US",
|
|
27
|
+
"privacyPolicyUrl": "https://www.example.com/privacy",
|
|
28
|
+
"followUpActionUrl": "https://www.example.com/thanks",
|
|
29
|
+
"questions": [
|
|
30
|
+
{ "type": "FULL_NAME" },
|
|
31
|
+
{ "type": "EMAIL" },
|
|
32
|
+
{ "type": "PHONE" },
|
|
33
|
+
{ "type": "CUSTOM", "label": "公司名称", "key": "company" }
|
|
34
|
+
],
|
|
35
|
+
"thankYouPage": {
|
|
36
|
+
"title": "已收到",
|
|
37
|
+
"body": "我们会尽快联系您",
|
|
38
|
+
"buttonText": "了解更多",
|
|
39
|
+
"buttonType": "VIEW_WEBSITE",
|
|
40
|
+
"websiteUrl": "https://www.example.com"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"campaign": {
|
|
44
|
+
"name": "Lead-CBO",
|
|
45
|
+
"dailyBudget": 10,
|
|
46
|
+
"specialAdCategories": []
|
|
47
|
+
},
|
|
48
|
+
"adset": {
|
|
49
|
+
"name": "Lead-US",
|
|
50
|
+
"countries": ["US"],
|
|
51
|
+
"ageMin": 18,
|
|
52
|
+
"ageMax": 65,
|
|
53
|
+
"optimizationGoal": "LEAD_GENERATION"
|
|
54
|
+
},
|
|
55
|
+
"creative": {
|
|
56
|
+
"name": "Lead-Creative",
|
|
57
|
+
"message": "留下联系方式,获取资料",
|
|
58
|
+
"link": "https://www.example.com/privacy",
|
|
59
|
+
"headline": "即时表单线索",
|
|
60
|
+
"imageUrl": "https://www.example.com/lead.jpg"
|
|
61
|
+
},
|
|
62
|
+
"ad": {
|
|
63
|
+
"name": "Lead-Ad"
|
|
64
|
+
},
|
|
65
|
+
"plan": {
|
|
66
|
+
"brand": "ExampleBrand",
|
|
67
|
+
"customerName": "Example Co.",
|
|
68
|
+
"siteUrl": "https://www.example.com",
|
|
69
|
+
"pageUrl": "",
|
|
70
|
+
"businessOneLiner": "一句话业务",
|
|
71
|
+
"mainResult": "Instant Form 询盘",
|
|
72
|
+
"landingType": "产品页询盘 + 广告内即时表单(非仅官网首页)",
|
|
73
|
+
"creativeSpec": "4:5(1080×1350)或 1:1;图字 <20%",
|
|
74
|
+
"endorsements": [{ "text": "公开页面可见的认证/年限", "verified": false }],
|
|
75
|
+
"tracks": [
|
|
76
|
+
{
|
|
77
|
+
"id": "A",
|
|
78
|
+
"name": "产线实拍",
|
|
79
|
+
"shots": [
|
|
80
|
+
{
|
|
81
|
+
"id": "A1",
|
|
82
|
+
"composition": "车间中景,主体居中",
|
|
83
|
+
"onImageText": "Precision Aluminum Parts",
|
|
84
|
+
"tone": "工厂实证",
|
|
85
|
+
"forbid": "虚假认证、无法核对的数字",
|
|
86
|
+
"headlines": ["Factory Direct Quote", "Custom Aluminum Parts"],
|
|
87
|
+
"primaryText": "Hook\nPositioning\nProof + emoji\nCTA",
|
|
88
|
+
"cta": "Get Quote",
|
|
89
|
+
"description": "ISO-listed factory"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{ "id": "B", "name": "产品特写", "shots": [{ "id": "B1", "headlines": ["EV Motor Housing"], "primaryText": "…", "cta": "Learn More" }] },
|
|
94
|
+
{ "id": "C", "name": "场景应用", "shots": [{ "id": "C1", "headlines": ["Liquid-Cooled Housing"], "primaryText": "…", "cta": "Get Quote" }] }
|
|
95
|
+
],
|
|
96
|
+
"matrix": {
|
|
97
|
+
"visual": ["产线实拍", "产品特写", "场景应用"],
|
|
98
|
+
"bodyTone": ["证据向", "痛点向"],
|
|
99
|
+
"headline": ["规格向", "交付向"]
|
|
100
|
+
},
|
|
101
|
+
"complianceNotes": ["年限/客户数投放前核对", "不要写死无法核对的公差"],
|
|
102
|
+
"emojiPerPost": 2,
|
|
103
|
+
"adSets": [{ "name": "Lead-US", "countries": ["US"], "note": "本次 create 落地这一组" }]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# `meta-ad create` JSON 配置说明
|
|
2
|
+
|
|
3
|
+
`siluzan-tso meta-ad validate` / `meta-ad create` **仅**接受 `--config-file`。流程见 `workflows.md` **W13**。
|
|
4
|
+
|
|
5
|
+
模板:同目录 [`meta-lead-create-template.json`](meta-lead-create-template.json)。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Agent 常见坑
|
|
10
|
+
|
|
11
|
+
| 场景 | 正确做法 |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| 创建 | `validate` → **写代码**按 `meta-lead-launch-plan-template.md` 投影审查稿(默认 MD;要表格出 xlsx)→ 用户确认 → `create --commit` |
|
|
14
|
+
| 仅出方案 | `account`=`[PENDING_ACCOUNT]`,`pageId`=`[PENDING_PAGE]`;JSON + 审查稿即可,**禁止**因缺账户阻塞 |
|
|
15
|
+
| 金额 | JSON 填**主币种元**(`10` = $10 / ¥10);CLI 按账户 `currency` 转最小单位。禁止把 `"1000"` 当 $1000 |
|
|
16
|
+
| CBO / ABO | `budgetMode=CBO`:预算只放 `campaign`;`ABO`:只放 `adset`。不能两边都有或都没有 |
|
|
17
|
+
| 主页 | 先 `meta-ad pages -a <id> --json-out`;空数组不要硬填历史 `pageId` |
|
|
18
|
+
| 表单 | 新建填 `form.name` + `privacyPolicyUrl` + `questions`;复用填 `form.reuseId` |
|
|
19
|
+
| 图片 | `imageHash` / `imagePath`(相对 JSON 目录)/ `imageUrl` 三选一;创意用 hash |
|
|
20
|
+
| 投放 | create **不会**自动 ACTIVE;三个对象分别 `campaign-status` / `adset-status` / `ad-status` |
|
|
21
|
+
| 失败续跑 | `--json-out` 含已建成 ID;用原语命令从失败步接着建,**不要**回滚 |
|
|
22
|
+
| 支付方式 | 建广告报「请更新支付方式」→ 停,补付款后只跑 `ad-create` |
|
|
23
|
+
| bid cap | `create` 遇 `BID_AMOUNT_REQUIRED` 会自动按预算带 bid cap 重试;JSON 不必预填 |
|
|
24
|
+
| 拉线索 | `clue -m Meta`(W11),不是本命令 |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 字段
|
|
29
|
+
|
|
30
|
+
| 键 | 必填 | 说明 |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| `account` | 是 | `list-accounts -m MetaAd` 的 `mediaCustomerId`(数字或 `act_`) |
|
|
33
|
+
| `pageId` | 是 | `meta-ad pages` 的主页 ID |
|
|
34
|
+
| `budgetMode` | 是 | `CBO` 或 `ABO` |
|
|
35
|
+
| `form.reuseId` | 复用时 | 已有 Instant Form ID |
|
|
36
|
+
| `form.name` / `privacyPolicyUrl` / `questions` | 新建时 | 至少含一个预定义字段(`EMAIL` / `FULL_NAME` / `PHONE` 等);`CUSTOM` 必须带 `label` |
|
|
37
|
+
| `campaign.name` | 是 | 系列名。CBO 再加 `dailyBudget` 或 `lifetimeBudget` |
|
|
38
|
+
| `adset.name` / `countries` | 是 | ISO 两位国家。ABO 再加组预算 |
|
|
39
|
+
| `adset.optimizationGoal` | 否 | 仅 `LEAD_GENERATION`(默认)/ `QUALITY_LEAD` |
|
|
40
|
+
| `creative.message` / `link` | 是 | `link` 常用隐私政策 URL |
|
|
41
|
+
| `ad.name` | 是 | 广告名 |
|
|
42
|
+
| `plan` | 审查稿建议有 | 品牌/套系/3×2×2/背书;create **不提交**。结构见 `references/meta-ads/meta-lead-launch-plan-template.md` |
|
|
43
|
+
|
|
44
|
+
`activate` 即使写 `true` 也不会自动投放。
|
|
45
|
+
|
|
46
|
+
预定义 `questions.type`:`EMAIL`、`FULL_NAME`、`FIRST_NAME`、`LAST_NAME`、`PHONE`、`CITY`、`STATE`、`COUNTRY`、`POST_CODE`、`ZIP`、`COMPANY_NAME`、`JOB_TITLE`、`WORK_EMAIL`、`WORK_PHONE_NUMBER`、`DATE_OF_BIRTH`、`GENDER`、`MARITAL_STATUS`。
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
| `references/core/intent-routing.md` | 报告/分析/拓词话术消歧 |
|
|
13
13
|
| `references/core/tips.md` | `--json-out` 脚本食谱 |
|
|
14
14
|
| `references/core/playbooks.md` | 分析/报告工作流(P1–P9) |
|
|
15
|
-
| `references/core/workflows.md` | 操作/管理工作流(W1–
|
|
15
|
+
| `references/core/workflows.md` | 操作/管理工作流(W1–W13) |
|
|
16
16
|
| `references/core/subagent-orchestration.md` | 可选:P5/P6/P7 委派 subagent |
|
|
17
17
|
| `references/core/skill-authoring.md` | 维护约定(运行时勿加载) |
|
|
18
18
|
|
|
@@ -43,6 +43,16 @@
|
|
|
43
43
|
| `references/analytics/keyword-planner-workflows.md` | keyword / google-analysis 拓词 |
|
|
44
44
|
| `references/google-ads/rules/README.md` | 优化/合规 SOP 索引 |
|
|
45
45
|
|
|
46
|
+
## Meta 广告
|
|
47
|
+
|
|
48
|
+
| 文件 | 用途 |
|
|
49
|
+
| --------------------------------------------- | ----------------------------------------- |
|
|
50
|
+
| `references/meta-ads/meta-ads.md` | **Meta Instant Form 索引**(金额/ID) |
|
|
51
|
+
| `references/meta-ads/meta-ads-read.md` | 账户/主页/表单/按 ID 读系列组广告 |
|
|
52
|
+
| `references/meta-ads/meta-ads-write.md` | validate/create 与原语写命令 |
|
|
53
|
+
| `references/meta-ads/meta-lead-launch-plan-template.md` | 出方案/创建前审查稿(MD + 4 Sheet xlsx) |
|
|
54
|
+
| `assets/meta-lead-create-template.json` + `.md` | Lead Ad JSON 契约(**先 Read `.json`**) |
|
|
55
|
+
|
|
46
56
|
## 分析与报告
|
|
47
57
|
|
|
48
58
|
| 文件 | 用途 |
|
|
@@ -82,6 +92,7 @@
|
|
|
82
92
|
| `meta-period-report-rules.md` | Meta 周期报告内容丰富度与建议撰写规则 |
|
|
83
93
|
| `meta-period-report.schema.json` | Meta 周期报告 Agent JSON Schema |
|
|
84
94
|
| `pmax-create-template.md` / `.json` | PMax 新建契约 |
|
|
95
|
+
| `meta-lead-create-template.json` + `.md` | Meta Instant Form Lead Ad 契约 |
|
|
85
96
|
| `pmax-asset-group-template.json` | PMax 素材组 |
|
|
86
97
|
| `pmax-signals-template.json` | PMax 信号 |
|
|
87
98
|
| `pmax-assets-update-template.json` | PMax 素材更新 |
|
|
@@ -167,7 +167,7 @@ siluzan-tso account-history --start 2026-03-01 --end 2026-03-31 --json-out ./sna
|
|
|
167
167
|
| 状态 | 含义 | 下一步操作 |
|
|
168
168
|
| ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
169
169
|
| `Pending` | 审核中 | 等待,可反复运行此命令轮询;审核周期因媒体而异 |
|
|
170
|
-
| `Approved` | 审核通过 | 运行 `list-accounts -m <媒体>` 确认账户已出现;引导用户充值激活(`config show` 取 `webUrl`,按 `finance.md` 打开对应媒体充值页;例如 Google 为 `https://www.siluzan.com/v3/foreign_trade/tso/recharge/pay?mediaType=Google`;Kwai、Yandex 当前没有对应充值界面) |
|
|
170
|
+
| `Approved` | 审核通过 | 运行 `list-accounts -m <媒体>` 确认账户已出现;引导用户充值激活(`config show` 取 `webUrl`,按 `finance.md` 打开对应媒体充值页;例如 Google 为 `https://www-ci.siluzan.com/v3/foreign_trade/tso/recharge/pay?mediaType=Google`;Kwai、Yandex 当前没有对应充值界面) |
|
|
171
171
|
| `Rejected` | 被拒 | 查看 `--json-out` 落盘中的 `reason` 字段了解拒绝原因;修改资料后重新提交;若原因不明,引导用户联系丝路赞客服 |
|
|
172
172
|
|
|
173
173
|
---
|
|
@@ -490,7 +490,7 @@ siluzan-tso account email-deauth -c <mediaCustomerId> --invitation-id <id> --res
|
|
|
490
490
|
|
|
491
491
|
| 功能 | 媒体 | 网页路径 |
|
|
492
492
|
| --------------------------------------- | ------ | ------------------------------------------------- |
|
|
493
|
-
| **账户激活**(邀请他人激活 / 充值激活) | Google | `https://www.siluzan.com/v3/foreign_trade/tso/manageAccounts` |
|
|
493
|
+
| **账户激活**(邀请他人激活 / 充值激活) | Google | `https://www-ci.siluzan.com/v3/foreign_trade/tso/manageAccounts` |
|
|
494
494
|
|
|
495
495
|
**Agent 建议话术**:
|
|
496
496
|
|
|
@@ -499,5 +499,5 @@ siluzan-tso account email-deauth -c <mediaCustomerId> --invitation-id <id> --res
|
|
|
499
499
|
siluzan-tso config show # 查看 webUrl 字段
|
|
500
500
|
|
|
501
501
|
# 账户激活(Google)→ 引导至账户管理页
|
|
502
|
-
# https://www.siluzan.com/v3/foreign_trade/tso/manageAccounts
|
|
502
|
+
# https://www-ci.siluzan.com/v3/foreign_trade/tso/manageAccounts
|
|
503
503
|
```
|
|
@@ -126,7 +126,7 @@ siluzan-tso config show
|
|
|
126
126
|
|
|
127
127
|
### 充值页链接(按媒体 × 类型)
|
|
128
128
|
|
|
129
|
-
链接模式:`https://www.siluzan.com/v3/foreign_trade/tso/recharge/<page>?mediaType=<mediaType>`;丝路赞钱包:`https://www.siluzan.com/v3/foreign_trade/tso/recharge/siluzanWallet`(无媒体参数)。
|
|
129
|
+
链接模式:`https://www-ci.siluzan.com/v3/foreign_trade/tso/recharge/<page>?mediaType=<mediaType>`;丝路赞钱包:`https://www-ci.siluzan.com/v3/foreign_trade/tso/recharge/siluzanWallet`(无媒体参数)。
|
|
130
130
|
|
|
131
131
|
| 充值类型 | `<page>` | 支持媒体(`mediaType` 参数) |
|
|
132
132
|
| ------------------------- | --------------------- | ------------------------------------------- |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 各媒体开户
|
|
2
2
|
|
|
3
|
-
> 网页链接:`https://www.siluzan.com/v3/foreign_trade/tso/accountOpeningHistory?tso=%2Fv3umijs%2Ftso%2FaccountOpeningHistory`
|
|
3
|
+
> 网页链接:`https://www-ci.siluzan.com/v3/foreign_trade/tso/accountOpeningHistory?tso=%2Fv3umijs%2Ftso%2FaccountOpeningHistory`
|
|
4
4
|
> 多命令串联见 `references/core/workflows.md` § 流程一。
|
|
5
5
|
|
|
6
6
|
## Contents
|
|
@@ -65,7 +65,7 @@ siluzan-tso open-account google-wizard
|
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
67
|
siluzan-tso account-history -m Google
|
|
68
|
-
# 审核通过后:config show → https://www.siluzan.com/v3/foreign_trade/tso/recharge/pay?mediaType=Google
|
|
68
|
+
# 审核通过后:config show → https://www-ci.siluzan.com/v3/foreign_trade/tso/recharge/pay?mediaType=Google
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
---
|
|
@@ -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.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` |
|
|
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` |
|
|
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.siluzan.com
|
|
208
|
+
# webUrl: https://www-ci.siluzan.com
|
|
209
209
|
|
|
210
210
|
# 第三步:拼接链接(Google 日报)
|
|
211
|
-
# https://www.siluzan.com/media-report/publish/rpt_abc123?culture=zh-CN
|
|
211
|
+
# https://www-ci.siluzan.com/media-report/publish/rpt_abc123?culture=zh-CN
|
|
212
212
|
```
|
|
@@ -228,6 +228,7 @@
|
|
|
228
228
|
| **P2** | **多账户余额** 续航预警 | 余额扫描、快没钱了、充值预警 | 媒体(可选账户子集) | 列表 |
|
|
229
229
|
| **P5** | **多账户 × 多维度** 批拉 | 批量分析、多户 google-analysis | ≥2 户 + ≥2 维度 + 区间 | 聚合报告 |
|
|
230
230
|
| **W3** | 根据 **官网 / URL 生成 Google 搜索广告方案** | 根据网站**出广告**、搜索广告方案/计划/文案/关键词**表**、**生成**投放方案表格 | 官网 URL + **明确要广告方案**(**不**要求账户 ID) | JSON + 表格投影 |
|
|
231
|
+
| **W13** | **Meta / Facebook Instant Form 线索广告**投放 | 建 Meta 线索广告、Facebook 潜在客户表单投放、Instant Form、Lead Ad、**出 Facebook 线索广告方案/表格** | Meta 账户 + 主页;或先出 JSON 方案(可无账户) | JSON + 审查稿(MD/xlsx)+ validate/create |
|
|
231
232
|
| **W5** | **Google Ads 关键词规划** / 拓词(含市场指标) | 见 **§零·C**:拓词、Keyword Planner、长尾词、**月搜索量**、**竞争度**、核心词扩词、读 URL/文章后出词表 | 种子词 / 核心词(URL 可选) | 词表(指标来自 `keyword` CLI) |
|
|
232
233
|
| **W7** | **丝路赞平台内** 已生成的优化报告 / 推送 | Siluzan 优化报告列表、报告推送、邮件推送配置 | 按 `reporting.md` | 平台侧列表 |
|
|
233
234
|
|
|
@@ -239,6 +240,9 @@
|
|
|
239
240
|
| 「这个**网站**好不好 / 能不能投 / **是否符合投放要求**」(无广告方案诉求) | **P8** | 误走 W3(因带「Google 广告」);或 WebFetch 当终稿 |
|
|
240
241
|
| 「**电商/制造**行业怎么样 / 市场格局」(**无 URL**) | **P9** | 误走 P8 |
|
|
241
242
|
| 「根据**官网**做 **Google 搜索广告** / 关键词表」 | **W3**(可无账户先出方案) | 误走 P8;或卡在要账户才出方案 |
|
|
243
|
+
| 「建 **Meta/Facebook 线索广告** / Instant Form」 | **W13** | 误走 W11(那是拉已有线索);误走 P4-FB;误用 Google `ad` |
|
|
244
|
+
| 「出 **Facebook / Meta 线索广告方案** / 要表格」 | **W13** 仅出方案 + `meta-lead-launch-plan-template.md` | 误走 W3;跳过 JSON 直接手填表;因缺账户阻塞 |
|
|
245
|
+
| 「把 Meta **表单留资拉下来**」 | **W11** `clue -m Meta` | 误走 W13 去建广告 |
|
|
242
246
|
| 「做 **展示广告** / Display / 自适应展示广告(RDA)」 | **不支持**(告知用户;可改推 Search / PMax → W3) | 误用 `campaign-create` / `ad-create` 伪装 Display |
|
|
243
247
|
| 「读**网址/文章** + **核心词** + 要 **月搜索量/竞争度** 长尾词表」 | **W5(§零·C)** | 纯 WebSearch 编数;误走 P8/P9/W3 |
|
|
244
248
|
| 只要 **Keyword Planner / 拓词** 指标,不要 campaign JSON | **W5** | 误走 W3 走 validate/create |
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
## 安装 CLI
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
npm install -g siluzan-tso-cli
|
|
13
|
+
npm install -g siluzan-tso-cli@beta
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
---
|
|
@@ -64,7 +64,7 @@ siluzan-tso config set --api-key <Key> # 或 config 直接写入
|
|
|
64
64
|
siluzan-tso config set --token <Token> # 备用:设置 JWT Token
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
API Key 获取入口:`https://www.siluzan.com/v3/foreign_trade/settings/apiKeyManagement`
|
|
67
|
+
API Key 获取入口:`https://www-ci.siluzan.com/v3/foreign_trade/settings/apiKeyManagement`
|
|
68
68
|
|
|
69
69
|
```bash
|
|
70
70
|
# 第 1 步:让用户报出手机号后,立刻发码(命令立即返回,不会等待输入)
|
|
@@ -127,9 +127,9 @@ siluzan-tso config show
|
|
|
127
127
|
|
|
128
128
|
```
|
|
129
129
|
构建环境 : production
|
|
130
|
-
apiBaseUrl : https://tso-api.siluzan.com
|
|
131
|
-
googleApiUrl : https://googleapi.mysiluzan.com
|
|
132
|
-
webUrl : https://www.siluzan.com
|
|
130
|
+
apiBaseUrl : https://tso-api-ci.siluzan.com
|
|
131
|
+
googleApiUrl : https://googleapi-ci.mysiluzan.com
|
|
132
|
+
webUrl : https://www-ci.siluzan.com
|
|
133
133
|
apiKey : abcd****1234
|
|
134
134
|
```
|
|
135
135
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 工作流目录 · 操作 / 管理类(W1–
|
|
1
|
+
# 工作流目录 · 操作 / 管理类(W1–W13)
|
|
2
2
|
|
|
3
3
|
> **范围**:调接口 / 写操作类业务(账户读取、开户、广告 CRUD、智投、拓词、优化、报告推送、财务、权限、预警、线索、巡检)。分析/报告类(拉数 → 撰稿 → 交付)见 `references/core/playbooks.md`(P1–P9)。
|
|
4
4
|
> **通用纪律见 `references/core/agent-conventions.md`**(写操作确认 + `--commit`、写后成败报告、ID 口径);各卡片只写线性步骤。卡片字段:`触发 / 必读 / 步骤 / 产物`。完整参数表见「必读」指向的命令文档。
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
| W10 | 智能预警规则管理 | `references/operations/forewarning.md` |
|
|
18
18
|
| W11 | 广告线索提取 | `references/operations/clue.md` |
|
|
19
19
|
| W12 | 日 / 周巡检 | `references/accounts/accounts-balance-stats.md` + 各域 |
|
|
20
|
+
| W13 | Meta Instant Form 线索广告 | `meta-ads.md` + **`meta-lead-launch-plan-template.md`** + `meta-ads-write.md` / `read` |
|
|
20
21
|
|
|
21
22
|
---
|
|
22
23
|
|
|
@@ -195,7 +196,7 @@
|
|
|
195
196
|
|
|
196
197
|
## W11 · 广告线索提取
|
|
197
198
|
|
|
198
|
-
- **触发**:拉取 TikTok / Meta
|
|
199
|
+
- **触发**:拉取 TikTok / Meta 广告表单**已有**留资线索(不是新建表单投放;新建走 **W13**)。
|
|
199
200
|
- **必读**:`references/operations/clue.md`。
|
|
200
201
|
- **步骤**:
|
|
201
202
|
1. 确认账户:TikTok `list-accounts -m TikTok`;Meta 取 Facebook 页面 ID。
|
|
@@ -219,3 +220,22 @@
|
|
|
219
220
|
7. 预警触发:`forewarning records -m <媒体> --start <S>`(见 **W10**)。
|
|
220
221
|
8. 智投/线索(按需):`ad batch list --state Failed/HasFailed`(**W4**)、`clue …`(**W11**)、`optimize list/records`(**W6**)。
|
|
221
222
|
- **产物**:要与网页首页看板数字完全一致(聚合口径)时引导打开首页(`tso-home.md`);CLI 给的是单账户粒度的近似巡检;Google 熔断须交付命中表或显式「无命中」;Bing/Yandex/TikTok 巡检交付告警列表(不能写成已自动暂停)。
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## W13 · Meta Instant Form 线索广告创建与精细管理
|
|
227
|
+
|
|
228
|
+
- **触发**:新建 Facebook / Meta 线索广告、Instant Form、潜在客户表单投放;改预算/定向/启停已有线索对象。
|
|
229
|
+
- **勿误判**:拉**已有**表单留资 → **W11** `clue -m Meta`;Meta 周期/诊断报告 → **P4-FB**;Google 搜索/PMax → **W3**。
|
|
230
|
+
- **必读**:`references/meta-ads/meta-ads.md` + **`assets/meta-lead-create-template.json`**(先 Read)+ `meta-lead-create-template.md` + **`references/meta-ads/meta-lead-launch-plan-template.md`** + `meta-ads-write.md` / `meta-ads-read.md`。
|
|
231
|
+
- **仅出方案**(「出方案 / 只要表格」、未给账户且未说创建):跳过 list-accounts / pages;JSON 用 `[PENDING_ACCOUNT]` / `[PENDING_PAGE]` → **写代码**投影审查稿(默认 MD;要表格按模板出 4 Sheet xlsx)→ **停住等确认**。
|
|
232
|
+
- **步骤(创建)**:
|
|
233
|
+
1. `list-accounts -m MetaAd --page-size 999 --json-out ./snap` 取 `mediaCustomerId`。
|
|
234
|
+
2. `meta-ad account` / `meta-ad pages`:记下币种与 `pageId`(`--json-out` 主页在 `items[]`,须含 `ADVERTISE`)。**HTTP 403** 或主页为空则停。`spend_capDisplay` ≈ `amount_spentDisplay` → 仍可 PAUSED 创建,ACTIVE 投不出去。
|
|
235
|
+
3. 落盘同构 JSON(可执行字段 + `plan` 套系/矩阵/背书)。
|
|
236
|
+
4. 门禁:`meta-ad validate --config-file ./meta-lead.json --json-out ./snap`。
|
|
237
|
+
5. **写代码**按 `meta-lead-launch-plan-template.md` 投影完整审查稿 → 用户确认(`--commit` 代替不了这步)。
|
|
238
|
+
6. `meta-ad create --config-file ./meta-lead.json --json-out ./snap --commit "…"`(默认 PAUSED;失败读已建成 ID 用原语续跑)。报「支付方式」则停,不要重头 create。
|
|
239
|
+
7. 按返回 ID `meta-ad campaign/adset/ad --id` 复核。
|
|
240
|
+
8. 需要投放:三个对象 `*-status --status ACTIVE --commit`。清理:`DELETED`,顺序广告→组→系列。
|
|
241
|
+
- **产物**:审查稿路径(MD 或 xlsx)+ create 的 `formId` / `imageHash` / `campaignId` / `adSetId` / `creativeId` / `adId`;写后交代成败与是否仍为 PAUSED。
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Meta 线索广告 · 只读
|
|
2
|
+
|
|
3
|
+
> 流程见 `workflows.md` **W13**。金额/ID 口径见 [meta-ads.md](meta-ads.md)。
|
|
4
|
+
> **何时 Read**:选主页、复用表单、按 ID 复核刚创建的对象。
|
|
5
|
+
|
|
6
|
+
## 命令
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
siluzan-tso list-accounts -m MetaAd --page-size 999 --json-out ./snap
|
|
10
|
+
siluzan-tso meta-ad account -a <accountId> --json-out ./snap
|
|
11
|
+
siluzan-tso meta-ad pages -a <accountId> --json-out ./snap
|
|
12
|
+
siluzan-tso meta-ad forms -a <accountId> --page-id <pageId> --json-out ./snap
|
|
13
|
+
siluzan-tso meta-ad campaign -a <accountId> --id <campaignId> --json-out ./snap
|
|
14
|
+
siluzan-tso meta-ad adset -a <accountId> --id <adSetId> --json-out ./snap
|
|
15
|
+
siluzan-tso meta-ad ad -a <accountId> --id <adId> --json-out ./snap
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**没有** `meta-ad campaigns` 列表。复核只能用 create 返回的 ID。
|
|
19
|
+
|
|
20
|
+
## 字段口径
|
|
21
|
+
|
|
22
|
+
| 字段 | 含义 |
|
|
23
|
+
| --- | --- |
|
|
24
|
+
| `account_status=1` | 账户活跃 |
|
|
25
|
+
| `amount_spent` / `balance` / `spend_cap` / `daily_budget` | 网关最小货币单位字符串 |
|
|
26
|
+
| `*Display` | 主币种元(展示用这个) |
|
|
27
|
+
| `currency` | ISO 币种;换算按此币种小数位(JPY 等零小数不 ×100) |
|
|
28
|
+
| `items[].id`(`meta-ad pages`) | 投放主页;**不含** Page Token。`tasks` 含 `ADVERTISE` 才可投 |
|
|
29
|
+
| `data[].id`(`meta-ad forms`) | Instant Form ID,可写入 JSON `form.reuseId` |
|
|
30
|
+
|
|
31
|
+
`spend_cap` 与 `amount_spent` 持平 → 花费上限已顶满,ACTIVE 也投不出去。
|
|
32
|
+
|
|
33
|
+
拉表单留资线索:`clue -m Meta -a <pageId> --start --end`(W11)。
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Meta 线索广告 · 写入与编辑
|
|
2
|
+
|
|
3
|
+
> 流程见 `workflows.md` **W13**。金额/ID 口径见 [meta-ads.md](meta-ads.md)。
|
|
4
|
+
> **何时 Read**:创建/编辑/启停;写操作须用户确认与 `--commit`。
|
|
5
|
+
|
|
6
|
+
## 写操作硬纪律
|
|
7
|
+
|
|
8
|
+
- **必须** `--commit "…"`;漏了会直接失败。
|
|
9
|
+
- `--json-out <path>`:路径必填;禁止裸 `--json`。
|
|
10
|
+
- 创建默认 **PAUSED**。`meta-ad create` **不会**根据 `activate` 自动投放。
|
|
11
|
+
- 中途失败**不回滚**;读 `--json-out` 里已建成 ID,用原语续跑。
|
|
12
|
+
|
|
13
|
+
## 主路径(对标 Google `pmax-validate` / `pmax-create`)
|
|
14
|
+
|
|
15
|
+
| 步骤 | 命令 |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| 模板 | 复制 `assets/meta-lead-create-template.json`,字段见 `meta-lead-create-template.md` |
|
|
18
|
+
| 主页 | `siluzan-tso meta-ad pages -a <accountId> --json-out ./snap-fb` |
|
|
19
|
+
| 校验 | `siluzan-tso meta-ad validate --config-file ./meta-lead.json [--json-out ./snap]` |
|
|
20
|
+
| 审查稿 | Agent **写代码**按 [meta-lead-launch-plan-template.md](meta-lead-launch-plan-template.md) 从 JSON 投影(默认 MD;要表格出 4 Sheet xlsx)→ 用户确认。`--commit` 不是方案确认 |
|
|
21
|
+
| 创建 | `siluzan-tso meta-ad create --config-file ./meta-lead.json --json-out ./snap --commit "创建 Instant Form 线索广告"` |
|
|
22
|
+
| 复核 | 用返回的 ID:`meta-ad campaign/adset/ad --id … --json-out` |
|
|
23
|
+
| 投放 | 三个对象分别 `*-status --status ACTIVE --commit "投放"` |
|
|
24
|
+
|
|
25
|
+
## 原语命令
|
|
26
|
+
|
|
27
|
+
失败续跑或改存量时用。金额参数一律**主币种元**。
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
siluzan-tso meta-ad form-create -a <id> --page-id <pageId> --config-file ./form.json --commit "新建表单"
|
|
31
|
+
siluzan-tso meta-ad image-upload -a <id> --image-url https://… --name lead.jpg --commit "传图"
|
|
32
|
+
siluzan-tso meta-ad campaign-create -a <id> --name Lead-CBO --daily-budget 10 --commit "CBO 系列"
|
|
33
|
+
siluzan-tso meta-ad adset-create -a <id> --campaign-id <cid> --page-id <pageId> --name Lead-US --countries US --commit "建组"
|
|
34
|
+
# 该户报 BID_AMOUNT_REQUIRED 时再加:--bid-strategy LOWEST_COST_WITH_BID_CAP --bid-amount <元>
|
|
35
|
+
siluzan-tso meta-ad creative-create -a <id> --page-id <pageId> --name C --message "…" --link https://…/privacy --image-hash <hash> --form-id <fid> --commit "建创意"
|
|
36
|
+
siluzan-tso meta-ad ad-create -a <id> --adset-id <sid> --creative-id <crid> --name Lead-Ad --commit "建广告"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
编辑(只传要改的字段):
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
siluzan-tso meta-ad campaign-edit -a <id> --id <cid> --daily-budget 20 --commit "上调日预算"
|
|
43
|
+
siluzan-tso meta-ad adset-edit -a <id> --id <sid> --countries US --age-min 18 --age-max 55 --commit "改定向"
|
|
44
|
+
siluzan-tso meta-ad ad-edit -a <id> --id <adId> --creative-id <newCrid> --commit "换创意"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
`adset-edit --countries` 是**整份替换**定向,只认国家 / 年龄 / 性别。换主页请新建组。不能靠加一侧预算把 CBO 切成 ABO。
|
|
48
|
+
|
|
49
|
+
## 启停
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
siluzan-tso meta-ad campaign-status -a <id> --id <cid> --status ACTIVE --commit "开系列"
|
|
53
|
+
siluzan-tso meta-ad adset-status -a <id> --id <sid> --status ACTIVE --commit "开组"
|
|
54
|
+
siluzan-tso meta-ad ad-status -a <id> --id <adId> --status ACTIVE --commit "开广告"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`status` 原样交给网关:`ACTIVE` / `PAUSED` / `DELETED` / `ARCHIVED`。暂停时三个都停。删除用 `DELETED`,顺序 **广告 → 组 → 系列**;表单 / 图 / 创意 **无删除口**(复用的表单不要删)。
|
|
58
|
+
|
|
59
|
+
## 常见网关错误
|
|
60
|
+
|
|
61
|
+
| code | 处理 |
|
|
62
|
+
| --- | --- |
|
|
63
|
+
| `VALIDATION` | 按 `message` 改请求 |
|
|
64
|
+
| `CBO_ABO_CONFLICT` | 预算只放系列或只放组 |
|
|
65
|
+
| `BID_AMOUNT_REQUIRED` | `meta-ad create` 会按日/总预算带 `LOWEST_COST_WITH_BID_CAP` 自动重试一次;原语续跑须自己加 `--bid-strategy LOWEST_COST_WITH_BID_CAP --bid-amount <元>` |
|
|
66
|
+
| 请更新支付方式 / 添加有效支付方式 | **停**。读 `--json-out` 已建成 ID;让用户补付款方式后只跑 `ad-create`,不要重头 `create` |
|
|
67
|
+
| HTTP 403(账户/主页) | 当前 Token 无该户 Facebook Ads 权限,换登录或重新授权 |
|
|
68
|
+
| `PAGE_LIST_EMPTY` / `PAGE_NOT_LINKED` / `PAGE_NO_ADVERTISE` | 补主页广告投放权限并重新授权 |
|
|
69
|
+
| `LEAD_TOS_REQUIRED` | 用户在 Ads Manager 勾选条款,接口不代勾 |
|
|
70
|
+
| `RATE_LIMITED` / `GRAPH_RETRY` | 退避后重试同一请求 |
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Meta Instant Form 线索广告(导航)
|
|
2
|
+
|
|
3
|
+
> 流程见 `workflows.md` **W13**。命令参数见 [meta-ads-write.md](meta-ads-write.md) / [meta-ads-read.md](meta-ads-read.md)。
|
|
4
|
+
|
|
5
|
+
## 支持范围(硬边界)
|
|
6
|
+
|
|
7
|
+
| 能力 | CLI | 说明 |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| Instant Form 线索广告 | ✅ | `OUTCOME_LEADS`;组优化目标仅 `LEAD_GENERATION` / `QUALITY_LEAD` |
|
|
10
|
+
| 视频 / Advantage+ / 其它目标 | ❌ | 本批不做 |
|
|
11
|
+
| 系列/组/广告列表 | ❌ | 网关无 list,只能按创建返回的 ID `GET` |
|
|
12
|
+
| 拉已有线索 | 走 W11 | `clue -m Meta`,不是 `meta-ad` |
|
|
13
|
+
| 周期/诊断报告 | 走 P4-FB | `facebook-analysis` |
|
|
14
|
+
|
|
15
|
+
## 何时 Read
|
|
16
|
+
|
|
17
|
+
| 任务 | Read |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| 创建 / 编辑 / 启停 | [meta-ads-write.md](meta-ads-write.md) |
|
|
20
|
+
| 读账户 / 主页 / 表单 / 按 ID 读对象 | [meta-ads-read.md](meta-ads-read.md) |
|
|
21
|
+
| JSON 字段 | `assets/meta-lead-create-template.json`(先)+ `assets/meta-lead-create-template.md` |
|
|
22
|
+
| 出方案 / 审查稿 / 要表格 | [meta-lead-launch-plan-template.md](meta-lead-launch-plan-template.md) |
|
|
23
|
+
|
|
24
|
+
## Gotchas
|
|
25
|
+
|
|
26
|
+
- **命令族**是 `meta-ad`,**禁止**塞进 Google `ad`,**禁止** `--media MetaAd` 调 `ad campaigns`。
|
|
27
|
+
- `-a` / JSON `account` = `list-accounts -m MetaAd` 的 `mediaCustomerId`(数字或 `act_`)。**禁止**传 `entityId`(UUID)。
|
|
28
|
+
- **金额**:CLI / JSON 填**主币种元**。读出口 `*Display` 已是元;原始 `daily_budget="1000"` 在 USD 是 $10,**禁止**当 $1000。
|
|
29
|
+
- **CBO / ABO**:预算只放一边;本批不能切换。
|
|
30
|
+
- **默认 PAUSED**。投放须系列 / 组 / 广告三个都 `ACTIVE`。
|
|
31
|
+
- **表单 / 图 / 创意无就地改口**。换图或换表单:新建创意,再 `ad-edit --creative-id`。
|
|
32
|
+
- **主页 `--json-out`**:数组在 `items[]`(`id` / `name` / `tasks`),**不是** `pages[]`。`tasks` 须含 `ADVERTISE`。空列表或 `PAGE_LIST_EMPTY` / `PAGE_NOT_LINKED` → 补主页广告投放权限并重新授权,不要硬填历史 `pageId`。
|
|
33
|
+
- **HTTP 403**(账户/主页):当前 Token 没有该户 Facebook Ads 权限,停;换有权限的登录或重新授权,不要硬跑 `create`。
|
|
34
|
+
- **`LEAD_TOS_REQUIRED`**:主页须在 Ads Manager 勾选潜在客户开发广告服务条款;**禁止**让接口代勾。
|
|
35
|
+
- **`BID_AMOUNT_REQUIRED`**:`meta-ad create` 会按日/总预算带 `LOWEST_COST_WITH_BID_CAP` **自动重试一次**。原语 `adset-create` 才需要自己加 `--bid-strategy LOWEST_COST_WITH_BID_CAP --bid-amount <元>`。不要改成别的出价策略。
|
|
36
|
+
- **支付方式**:建到广告对象时 Graph 可能报「请更新支付方式」。已建成的系列/组/创意会留着,**不要**重头 `create`;停下来让用户在账单与支付中心加有效付款方式,再用 `ad-create` 续跑。
|
|
37
|
+
- 花费上限顶满(`spend_capDisplay` ≈ `amount_spentDisplay`)时对象仍能建成,**ACTIVE 也投不出去**。
|