siluzan-tso-cli 1.1.54 → 1.1.55-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 +473 -231
- package/dist/skill/SKILL.md +2 -2
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/references/accounts/accounts-list.md +3 -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/agent-conventions.md +6 -4
- package/dist/skill/references/core/playbooks.md +1 -1
- package/dist/skill/references/core/setup.md +5 -5
- package/dist/skill/references/core/subagent-orchestration.md +1 -1
- package/dist/skill/references/misc/tso-home.md +2 -2
- package/dist/skill/references/operations/guard.md +1 -1
- package/dist/skill/references/report-templates/README.md +1 -1
- package/dist/skill/references/report-templates/REPORT-WORKFLOW.md +1 -1
- package/dist/skill/references/report-templates/okki-weekly-google-client.md +55 -42
- package/dist/skill/report-templates/README.md +1 -1
- package/dist/skill/report-templates/REPORT-WORKFLOW.md +1 -1
- package/dist/skill/report-templates/okki-weekly-google-client.md +55 -42
- package/dist/skill/scripts/install.ps1 +3 -3
- package/dist/skill/scripts/install.sh +3 -3
- package/dist/skill/snippets/handoff-p6-okki.md +2 -2
- package/eval/cases/compat-account-balance.scenario.json +23 -0
- package/eval/cases/compat-cpa-risk-scan.scenario.json +26 -0
- package/eval/cases/compat-d-group-mcc.scenario.json +31 -0
- package/eval/cases/compat-google-analysis-run-is-real.scenario.json +23 -0
- package/eval/cases/compat-playbook-code-w1.scenario.json +23 -0
- package/eval/cases/hosted-sop-daily-budget-circuit-breaker.scenario.json +8 -2
- package/eval/cases/uj-patrol-google-balances-low.scenario.json +9 -3
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
> **默认交付(硬性,缺文件 = 任务未完成)**:磁盘上的 **5 Sheet `.xlsx`**(由 `google-analysis okki-render` 生成)+ 对话内客户话术。
|
|
10
10
|
> 「表格形式 / 表格 / 各维度表格 / 表 / 做成表」= **Excel `.xlsx`**,**不是**对话 Markdown 表,**不是**手写 HTML/PDF。
|
|
11
11
|
> 仅当用户明确「只要话术 / 不要文件 / 不要 Excel」时才省略 xlsx。
|
|
12
|
-
> **禁止**:用对话 Markdown 表、手写 HTML、PDF 代替 `.xlsx`;**禁止** Agent 手写 / 脚本写 xlsx
|
|
12
|
+
> **禁止**:用对话 Markdown 表、手写 HTML、PDF 代替 `.xlsx`;**禁止** Agent 手写 / 脚本写 xlsx。话术由 Agent 按下文「对外客户话术」填写,**不要**另写脚本生成话术。
|
|
13
13
|
|
|
14
14
|
## Contents
|
|
15
15
|
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
- 标准四步流程(拉数 → 写 JSON → okki-render)
|
|
18
18
|
- 拉数(一次目录)
|
|
19
19
|
- xlsx 版式规范(由 CLI 锁死)
|
|
20
|
-
-
|
|
20
|
+
- 对外客户话术(默认 7 条,一条一行)
|
|
21
21
|
- 复盘小结(Excel「数据复盘」区块 / 对内补充)
|
|
22
22
|
- 与 `google-period-report.md` 的差异
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
|
-
识别到上述意图时:**不要**再走 `google-period-report.md` 的「默认 9 章 + 追问追加」流程;按本文**固定维度 + 默认客户话术(可用户自定义)+ `okki-render` 出 5 Sheet `.xlsx`** 交付。**先 `okki-render` 再发话术**;没有 `.xlsx`
|
|
26
|
+
识别到上述意图时:**不要**再走 `google-period-report.md` 的「默认 9 章 + 追问追加」流程;按本文**固定维度 + 默认客户话术(可用户自定义)+ `okki-render` 出 5 Sheet `.xlsx`** 交付。**先 `okki-render` 再发话术**;没有 `.xlsx` 路径不得收口。话术骨架见下文,禁止另起一套标题。
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
2. **统计区间**:`--start` / `--end`(用户未给齐时按 SKILL 反问;授权默认时可用「上一完整自然周」白名单并写明)。
|
|
34
34
|
3. **询盘口径**:默认使用区间内 `conversions`(转化次数,来自 `stats` 或 `overview`)。若运营定义为某类转化,须在首段脚注说明(必要时补拉 `google-analysis --sections conversion-actions` 仅作说明)。
|
|
35
35
|
4. **日期写法**:`2026.4.1`、`2026/4/1` 等先规范为 `YYYY-MM-DD`(如 `2026-04-01`)再传 `--start` / `--end`。
|
|
36
|
-
5. **交付**:默认 **客户话术 + 5 Sheet `.xlsx
|
|
36
|
+
5. **交付**:默认 **客户话术 + 5 Sheet `.xlsx`(xlsx 必产,由 `okki-render` 写出)**。「表格形式」一律当 Excel。仅用户明确只要可复制话术、不要文件时,才省略 xlsx。话术按下文默认 7 条填写。
|
|
37
37
|
|
|
38
38
|
---
|
|
39
39
|
|
|
@@ -241,53 +241,66 @@ function deviceKind(deviceType) {
|
|
|
241
241
|
|
|
242
242
|
## 对外客户话术(默认结构,填数来自 JSON)
|
|
243
243
|
|
|
244
|
-
>
|
|
245
|
-
> **用户自定义**:用户可(1)粘贴自有话术骨架;(2)要求增删改某几条(如「不要 5.1」「第 3 条改成…」);(3)指定 CTR 基准或币种展示方式。**自定义时仍须**:数值/百分比一律来自 CLI 落盘 JSON + 脚本计算,禁止编造;缺数据标 `[数据不可用:原因]`,不得留空占位符糊弄客户。
|
|
244
|
+
> 话术是给客户看的总结,**由 Agent 填写,不要写脚本生成**。骨架固定;只有措辞和数字随当次数据变。
|
|
246
245
|
|
|
247
|
-
|
|
246
|
+
**默认就用下面这 7 条。** 放进代码块再发给用户,便于原样复制。换行是骨架的一部分:
|
|
248
247
|
|
|
249
|
-
|
|
248
|
+
- `1`~`5`、`5.1`、`5.2`、`7` 各占一行,行末用分号
|
|
249
|
+
- 第 `6` 条先写「6、优化建议:」,下面 **3~5 条**建议各占一行,用 ①②③④⑤,禁止写进同一句
|
|
250
|
+
- 禁止把 1~7 合成一段
|
|
250
251
|
|
|
251
252
|
```
|
|
252
|
-
|
|
253
|
+
您好,同步一下谷歌<中文日期>投放的情况:
|
|
253
254
|
|
|
254
|
-
1
|
|
255
|
+
1、消耗:共消耗<金额>,平均每天消耗<金额>;
|
|
255
256
|
2、展示点击:带来<曝光>个曝光,<点击>个点击;
|
|
256
|
-
3、点击率:<CTR
|
|
257
|
-
4
|
|
258
|
-
5、转化:记录到网站表单+会话询盘<N>个;直接写邮件咨询和 WhatsApp
|
|
259
|
-
5.1
|
|
260
|
-
5.2
|
|
261
|
-
6
|
|
262
|
-
|
|
257
|
+
3、点击率:<CTR%>,处于<优秀/正常/偏低>水平(<按下方规则选一条基准>);
|
|
258
|
+
4、平均点击单价:<金额>;
|
|
259
|
+
5、转化:记录到网站表单+会话询盘<N>个;直接写邮件咨询和 WhatsApp 咨询无法记录,需贵司自行统计后反馈具体咨询产品和国家,方便广告及时调整;
|
|
260
|
+
5.1 有转化的关键词:<词(N 个,CPA 金额)>;
|
|
261
|
+
5.2 有转化的国家:<国家(N 个,CPA 金额)>;
|
|
262
|
+
6、优化建议:
|
|
263
|
+
① <一条可执行建议,点名对象并引用当次数字>
|
|
264
|
+
② <同上>
|
|
265
|
+
③ <同上>
|
|
266
|
+
7、账户余额:<金额>(截至查询时点)。
|
|
263
267
|
```
|
|
264
268
|
|
|
269
|
+
日期写成 `2026年4月1日-4月7日`(同年可省略结束年份),须与 `--start` / `--end` 对应。
|
|
270
|
+
|
|
271
|
+
**未获本轮用户改骨架时,禁止:**
|
|
272
|
+
|
|
273
|
+
- 改成「一、本周概览 / 二、本周发现 / 三、下周优化动作 / 四、需要您配合确认」,或任何另一套标题
|
|
274
|
+
- 把上一轮、另一个账户、对话里出现过的话术当成这次的骨架
|
|
275
|
+
- 用「结论先行」重写可复制块。运营摘要最多 3~5 行,放在代码块**外面**
|
|
276
|
+
|
|
277
|
+
**只有本轮用户**粘贴了全文骨架,或点名增删某一条(「不要 5.1」「第 3 条改成…」)时才偏离上面的结构。只改被点名的条目;用户删掉的条目不再输出。数字仍须来自当次 JSON,缺数写 `[数据不可用:原因]`。
|
|
278
|
+
|
|
265
279
|
### 填数规则
|
|
266
280
|
|
|
267
|
-
| 条目
|
|
268
|
-
|
|
|
269
|
-
| 1 消耗 / 日均 |
|
|
270
|
-
| 2 曝光 / 点击 | `
|
|
271
|
-
| 3 点击率
|
|
272
|
-
| 3 水平判定
|
|
273
|
-
| 4 CPC
|
|
274
|
-
| 5 转化数
|
|
275
|
-
| 5.1 / 5.2
|
|
276
|
-
| 6 优化建议
|
|
277
|
-
| 7 余额
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
|
285
|
-
|
|
|
286
|
-
|
|
|
287
|
-
|
|
|
288
|
-
|
|
|
289
|
-
|
|
|
290
|
-
| 「优化建议只要 3 条 bullet」 | 压缩第 6 条条数,内容仍须有据 |
|
|
281
|
+
| 条目 | 数据来源 / 计算 |
|
|
282
|
+
| --- | --- |
|
|
283
|
+
| 1 消耗 / 日均 | 区间 `spend`;日均 = `总消耗 ÷ 区间日历天数`(含起止日) |
|
|
284
|
+
| 2 曝光 / 点击 | `impressions`、`clicks` |
|
|
285
|
+
| 3 点击率 | 已是 **0~1 小数**时写 `(ctr * 100).toFixed(2) + "%"`,禁止直接打印成 `0.10%` |
|
|
286
|
+
| 3 水平判定 | **搜索消耗 ≥60%**:`<3%` 偏低,`3%~5%` 正常,`>5%` 优秀,括号写「搜索正常水平 3%~5%」。**展示消耗 ≥60%**:`<1%` 偏低,`1%~2%` 正常,`>2%` 优秀,括号写「展示正常水平 1%~2%」。其余写「整体」,并说明依据(如搜索消耗占比)。括号里只留这一句判定,不要把本表规则贴给客户 |
|
|
287
|
+
| 4 CPC | `averageCpc`,或 `cost / clicks` |
|
|
288
|
+
| 5 转化数 | 默认 `conversions` |
|
|
289
|
+
| 5.1 / 5.2 | `keywords` / `campaign-geo-matched` 中 `conversions > 0`,按词或国家合计,最多 5 个,写成「名称(N 个,CPA 金额)」;没有则写「本周期暂无带转化关键词」或「本周期暂无带转化国家/地区」 |
|
|
290
|
+
| 6 优化建议 | 同批 JSON,3~5 条,每条单独一行;不额外拉数。用户若限定「只写预算/否词」,按该范围写,条数仍各自成行 |
|
|
291
|
+
| 7 余额 | `balance` 当前余额,标注截至查询时点 |
|
|
292
|
+
|
|
293
|
+
金额、百分比一律 2 位小数。CNY 用 `¥`,USD 用 `$`。
|
|
294
|
+
|
|
295
|
+
### 用户本轮改骨架时
|
|
296
|
+
|
|
297
|
+
| 用户说法 | Agent 行为 |
|
|
298
|
+
| --- | --- |
|
|
299
|
+
| 未提话术样式 / 「按默认 OKKI 话术」 | 用上方 7 条,一条一行 |
|
|
300
|
+
| 「话术用我这份:…」(本轮粘贴全文) | 以这份全文为骨架填数;缺项不擅自补回默认条目 |
|
|
301
|
+
| 「不要 5.1 / 5.2,其它不变」 | 仍是默认 7 条,只删 5.1、5.2 |
|
|
302
|
+
| 「第 3 条只写搜索点击率,基准 4%」 | 只改第 3 条的判定句,数值仍来自 JSON |
|
|
303
|
+
| 「按上次那个账户的四段式」 | 仅当用户**本轮**这样说才换骨架;不要自己从历史里捡 |
|
|
291
304
|
|
|
292
305
|
---
|
|
293
306
|
|
|
@@ -304,5 +317,5 @@ function deviceKind(deviceType) {
|
|
|
304
317
|
| 项 | `google-period-report.md` | 本文 OKKI 周报 |
|
|
305
318
|
| -------- | ------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
|
306
319
|
| 默认维度 | 8 维 + 主动追问追加 | **固定** `overview,campaigns,keywords,search-terms,campaign-device,campaign-geo-matched` + `stats` + `balance` |
|
|
307
|
-
| 输出形态 | 长文分析报告(默认 HTML,`google-analysis render`) | **必产** 5 Sheet `.xlsx`(`google-analysis okki-render`)+
|
|
320
|
+
| 输出形态 | 长文分析报告(默认 HTML,`google-analysis render`) | **必产** 5 Sheet `.xlsx`(`google-analysis okki-render`)+ 客户话术(默认 7 条、一条一行);「表格形式」= Excel;**禁止**对话 Markdown 表 / 手写 HTML / Agent 手写 xlsx / 另写一套话术标题 |
|
|
308
321
|
| 典型用户 | 内部分析 | **发客户**的同步简报 |
|
|
@@ -9,11 +9,11 @@ $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.55-beta.2'
|
|
13
13
|
$CLI_BIN = 'siluzan-tso'
|
|
14
14
|
$SKILL_LABEL = 'Siluzan TSO'
|
|
15
|
-
$INSTALL_CMD = 'npm install -g siluzan-tso-cli'
|
|
16
|
-
$WEB_BASE = 'https://www.siluzan.com'
|
|
15
|
+
$INSTALL_CMD = 'npm install -g siluzan-tso-cli@beta'
|
|
16
|
+
$WEB_BASE = 'https://www-ci.siluzan.com'
|
|
17
17
|
|
|
18
18
|
# -- Constants ----------------------------------------------------------------
|
|
19
19
|
$NODE_MAJOR_MIN = 18
|
|
@@ -9,11 +9,11 @@ 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.55-beta.2"
|
|
13
13
|
readonly CLI_BIN="siluzan-tso"
|
|
14
14
|
readonly SKILL_LABEL="Siluzan TSO"
|
|
15
|
-
readonly INSTALL_CMD="npm install -g siluzan-tso-cli"
|
|
16
|
-
readonly WEB_BASE="https://www.siluzan.com"
|
|
15
|
+
readonly INSTALL_CMD="npm install -g siluzan-tso-cli@beta"
|
|
16
|
+
readonly WEB_BASE="https://www-ci.siluzan.com"
|
|
17
17
|
|
|
18
18
|
# -- Constants ----------------------------------------------------------------
|
|
19
19
|
readonly NODE_MAJOR_MIN=18
|
|
@@ -45,7 +45,7 @@ siluzan-tso google-analysis -a <mediaCustomerId> --start <S> --end <E> --json-ou
|
|
|
45
45
|
|
|
46
46
|
**任务**:
|
|
47
47
|
|
|
48
|
-
1. Read `report-templates/okki-weekly-google-client.md` 中 **§标准四步流程** 与 **§对外客户话术**(默认 7
|
|
48
|
+
1. Read `report-templates/okki-weekly-google-client.md` 中 **§标准四步流程** 与 **§对外客户话术**(默认 7 条、一条一行;主 Agent 若说明用户本轮改了骨架则从其指示)。不要自己改成「一、二、三、四」。
|
|
49
49
|
2. 按 `assets/okki-weekly-report.schema.json` 写 `okki-weekly-report.json`:只填 `meta` + `narrative.sheetAnalysis`(5 Sheet,各 summary≥1 / suggestions≥1)+ `narrative.review`(固定 5 维:账户/关键词/搜索字词/设备/国家,每维 overview+summary+suggestion)。表为空也须写分析。`campaign-device` 的 `deviceType` 是 `Desktop`/`Mobile`/`Tablet`(不是 `DESKTOP`/`MOBILE`);设备消耗按 `toLowerCase()` / `includes("desktop")` 分类累加,**禁止** `.get("DESKTOP")`。
|
|
50
50
|
3. 执行:
|
|
51
51
|
```bash
|
|
@@ -57,4 +57,4 @@ siluzan-tso google-analysis -a <mediaCustomerId> --start <S> --end <E> --json-ou
|
|
|
57
57
|
失败则按 stderr 补 JSON 后重跑,不得改用手写表。
|
|
58
58
|
4. 设备/国家必须来自 `campaign-device` / `campaign-geo-matched`(由 render 校验)。
|
|
59
59
|
|
|
60
|
-
**returnSchema**: xlsx 路径 + `okki-render` exitCode +
|
|
60
|
+
**returnSchema**: xlsx 路径 + `okki-render` exitCode + 客户话术文本(默认 7 条、一条一行)。勿贴 xlsx 二进制。
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "compat-account-balance",
|
|
3
|
+
"description": "用户说 account balance 查全部 Google 户时改跑 balance-scan",
|
|
4
|
+
"turns": [
|
|
5
|
+
"请用 siluzan-tso 执行 account balance,检查我所有 Google 广告账户余额够不够。JSON 落盘,直接跑正确的那条。"
|
|
6
|
+
],
|
|
7
|
+
"judgeExpectation": "路径:没有 `account balance`。多户余额必须 `balance-scan -m Google --json-out`。单户才用 `balance -m Google -a <id>`。\n输出:交付 `userDelivery`。不要停在错误命令上向用户解释用法后结束。",
|
|
8
|
+
"skillMapping": "references/accounts/accounts-balance-stats.md",
|
|
9
|
+
"judgeReferencePaths": [
|
|
10
|
+
"references/accounts/accounts-balance-stats.md"
|
|
11
|
+
],
|
|
12
|
+
"commandMustInclude": [
|
|
13
|
+
[
|
|
14
|
+
"balance-scan"
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
"--json-out"
|
|
18
|
+
]
|
|
19
|
+
],
|
|
20
|
+
"commandMustNotInclude": [
|
|
21
|
+
"account balance"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "compat-cpa-risk-scan",
|
|
3
|
+
"description": "用户说 cpa-risk-scan 时改跑 accounts-digest",
|
|
4
|
+
"turns": [
|
|
5
|
+
"帮我跑 cpa-risk-scan,看所有 Google 户最近 7 天转化成本有没有超过 500。用 siluzan-tso,直接执行正确命令,JSON 落盘。"
|
|
6
|
+
],
|
|
7
|
+
"judgeExpectation": "路径:没有 `cpa-risk-scan`。转化成本巡检用 `accounts-digest -m Google --max-cpa --json-out`。\n输出:交付 `agentBrief.userDelivery`。",
|
|
8
|
+
"skillMapping": "references/accounts/accounts-balance-stats.md",
|
|
9
|
+
"judgeReferencePaths": [
|
|
10
|
+
"references/accounts/accounts-balance-stats.md"
|
|
11
|
+
],
|
|
12
|
+
"commandMustInclude": [
|
|
13
|
+
[
|
|
14
|
+
"accounts-digest"
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
"--max-cpa"
|
|
18
|
+
],
|
|
19
|
+
[
|
|
20
|
+
"--json-out"
|
|
21
|
+
]
|
|
22
|
+
],
|
|
23
|
+
"commandMustNotInclude": [
|
|
24
|
+
"cpa-risk-scan"
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "compat-d-group-mcc",
|
|
3
|
+
"description": "D 组日巡检必须带 --login-customer-id,不得发明其它 MCC 旗标",
|
|
4
|
+
"turns": [
|
|
5
|
+
"做 D 组日巡检:只看 MCC 3978893117 下面的 Google 账户余额够不够。用 siluzan-tso,JSON 落盘,直接执行。"
|
|
6
|
+
],
|
|
7
|
+
"judgeExpectation": "路径:D 组 / MCC 3978893117 的余额巡检必须是 `balance-scan -m Google --login-customer-id 3978893117 --json-out`。\n禁止发明 `--mcc`、`--login-customerid` 或其它旗标。不传该参数时才扫全部账户。",
|
|
8
|
+
"skillMapping": "references/accounts/accounts-list.md",
|
|
9
|
+
"judgeReferencePaths": [
|
|
10
|
+
"references/accounts/accounts-list.md"
|
|
11
|
+
],
|
|
12
|
+
"commandMustInclude": [
|
|
13
|
+
[
|
|
14
|
+
"balance-scan"
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
"--login-customer-id"
|
|
18
|
+
],
|
|
19
|
+
[
|
|
20
|
+
"3978893117"
|
|
21
|
+
],
|
|
22
|
+
[
|
|
23
|
+
"--json-out"
|
|
24
|
+
]
|
|
25
|
+
],
|
|
26
|
+
"commandMustNotInclude": [
|
|
27
|
+
"--mcc",
|
|
28
|
+
"--login-customerid",
|
|
29
|
+
"--login_customer_id"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "compat-google-analysis-run-is-real",
|
|
3
|
+
"description": "单户 google-analysis run 是合法默认子命令,多户全量才用 google-analysis-batch",
|
|
4
|
+
"turns": [
|
|
5
|
+
"用 siluzan-tso 对 Google 账户 {{EVAL_ACCOUNT_READ}} 执行 google-analysis run,拉近 7 天周期数据,JSON 落盘,直接执行。"
|
|
6
|
+
],
|
|
7
|
+
"judgeExpectation": "路径:`google-analysis run -a <id> --json-out` 是单户拉数的合法写法,与 `google-analysis -a <id>` 等价,不要改写成别的命令。\n输出:说明结果在 --json-out 目录。不要求数值正确。",
|
|
8
|
+
"skillMapping": "references/core/agent-conventions.md · 批量任务",
|
|
9
|
+
"judgeReferencePaths": [
|
|
10
|
+
"references/core/agent-conventions.md"
|
|
11
|
+
],
|
|
12
|
+
"commandMustInclude": [
|
|
13
|
+
[
|
|
14
|
+
"google-analysis"
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
"{{EVAL_ACCOUNT_READ}}"
|
|
18
|
+
],
|
|
19
|
+
[
|
|
20
|
+
"--json-out"
|
|
21
|
+
]
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "compat-playbook-code-w1",
|
|
3
|
+
"description": "把 W1 当命令时改跑 list-accounts",
|
|
4
|
+
"turns": [
|
|
5
|
+
"请执行 siluzan-tso W1,把我的 Google 广告账户都列出来,要 JSON。"
|
|
6
|
+
],
|
|
7
|
+
"judgeExpectation": "路径:`W1` 是路由编号不是 CLI 命令。列出 Google 账户用 `list-accounts -m Google --json-out`。\n输出:账户列表或明确的命令失败原因。",
|
|
8
|
+
"skillMapping": "SKILL.md 路由表 W1",
|
|
9
|
+
"commandMustInclude": [
|
|
10
|
+
[
|
|
11
|
+
"list-accounts"
|
|
12
|
+
],
|
|
13
|
+
[
|
|
14
|
+
"Google"
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
"--json-out"
|
|
18
|
+
]
|
|
19
|
+
],
|
|
20
|
+
"commandMustNotInclude": [
|
|
21
|
+
" W1"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
"id": "hosted-sop-daily-budget-circuit-breaker",
|
|
3
3
|
"description": "SOP1:单日预算熔断 — 方案须含拉数字段、系数、暂停与人工恢复(仅方案,不执行 CLI)",
|
|
4
4
|
"turns": [
|
|
5
|
-
"我在给 Google
|
|
5
|
+
"我在给 Google 账户写 Cron 宿主编排「单日预算熔断」:当日累计费用相对日预算达到 115% 就先列出对应 Campaign(系数做成可配置,默认区间按文档建议写进方案)。统计日 2026-04-24。请不要在本轮执行任何 siluzan-tso 命令;只输出一份可落地的文字方案:用哪条命令检查全户、命中后怎么交付、用户授权后才写的暂停命令、人工恢复步骤。"
|
|
6
6
|
],
|
|
7
|
-
"judgeExpectation": "评分对象:仅评 agent 最终回复里的**文字方案**(设计步骤、数据字段、判断条件、拟用写命令、复核与通知),**不**要求本轮对话中真的执行 CLI、也**不**依据命令 trace 给分。\n方案应可交给 Cron/OpenClaw 等宿主落地;示例命令可作为方案的一部分出现。\n
|
|
7
|
+
"judgeExpectation": "评分对象:仅评 agent 最终回复里的**文字方案**(设计步骤、数据字段、判断条件、拟用写命令、复核与通知),**不**要求本轮对话中真的执行 CLI、也**不**依据命令 trace 给分。\n方案应可交给 Cron/OpenClaw 等宿主落地;示例命令可作为方案的一部分出现。\n方案中的全户检查命令必须是 `siluzan-tso guard budget-circuit -m Google --json-out`(可带 `--date` / `--ratio`)。禁止把逐户 `ad campaigns` 写成正确路径。\n方案中应写明:阈值 = 日预算 × ratio(默认 1.1,建议 1.10–1.20);命中字段是系列名称、当日 `spend`、日 `budget`。交付物是 CLI 的 `userDelivery`(无命中为「今日无命中」)。\n方案中应写明:`guard` 只列出命中,不暂停。只有用户当轮明确授权后,才对命中 ID 逐条执行 `ad campaign-status … --status Paused --commit`。恢复须人工调高预算后再启用,不应写成无人值守自动恢复。",
|
|
8
8
|
"skillMapping": "references/operations/hosted-automation-self-control.md · 场景 1",
|
|
9
9
|
"judgeReferencePaths": [
|
|
10
10
|
"references/operations/hosted-automation-self-control.md",
|
|
11
11
|
"references/google-ads/google-ads.md"
|
|
12
|
+
],
|
|
13
|
+
"commandMustNotInclude": [
|
|
14
|
+
"ad campaigns"
|
|
15
|
+
],
|
|
16
|
+
"responseMustMatch": [
|
|
17
|
+
"guard budget-circuit"
|
|
12
18
|
]
|
|
13
19
|
}
|
|
@@ -2,19 +2,25 @@
|
|
|
2
2
|
"id": "uj-patrol-google-balances-low",
|
|
3
3
|
"description": "所有 Google 账户余额是否快没钱",
|
|
4
4
|
"turns": [
|
|
5
|
-
"帮我检查一下所有 Google 账户的余额,看看有没有快没钱的。用 siluzan-tso
|
|
5
|
+
"帮我检查一下所有 Google 账户的余额,看看有没有快没钱的。用 siluzan-tso,JSON 落盘,直接执行。"
|
|
6
6
|
],
|
|
7
|
-
"judgeExpectation": "
|
|
7
|
+
"judgeExpectation": "路径:多户余额预警必须执行 `balance-scan -m Google --json-out`。不要先 `list-accounts` 再逐户 `balance`,也不要执行 `account balance`。\n输出:把 CLI stdout 里的 `userDelivery` 原样交给用户(命中表或「今日无命中」)。",
|
|
8
8
|
"skillMapping": "references/accounts/accounts.md;SKILL 批量任务",
|
|
9
9
|
"judgeReferencePaths": [
|
|
10
10
|
"references/accounts/accounts.md"
|
|
11
11
|
],
|
|
12
12
|
"commandMustInclude": [
|
|
13
13
|
[
|
|
14
|
-
"
|
|
14
|
+
"balance-scan"
|
|
15
15
|
],
|
|
16
16
|
[
|
|
17
17
|
"Google"
|
|
18
|
+
],
|
|
19
|
+
[
|
|
20
|
+
"--json-out"
|
|
18
21
|
]
|
|
22
|
+
],
|
|
23
|
+
"commandMustNotInclude": [
|
|
24
|
+
"account balance"
|
|
19
25
|
]
|
|
20
26
|
}
|