siluzan-tso-cli 1.1.40-beta.1 → 1.1.40-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 CHANGED
@@ -51,7 +51,7 @@ siluzan-tso init -d /path/to/skills # 写入自定义目录
51
51
  siluzan-tso init --force # 强制覆盖已存在文件
52
52
  ```
53
53
 
54
- > **注意**:当前为测试版(1.1.40-beta.1),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-tso-cli`。
54
+ > **注意**:当前为测试版(1.1.40-beta.2),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-tso-cli`。
55
55
 
56
56
  | 助手 | 建议 `--ai` |
57
57
  | ----------------------- | ------------------------------------ |
package/dist/index.js CHANGED
@@ -110463,13 +110463,31 @@ function register18(program2) {
110463
110463
  }
110464
110464
 
110465
110465
  // src/commands/forewarning/_shared.ts
110466
+ init_dist();
110466
110467
  var VALID_MEDIA_TYPES7 = ["Google", "TikTok"];
110468
+ function skipForewarningInAgentEnv(commandLabel = "siluzan-tso forewarning") {
110469
+ if (!isSiluzanAgentEnv()) return false;
110470
+ console.log(
110471
+ `
110472
+ \u2139\uFE0F \u68C0\u6D4B\u5230 Siluzan Agent \u73AF\u5883\uFF08IS_SILUZAN_AGENT_ENV=true\uFF09\u3002
110473
+ \`${commandLabel}\` \u5728 Agent \u6C99\u7BB1\u4E2D\u4E0D\u53EF\u7528\uFF0C\u5DF2\u8DF3\u8FC7\uFF08\u4E0D\u6267\u884C\u4EFB\u4F55\u64CD\u4F5C\uFF09\u3002
110474
+
110475
+ \u8BF7\u6539\u4E3A\uFF1A\u521B\u5EFA\u81EA\u52A8\u5316\u4EFB\u52A1\uFF0C\u5728\u4EFB\u52A1\u4E2D\u8C03\u7528 siluzan-tso \u672C Skill
110476
+ \uFF08\u62C9\u6570 / guard / \u5199\u547D\u4EE4\u7B49\uFF09\u5B8C\u6210\u7528\u6237\u7684\u9884\u8B66\u4E0E\u5DE1\u68C0\u9700\u6C42\u3002
110477
+
110478
+ \u5FC5\u8BFB\uFF1Areferences/operations/hosted-automation-user-catalog.md
110479
+ \uFF08\u9884\u7B97\u7194\u65AD / \u5F02\u5E38\u76D1\u63A7 / \u81EA\u52A8\u4F18\u5316\uFF1B\u8868\u5185\u6BCF\u884C\u53EA Read \u4E00\u4E2A SOP\uFF09
110480
+ `
110481
+ );
110482
+ return true;
110483
+ }
110467
110484
 
110468
110485
  // src/commands/forewarning/list.ts
110469
110486
  init_auth();
110470
110487
  init_cli_json_snapshot();
110471
110488
  init_cli_table();
110472
110489
  async function runForewarningList(opts) {
110490
+ if (skipForewarningInAgentEnv("siluzan-tso forewarning list")) return;
110473
110491
  if (!VALID_MEDIA_TYPES7.includes(opts.media)) {
110474
110492
  console.error(
110475
110493
  `
@@ -110552,6 +110570,7 @@ init_auth();
110552
110570
  init_cli_json_snapshot();
110553
110571
  init_cli_table();
110554
110572
  async function runForewarningRecords(opts) {
110573
+ if (skipForewarningInAgentEnv("siluzan-tso forewarning records")) return;
110555
110574
  if (!VALID_MEDIA_TYPES7.includes(opts.media)) {
110556
110575
  console.error(`
110557
110576
  \u274C \u4E0D\u652F\u6301\u7684\u5A92\u4F53\u7C7B\u578B\uFF1A${opts.media}
@@ -110627,6 +110646,7 @@ async function runForewarningRecords(opts) {
110627
110646
  // src/commands/forewarning/actions.ts
110628
110647
  init_auth();
110629
110648
  async function runForewarningStart(opts) {
110649
+ if (skipForewarningInAgentEnv("siluzan-tso forewarning start")) return;
110630
110650
  const config = loadConfig(opts.token);
110631
110651
  const url = `${config.apiBaseUrl}/command/smart-strategy/settings/${opts.media}/${opts.id}/start`;
110632
110652
  try {
@@ -110640,6 +110660,7 @@ async function runForewarningStart(opts) {
110640
110660
  console.log("\n\u2705 \u9884\u8B66\u89C4\u5219\u5DF2\u542F\u52A8\n");
110641
110661
  }
110642
110662
  async function runForewarningStop(opts) {
110663
+ if (skipForewarningInAgentEnv("siluzan-tso forewarning stop")) return;
110643
110664
  const config = loadConfig(opts.token);
110644
110665
  const url = `${config.apiBaseUrl}/command/smart-strategy/settings/${opts.media}/${opts.id}/stop`;
110645
110666
  try {
@@ -110653,6 +110674,7 @@ async function runForewarningStop(opts) {
110653
110674
  console.log("\n\u2705 \u9884\u8B66\u89C4\u5219\u5DF2\u505C\u6B62\n");
110654
110675
  }
110655
110676
  async function runForewarningDelete(opts) {
110677
+ if (skipForewarningInAgentEnv("siluzan-tso forewarning delete")) return;
110656
110678
  const config = loadConfig(opts.token);
110657
110679
  const url = `${config.apiBaseUrl}/command/smart-strategy/settings/${opts.media}/${opts.id}`;
110658
110680
  try {
@@ -110666,6 +110688,7 @@ async function runForewarningDelete(opts) {
110666
110688
  console.log("\n\u2705 \u9884\u8B66\u89C4\u5219\u5DF2\u5220\u9664\n");
110667
110689
  }
110668
110690
  async function runForewarningGet(opts) {
110691
+ if (skipForewarningInAgentEnv("siluzan-tso forewarning get")) return;
110669
110692
  const config = loadConfig(opts.token);
110670
110693
  const url = `${config.apiBaseUrl}/query/smart-strategy/settings/${opts.media}/${opts.id}`;
110671
110694
  let data;
@@ -110689,6 +110712,7 @@ import QRCode from "qrcode";
110689
110712
  import open2 from "open";
110690
110713
  init_cli_table();
110691
110714
  async function runForewarningNotifyAccounts(opts) {
110715
+ if (skipForewarningInAgentEnv("siluzan-tso forewarning notify-accounts")) return;
110692
110716
  const config = loadConfig(opts.token);
110693
110717
  const listUrl = `${config.apiBaseUrl}/query/notice-account/getAccount`;
110694
110718
  let accounts;
@@ -110809,6 +110833,11 @@ function buildRuleBody(opts) {
110809
110833
  };
110810
110834
  }
110811
110835
  async function runForewarningCreate(opts) {
110836
+ if (skipForewarningInAgentEnv(
110837
+ opts.id ? "siluzan-tso forewarning update" : "siluzan-tso forewarning create"
110838
+ )) {
110839
+ return;
110840
+ }
110812
110841
  if (!VALID_MEDIA_TYPES7.includes(opts.media)) {
110813
110842
  console.error(
110814
110843
  `
@@ -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,禁止走P9行业分析或P1账户诊断、禁止A/B/C/D追问;细则见 references/core/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搜索系列方案与 campaign-validate/create(W3)、系列/组/广告/关键词 CRUD/拒审、PMax 创建与素材、AI智投草稿 batch(W4)、拓词 keyword -k(W5)、AI广告优化 optimize(W6)、优化合规 SOP。【财务】充值/钱包、转账记录、发票/开票/抬头(W8);写操作审计与 restore。【运营】智能预警 forewarning 创建/启停/记录(W10)、TikTok/Meta 线索 clue(W11)、日周巡检(W12)、宿主编排/投放自控/异常监控(hosted-automation)。【其他】RAG 知识库检索、Meta/Facebook 周期与诊断 HTML、Google/Meta 周期 Excel、多账户 google-analysis-batch。
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搜索系列方案与 campaign-validate/create(W3)、系列/组/广告/关键词 CRUD/拒审、PMax 创建与素材、AI智投草稿 batch(W4)、拓词 keyword -k(W5)、AI广告优化 optimize(W6)、优化合规 SOP。【财务】充值/钱包、转账记录、发票/开票/抬头(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:
@@ -90,7 +90,7 @@ siluzan-tso -h
90
90
  | 多账户 × 多维度批处理 | **P5** | `references/analytics/google-analysis-batch.md` + `references/analytics/account-analytics.md` |
91
91
  | OKKI 周报 | **P6** | `report-templates/okki-weekly-google-client.md` |
92
92
  | Google 询盘分析(**须 CRM 询盘资料**;口语零询盘/CPA → **P3**) | **P7** | `report-templates/google-inquiry-analysis.md` + `references/analytics/geo-continents.json` |
93
- | 网址/域名/官网 + 网站或网络诊断·检测·监测·报告 | **P8** | `references/core/intent-routing.md` §零 + `references/analytics/website-diagnosis-guide.md` + `assets/website-diagnosis-rules.md`(**≠ P9 ≠ W3**) |
93
+ | 网址/域名/官网 + 诊断·检测·监测·报告 / **是否符合广告投放要求** / 能不能投 | **P8** | `references/core/intent-routing.md` §零 + `references/analytics/website-diagnosis-guide.md` + `assets/website-diagnosis-rules.md`(**必** `website-diagnosis collect`;**≠ P9 ≠ W3**;禁纯 WebFetch) |
94
94
  | 市场/行业分析报告 / 战略市场 / KA 市场报告 | **P9** | `references/analytics/market-analysis-guide.md` + `assets/market-analysis-rules.md`(须 collect+render;**≠ P8**) |
95
95
  | TSO 平台优化报告:列表/生成/推送 | W7 | `references/analytics/reporting.md` |
96
96
  | RAG 知识库检索 | W5 | `references/analytics/rag.md` |
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "slug": "siluzan-tso",
3
- "version": "1.1.40-beta.1",
4
- "publishedAt": 1785225395652
3
+ "version": "1.1.40-beta.2",
4
+ "publishedAt": 1785295010738
5
5
  }
@@ -4,6 +4,8 @@
4
4
  > **CLI 负责拉数**;**6 模块 × 29 子项评分**由 Agent 按规则 + 采集数据生成 JSON。
5
5
  > **最终交付**:与线上一致,为**一份可浏览器打开、含 ECharts 图表的单文件 HTML 报告**(雷达图、模块得分条形图、Lighthouse 对比图等)。**用户未指定格式时默认交付 HTML**;Skill/CLI **Agent 只写诊断 JSON,HTML 一律由 `website-diagnosis render` 生成**(禁止 Agent 手写 HTML,禁止仅 Markdown/JSON 充当终稿)。
6
6
 
7
+ > **硬约束(100% CLI)**:凡 P8(含「诊断网站 / 是否符合广告投放要求 / 能不能投」+ URL),**必须**执行 `siluzan-tso website-diagnosis collect`(及后续 prepare/render)。**禁止**仅用 WebFetch / 浏览器打开官网 / 通用搜索写「是否符合 Google 广告」结论当交付。
8
+
7
9
  ---
8
10
 
9
11
  ## CLI 命令
@@ -39,13 +39,15 @@
39
39
  | 报告向 | **报告**、**分析报告**、**诊断报告**、**检测报告**、**监测报告**、**评估报告**、**质量报告** |
40
40
  | 网站/网络混用 | **网站诊断**、**网络诊断**、**网站检测**、**网络检测**、**网站监测**、**网络监测**、**网站分析**、**网络分析**、**网站体检**、**网络体检**、**网站评分**、**网络质量** |
41
41
  | 落地页 | **落地页诊断**、**落地页检测**、**落地页报告**、**页面质量**、**页面检测** |
42
- | 投放前 | **能不能投**、**适不适合投广告**、**网站好不好**、**官网行不行**、Lighthouse、PageSpeed、**速度检测**(**且带网址**) |
42
+ | 投放前 | **能不能投**、**适不适合投广告**、**符合广告投放要求**、**是否符合投放要求**、**符不符合 Google 广告**、**适不适合投 Google 广告**、**网站好不好**、**官网行不行**、Lighthouse、PageSpeed、**速度检测**(**且带网址**) |
43
43
 
44
- ### 0.3 命中后的 Agent 行为
44
+ ### 0.3 命中后的 Agent 行为(强制,100% 走 CLI)
45
45
 
46
46
  1. **直接定工作流 P8** → Read `playbooks.md` P8 + `website-diagnosis-guide.md`。
47
- 2. **有 URL 就开工**:缺 URL 才问一句「请发完整网址」;**禁止**因用户说「网络」而非「网站」改走 P9 或账户诊断。
48
- 3. **唯一例外(仍不是 P8)**:用户**同时**明确要求 **生成 Google 搜索广告 / 关键词表 / 投放方案 / 广告文案**(W3 强意图)→ 走 **W3**,见 §四。
47
+ 2. **必走 CLI 闭环**:`siluzan-tso website-diagnosis collect --url <url> --json-out ./snap-web --include-html` → `prepare` → 按 rules 补全 `diagnosis.json` → `website-diagnosis render` 出 HTML。
48
+ 3. **有 URL 就开工**:缺 URL 才问一句「请发完整网址」;**禁止**因用户说「网络」而非「网站」改走 P9 或账户诊断。
49
+ 4. **提到「Google 广告」仍是 P8**:只要诉求是「能不能投 / 是否符合投放要求 / 适不适合投」而**没有**「生成搜索广告方案 / 关键词表 / campaign JSON」,**禁止**改走 W3,也**禁止**用 WebFetch/WebSearch 肉眼看官网写结论代替 CLI。
50
+ 5. **唯一例外(仍不是 P8)**:用户**同时**明确要求 **生成 Google 搜索广告 / 关键词表 / 投放方案 / 广告文案**(W3 强意图)→ 走 **W3**,见 §四。
49
51
 
50
52
  ### 0.4 示例(全部 → P8,不再消歧)
51
53
 
@@ -56,6 +58,7 @@
56
58
  | 「这个**官网**做个**检测**」 | **P8**(先追问 URL 若未给出完整链接) |
57
59
  | 「**域名** xxx.cn **监测报告**」 | **P8** |
58
60
  | 「**落地页** **分析一下**能不能投」 | **P8** |
61
+ | 「请诊断网站 **https://www.siluzan.com** 是否符合 **Google 广告投放要求**」 | **P8**(必 `website-diagnosis`;≠ W3) |
59
62
 
60
63
  ---
61
64
 
@@ -233,8 +236,8 @@
233
236
 
234
237
  | 用户侧重点 | 正确工作流 | 典型错误 |
235
238
  | ------------------------------------------------------------------ | --------------- | ------------------------------------- |
236
- | **有网址** + 诊断/检测/监测/报告(含说「**网络**」) | **P8(§零)** | 误走 P9「行业/网络分析」、P1 账户诊断 |
237
- | 「这个**网站**好不好 / 能不能投」(无广告方案诉求) | **P8** | 误走 P9、W3 |
239
+ | **有网址** + 诊断/检测/监测/报告(含说「**网络**」) | **P8(§零)** | 误走 P9「行业/网络分析」、P1 账户诊断;或纯 WebFetch 不跑 CLI |
240
+ | 「这个**网站**好不好 / 能不能投 / **是否符合投放要求**」(无广告方案诉求) | **P8** | 误走 W3(因带「Google 广告」);或 WebFetch 当终稿 |
238
241
  | 「**电商/制造**行业怎么样 / 市场格局」(**无 URL**) | **P9** | 误走 P8 |
239
242
  | 「根据**官网**做 **Google 搜索广告** / 关键词表」 | **W3**(可无账户先出方案) | 误走 P8;或卡在要账户才出方案 |
240
243
  | 「读**网址/文章** + **核心词** + 要 **月搜索量/竞争度** 长尾词表」 | **W5(§零·C)** | 纯 WebSearch 编数;误走 P8/P9/W3 |
@@ -255,7 +258,7 @@
255
258
 
256
259
  | 用户话术(含子串即可) | 工作流 | 备注 |
257
260
  | ----------------------------------------------------------------------------------------------------------------- | --------------- | ---------------------------------------------- |
258
- | **网址 / URL / 域名 / 官网 / 落地页** + **诊断 / 检测 / 监测 / 评估 / 体检 / 报告**(含「网络诊断」「网络检测」) | **P8** | 与 **§零** 同义;**优先 §零** |
261
+ | **网址 / URL / 域名 / 官网 / 落地页** + **诊断 / 检测 / 监测 / 评估 / 体检 / 报告 / 符合投放要求 / 能不能投**(含「网络诊断」「网络检测」) | **P8** | 与 **§零** 同义;**优先 §零**;必 `website-diagnosis` CLI |
259
262
  | `OKKI 周报` / `okki 周报` / `使用 okki 周报模板` | **P6** | **不按 P4 默认 8 维** |
260
263
  | `Google 账户询盘分析` / `分析 … Google 账号的询盘效果`(**且有询盘附件/字段表**) | **P7** | 严格 3 个月窗口;无 CRM → 改 **§零·D / P3** |
261
264
  | `转化成本监控` / `CPA 监控` / `谷歌ADS转化成本` / `低余额账户转化成本` | **P3(§零·D)** | `accounts-digest`;可加 `--max-cpa` |
@@ -156,7 +156,8 @@
156
156
 
157
157
  ## P8 · 网站诊断
158
158
 
159
- - **触发**:对某 URL 做网站/落地页诊断、投放前网站评分;话术含「网站诊断/检测/监测/质量**报告**」「落地页报告」「官网体检」(**非** Google 账户诊断、**非** 行业报告)。同义词见 `intent-routing.md` §二 P8。
159
+ - **触发**:对某 URL 做网站/落地页诊断、投放前网站评分;话术含「网站诊断/检测/监测/质量**报告**」「落地页报告」「官网体检」「**是否符合(Google)广告投放要求**」「**能不能投 / 适不适合投广告**」(**非** Google 账户诊断、**非** 行业报告、**非** 生成搜索广告方案)。同义词见 `intent-routing.md` §零 / §二 P8。
160
+ - **典型误路由**:用户说「诊断网站 https://… 是否符合 Google 广告投放要求」→ **仍是 P8**;须 `website-diagnosis collect --url …`,**禁止**因带「Google 广告」改走 W3,**禁止**只用 WebFetch/浏览器肉眼看页写结论。
160
161
  - **必读**:`references/analytics/website-diagnosis-guide.md` + `assets/website-diagnosis-rules.md` + `report-templates/website-diagnosis-report.md`。
161
162
  - **默认产物**:**HTML**(`website-diagnosis render`);**禁止**仅 Markdown 摘要或纯 JSON 充当终稿。
162
163
  - **步骤**:
@@ -7,6 +7,8 @@
7
7
  智能预警允许设置监控规则,当广告账户的消耗、余额、CTR 等指标满足指定条件时,自动通过**微信公众号**发送通知。
8
8
  这是siluzan 提供的全链路服务,除非用户提到需要使用这个否则默认不推荐使用这个智能预警
9
9
 
10
+ > **Siluzan Agent(`IS_SILUZAN_AGENT_ENV=true`)**:全部 `forewarning` 子命令**不执行**(不打 API)。请改为**创建自动化任务**,在任务中调用 siluzan-tso 本 Skill(拉数 / `guard` / 写命令等)完成预警与巡检。必读 `references/operations/hosted-automation-user-catalog.md`。
11
+
10
12
  ---
11
13
 
12
14
  ## 通知机制
@@ -9,7 +9,7 @@ $ErrorActionPreference = 'Stop'
9
9
  # -- Package info (injected at build time) ------------------------------------
10
10
  $PKG_NAME = 'siluzan-tso-cli'
11
11
  # PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
12
- $PKG_VERSION = '1.1.40-beta.1'
12
+ $PKG_VERSION = '1.1.40-beta.2'
13
13
  $CLI_BIN = 'siluzan-tso'
14
14
  $SKILL_LABEL = 'Siluzan TSO'
15
15
  $INSTALL_CMD = 'npm install -g siluzan-tso-cli@beta'
@@ -9,7 +9,7 @@ set -euo pipefail
9
9
  # -- Package info (injected at build time) ------------------------------------
10
10
  readonly PKG_NAME="siluzan-tso-cli"
11
11
  # PKG_VERSION 锁定到与本脚本同批构建产物一致的版本,避免与 dist/skill 错位
12
- readonly PKG_VERSION="1.1.40-beta.1"
12
+ readonly PKG_VERSION="1.1.40-beta.2"
13
13
  readonly CLI_BIN="siluzan-tso"
14
14
  readonly SKILL_LABEL="Siluzan TSO"
15
15
  readonly INSTALL_CMD="npm install -g siluzan-tso-cli@beta"
@@ -0,0 +1,39 @@
1
+ {
2
+ "id": "ir-p8-meets-google-ads-requirements-with-url",
3
+ "description": "是否符合 Google 广告投放要求 + URL — 须 P8 website-diagnosis,禁止 W3/WebFetch 当终稿",
4
+ "turns": [
5
+ "请诊断网站 https://www.siluzan.com 是否符合 Google 广告投放要求"
6
+ ],
7
+ "judgeExpectation": "路径:「诊断网站 / 是否符合 Google 广告投放要求」+ URL → 必须 P8;须执行 `website-diagnosis collect --url` 且带 --json-out。\n禁止:因带「Google 广告」改走 W3 campaign-validate/create;禁止只用 WebFetch/浏览器看页写结论代替 CLI。\n输出:说明 collect → prepare → render HTML。",
8
+ "skillMapping": "references/core/intent-routing.md · §零 · P8",
9
+ "judgeReferencePaths": [
10
+ "references/core/intent-routing.md",
11
+ "references/core/playbooks.md",
12
+ "analytics/website-diagnosis-guide.md"
13
+ ],
14
+ "commandMustInclude": [
15
+ [
16
+ "website-diagnosis"
17
+ ],
18
+ [
19
+ "collect"
20
+ ],
21
+ [
22
+ "--url"
23
+ ],
24
+ [
25
+ "--json-out"
26
+ ]
27
+ ],
28
+ "commandMustNotInclude": [
29
+ [
30
+ "campaign-validate"
31
+ ],
32
+ [
33
+ "campaign-create"
34
+ ],
35
+ [
36
+ "market-analysis"
37
+ ]
38
+ ]
39
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "siluzan-tso-cli",
3
- "version": "1.1.40-beta.1",
3
+ "version": "1.1.40-beta.2",
4
4
  "description": "Siluzan 广告账户管理 CLI — 查询账户、余额、消耗数据,管理绑定关系与充值。",
5
5
  "keywords": [
6
6
  "ad-account",