siluzan-tso-cli 1.1.57-beta.2 → 1.1.58-beta.1
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/skill/SKILL.md +2 -1
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/references/core/agent-conventions.md +2 -1
- package/dist/skill/references/google-ads/google-ads-write.md +8 -0
- package/dist/skill/references/google-ads/google-ads.md +1 -1
- package/dist/skill/scripts/install.ps1 +1 -1
- package/dist/skill/scripts/install.sh +1 -1
- package/package.json +1 -1
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.
|
|
54
|
+
> **注意**:当前为测试版(1.1.58-beta.1),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-tso-cli`。
|
|
55
55
|
|
|
56
56
|
| 助手 | 建议 `--ai` |
|
|
57
57
|
| ----------------------- | ------------------------------------ |
|
package/dist/skill/SKILL.md
CHANGED
|
@@ -44,7 +44,8 @@ siluzan-tso -h
|
|
|
44
44
|
- **Google 广告命令名**:列表是 `ad campaigns`(不是 `ad-campaigns` / `campaign list`);`balance`/`stats` 须带 `-m Google`;单国地域用 `ad geo search … --json-out`(或 `geo resolve`)。
|
|
45
45
|
- **广告搭建媒体边界**:仅 **Google**(`ad`,Search + PMax)与 **Meta**(`meta-ad`,Instant Form 线索)。TikTok / BingV2 / Yandex **不能**创建或改广告结构;用户要搭建时须说明不支持,可改做账户分析(P4)或开户(W2)。**禁止**用 `ad` 冒充 Meta,**禁止**用 `meta-ad` 冒充 Google。
|
|
46
46
|
- **Google 广告类型边界**:CLI/Skill **仅支持** Google **搜索广告(Search)** 与 **Performance Max(PMax)** 的方案、创建与精细管理;**不支持展示广告(Display)**(含自适应展示广告 RDA、独立 Display 系列)。用户要做展示广告时须明确告知不支持,可改推 Search / PMax;**禁止**用 `campaign-create` / `ad-create` 伪装创建 Display。
|
|
47
|
-
- **删系列 / 测试系列须先问(硬性)**:「尽快创建 /
|
|
47
|
+
- **删系列 / 测试系列须先问(硬性)**:「尽快创建 / 按方案搭建」不含删除授权。创建失败(政策违规、名称占用、半成品系列)时**禁止**自行建测试系列逐地域排查、**禁止**自行 `ad campaign-delete`(含 Agent 自建系列);先报告原因与选项,用户同意后才带 `--i-confirm --commit`。也**禁止**为让创建通过而整类删减方案内容(否词/排除地域/投放国家):按 `batch get` 的 `failedOperations[]` 只改报错项。见 `google-ads-write.md`「创建失败时禁止的做法」。
|
|
48
|
+
- **本轮试出来的半成品广告直接删(硬性)**:同一轮 `ad ad-create` 为排查拒审留下的短标题或残缺 RSA,正式广告通过后用 `ad ad-delete` 删掉,不要只 `ad-status Paused`。对用户报的条数以随后的 `ad list` 为准。系列和用户原有广告仍须先问。
|
|
48
49
|
- **创建完成后交付(硬性)**:`ad batch diff` 的 stdout 含 `BEGIN_USER_DELIVERY_MARKDOWN`…`END_USER_DELIVERY_MARKDOWN`——**立刻**把中间全文原样发给用户(可先于补建);禁止只摘要、禁止只说「创建成功/详情已交付/未发现缺失」、禁止等全部补建结束再交付。
|
|
49
50
|
- **报告 render 成功即交付(硬性)**:`google-quarterly render`、`google-analysis render`、`google-ads-diagnosis render`、`website-diagnosis render`、`market-analysis render`,以及 Bing / TikTok / Yandex / Meta 的 `render`,stdout 给出 HTML 路径后**立刻**把该文件交给用户。P10 与各媒体周期报告封面的「季度 / 月度」已按日期写好(其余仍是「周期」或「账户」)。**禁止**再打开、grep 或修改这份 HTML,**禁止**为此再 render。用户没要 PDF 就不要 `html_to_pdf`;要了也只转一次,**禁止**再用 pdftotext、PyMuPDF、截图或视觉模型读 PDF/页面。细则见 `agent-conventions.md` §七。
|
|
50
51
|
- `list-accounts` 无余额/消耗;列全部用 `--page-size 999`。查单户必须 `-k`;`itemCount < total` 时**禁止**判定账户未绑定。
|
package/dist/skill/_meta.json
CHANGED
|
@@ -145,7 +145,8 @@
|
|
|
145
145
|
- **破坏性操作必须确认 + `--commit`**:账户解绑/关闭/取消分享、BC/MCC 解绑、删除预警/报告/广告/关键词、发票申请、广告发布等。
|
|
146
146
|
- **CLI 硬门控**:`account delink` / `unshare` / `reauth` / `mcc-unbind` / `bc-unbind`、`ad campaign-delete`、`ad pmax-edit --status Removed` **缺少 `--i-confirm` 会直接失败**(不会发网关)。`--commit` 只是审计说明,**不能替代**用户确认。
|
|
147
147
|
- **Agent**:先说明风险与将执行的命令 → **等待用户明确同意** → 才附加 `--i-confirm --commit "…"` 执行。用户说「别问我 / 直接做」也**不得**跳过确认;**禁止**未获同意就自行加 `--i-confirm`。
|
|
148
|
-
- **授权范围不外推**:「尽快创建 / 按方案搭建」只授权创建,**不**授权删除系列、建测试系列或在账户里做实验。创建失败时禁止为排查或清理而自行 `campaign-create` 测试系列 / `campaign-delete`(含 Agent
|
|
148
|
+
- **授权范围不外推**:「尽快创建 / 按方案搭建」只授权创建,**不**授权删除系列、建测试系列或在账户里做实验。创建失败时禁止为排查或清理而自行 `campaign-create` 测试系列 / `campaign-delete`(含 Agent 自建、半成品系列、占名系列);停下报告原因与选项,等用户选。细则见 `google-ads-write.md`「创建失败时禁止的做法」。
|
|
149
|
+
- **例外——本轮试探广告**:同一轮自己用 `ad ad-create` 试出来的短标题或残缺 RSA,正式广告通过后直接 `ad ad-delete` 删掉,不要改成暂停留在组里。汇报条数前再跑一次 `ad list`,按列表实数写。这不包含删系列、删用户原有广告。
|
|
149
150
|
- **写操作结束后必须向用户交付成败报告**(修改 / 创建 / 删除 / 绑定 / 分享 / 开户提交 / 预警变更等凡改变远端状态的命令):
|
|
150
151
|
- 用**业务语言**说明:结论(全成功 / 部分失败 / 全失败)→ **成功了哪些**(对象名或 ID)→ **失败了哪些**(对象 + 原因,来自当次 CLI stderr / `reason` / `errors` / 读命令复核)→ 如需用户动作再给 1 句下一步。
|
|
151
152
|
- 批量或可部分失败时(多账户 MCC/BC、关户、批量关键词等):**逐项**列清,禁止只说「已处理」。
|
|
@@ -298,6 +298,14 @@ siluzan-tso ad ad-create \
|
|
|
298
298
|
|
|
299
299
|
创建后暂停:`ad ad-status -a <accountId> --id <adId> --status Paused --commit "创建后暂停"`。若列表找不到新广告,给 `ad-status` / `ad list` 加宽 `--start`/`--end`。
|
|
300
300
|
|
|
301
|
+
**拒审试探留下的半成品**:同一轮里为定位哪句文案被拒而 `ad ad-create` 出来的短标题或残缺 RSA,正式那条通过后立刻删掉:
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
siluzan-tso ad ad-delete -a <accountId> --id <adId>
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
不要改成 `ad-status Paused` 留在组里。删完再 `ad list`,对用户报的条数用这次列表,不要按「每组 1 条」心算。只删本轮自己建的试探广告;删系列、删用户原有广告仍先问。
|
|
308
|
+
|
|
301
309
|
文案合规见 `rules/google-ads-compliance-copy.md`。
|
|
302
310
|
|
|
303
311
|
---
|
|
@@ -36,7 +36,7 @@ Meta / Facebook 线索广告走 **`meta-ad`(W13)**,**禁止**用本命令
|
|
|
36
36
|
- **预算投放**:`BudgetBudgetDeliveryMethodV2` 默认用 `STANDARD`;`ACCELERATED` 多数账户会被 Google 拒(validate 警告)。
|
|
37
37
|
- **STRUCTURED_SNIPPET**:`StructuredSnippetHeaderValue.Key` 须为合法英文标头(`ad extension snippet-headers`);`Features` 等非法值 validate 会拦(建议 `Amenities`)。
|
|
38
38
|
- **batch get**:读 `agentWorkflow`——无 `campaignId` 的 Failed/HasFailed **禁止**跑 `batch diff`,按 `agentHint` 改 JSON 重提。
|
|
39
|
-
-
|
|
39
|
+
- **创建失败不删系列、不试系列**:政策违规、名称占用、半成品系列残留时,**禁止**自行建测试系列逐地域排查或 `campaign-delete`;先报告并等用户选(见 [`google-ads-write.md`](google-ads-write.md)「创建失败时禁止的做法」)。删系列须用户同意 + `--i-confirm`。本轮 `ad ad-create` 试出来的残缺 RSA 用 `ad ad-delete` 清掉,不要只暂停。
|
|
40
40
|
- **失败只改报错项**:`batch get` 带 `--config-file` 时 `agentWorkflow.failedOperations[]` 把 `mutate_operations[N]` 映射到 JSON 路径;只改这些项,**禁止**整类清空否词/排除地域/投放国家后重提(见 [`rules/google-ads-plan-source-fidelity.md`](rules/google-ads-plan-source-fidelity.md)「创建失败后」)。
|
|
41
41
|
- **batch diff 交付**:把 stdout 中 `BEGIN_USER_DELIVERY_MARKDOWN`…`END`(或 `reportMarkdownFile`)**全文以 Markdown 发给用户**(先于补建);**禁止**只说「未发现缺失 / 详情已交付」。
|
|
42
42
|
- `-a` 必须是 `list-accounts -m Google` 的 `ma.mediaCustomerId`,**禁止**传 `entityId`(UUID)。
|
|
@@ -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.
|
|
12
|
+
$PKG_VERSION = '1.1.58-beta.1'
|
|
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.
|
|
12
|
+
readonly PKG_VERSION="1.1.58-beta.1"
|
|
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"
|