siluzan-tso-cli 1.1.61-beta.1 → 1.1.61
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 -2
- package/dist/index.js +2 -2
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/assets/pmax-patch-campaign-template.json +1 -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/account-analytics.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/setup.md +5 -5
- package/dist/skill/references/google-ads/google-ads-write.md +3 -1
- package/dist/skill/references/google-ads/pmax-api.md +2 -2
- package/dist/skill/references/google-ads/rules/google-ads-pmax-guide.md +1 -0
- package/dist/skill/references/misc/tso-home.md +2 -2
- package/dist/skill/references/report-templates/google-period-report-excel.md +3 -1
- package/dist/skill/report-templates/google-period-report-excel.md +3 -1
- package/dist/skill/scripts/install.ps1 +3 -3
- package/dist/skill/scripts/install.sh +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ HTML 报告模板外部资源:**ECharts** 统一使用 `https://staticpn.siluz
|
|
|
43
43
|
在**用户的目标项目根目录**执行(根据用户使用的助手选择 `--ai`):
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
npm install -g siluzan-tso-cli
|
|
46
|
+
npm install -g siluzan-tso-cli
|
|
47
47
|
siluzan-tso init --ai cursor # 写入 Cursor(默认)
|
|
48
48
|
siluzan-tso init --ai cursor,claude # 同时写入多个平台
|
|
49
49
|
siluzan-tso init --ai all # 写入所有支持的平台
|
|
@@ -51,7 +51,6 @@ siluzan-tso init -d /path/to/skills # 写入自定义目录
|
|
|
51
51
|
siluzan-tso init --force # 强制覆盖已存在文件
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
> **注意**:当前为测试版(1.1.61-beta.1),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-tso-cli`。
|
|
55
54
|
|
|
56
55
|
| 助手 | 建议 `--ai` |
|
|
57
56
|
| ----------------------- | ------------------------------------ |
|
package/dist/index.js
CHANGED
|
@@ -4051,7 +4051,7 @@ var DEFAULT_API_BASE;
|
|
|
4051
4051
|
var init_defaults = __esm({
|
|
4052
4052
|
"src/config/defaults.ts"() {
|
|
4053
4053
|
"use strict";
|
|
4054
|
-
DEFAULT_API_BASE = "https://tso-api
|
|
4054
|
+
DEFAULT_API_BASE = "https://tso-api.siluzan.com";
|
|
4055
4055
|
}
|
|
4056
4056
|
});
|
|
4057
4057
|
|
|
@@ -126323,7 +126323,7 @@ function register21(program2) {
|
|
|
126323
126323
|
);
|
|
126324
126324
|
addPmaxJsonOptions(
|
|
126325
126325
|
adCmd.command("pmax-edit").description(
|
|
126326
|
-
"\u66F4\u65B0 PMax \u6D3B\u52A8\uFF08PATCH\uFF1B\u52FF\u7528 ad campaign-edit\uFF09\n --patch-file \u89C1 assets/pmax-patch-campaign-template.json\uFF1BassetAutomationSettings \u53EA\u6539\u63D0\u4EA4\u7684\u7C7B\u578B"
|
|
126326
|
+
"\u66F4\u65B0 PMax \u6D3B\u52A8\uFF08PATCH\uFF1B\u52FF\u7528 ad campaign-edit\uFF09\n --patch-file \u89C1 assets/pmax-patch-campaign-template.json\uFF1BassetAutomationSettings \u53EA\u6539\u63D0\u4EA4\u7684\u7C7B\u578B\uFF1BtextGuidelines \u672A\u4F20\u4E0D\u5199\u3001\u4F20 {} \u6E05\u7A7A"
|
|
126327
126327
|
).requiredOption("-a, --account <id>", "Google \u5A92\u4F53\u5BA2\u6237 ID").requiredOption("--campaign-id <id>", "\u6D3B\u52A8 ID").option("--patch-file <path>", "PATCH JSON\uFF08budget/targetCpa \u586B\u5143\uFF09").option(
|
|
126328
126328
|
"--status <status>",
|
|
126329
126329
|
"2|3|4 \u6216 Enabled|Paused|Removed\uFF08Removed \u4E0D\u53EF\u6062\u590D\uFF0C\u987B\u7528\u6237\u540C\u610F\u540E\u52A0 --i-confirm\uFF09"
|
package/dist/skill/_meta.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_comment": "PATCH 活动;budget/targetCpa 填主币种元,CLI 自动 ×100。assetAutomationSettings 只改提交的类型,例如 GENERATE_IMAGE_ENHANCEMENT / GENERATE_IMAGE_EXTRACTION(OPTED_IN 或 OPTED_OUT
|
|
2
|
+
"_comment": "PATCH 活动;budget/targetCpa 填主币种元,CLI 自动 ×100。assetAutomationSettings 只改提交的类型,例如 GENERATE_IMAGE_ENHANCEMENT / GENERATE_IMAGE_EXTRACTION(OPTED_IN 或 OPTED_OUT)。未提交不写。需要改文字规范时另加 textGuidelines(整段替换;传 {} 清空;termExclusions≤25×30;messagingRestrictions≤40×300;restrictionType 仅 RESTRICTION_BASED_EXCLUSION)。不要把 textGuidelines 留在只改预算的文件里",
|
|
3
3
|
"id": "12345678901",
|
|
4
4
|
"budgetId": "111222333",
|
|
5
5
|
"budget": 5.5,
|
|
@@ -170,7 +170,7 @@ siluzan-tso account-history --start 2026-03-01 --end 2026-03-31 --json-out ./sna
|
|
|
170
170
|
| 状态 | 含义 | 下一步操作 |
|
|
171
171
|
| ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
172
172
|
| `Pending` | 审核中 | 等待,可反复运行此命令轮询;审核周期因媒体而异 |
|
|
173
|
-
| `Approved` | 审核通过 | 运行 `list-accounts -m <媒体>` 确认账户已出现;引导用户充值激活(`config show` 取 `webUrl`,按 `finance.md` 打开对应媒体充值页;例如 Google 为 `https://www
|
|
173
|
+
| `Approved` | 审核通过 | 运行 `list-accounts -m <媒体>` 确认账户已出现;引导用户充值激活(`config show` 取 `webUrl`,按 `finance.md` 打开对应媒体充值页;例如 Google 为 `https://www.siluzan.com/v3/foreign_trade/tso/recharge/pay?mediaType=Google`;Yandex 当前没有对应充值界面) |
|
|
174
174
|
| `Rejected` | 被拒 | 查看 `--json-out` 落盘中的 `reason` 字段了解拒绝原因;修改资料后重新提交;若原因不明,引导用户联系丝路赞客服 |
|
|
175
175
|
|
|
176
176
|
---
|
|
@@ -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
|
|
493
|
+
| **账户激活**(邀请他人激活 / 充值激活) | Google | `https://www.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
|
|
502
|
+
# https://www.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
|
|
129
|
+
链接模式:`https://www.siluzan.com/v3/foreign_trade/tso/recharge/<page>?mediaType=<mediaType>`;丝路赞钱包:`https://www.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
|
|
3
|
+
> 网页链接:`https://www.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
|
|
68
|
+
# 审核通过后:config show → https://www.siluzan.com/v3/foreign_trade/tso/recharge/pay?mediaType=Google
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
---
|
|
@@ -214,7 +214,7 @@ const data = d.record ?? d.items; // record 非空=汇总维度;否则=列表
|
|
|
214
214
|
|
|
215
215
|
`items[]` 每行额外包含:`conversionsValue`、`conversionsValuePerCost`(`spend ≤ 0` 时为 0)、`campaignTargetCpaYuan`、`maximizeConversionsTargetCpaYuan`、`manualCpcEnhancedCpcEnabled`、`percentCpcEnhancedCpcEnabled`。所有金额字段(`*Yuan` 后缀)已统一为元,可直接展示,无需换算。
|
|
216
216
|
|
|
217
|
-
账户级转化价值 / 单转化价值 / ROAS
|
|
217
|
+
账户级转化价值 / 单转化价值 / ROAS:先确认 `campaigns` 行是否带 `conversionsValue`;有才对 `items[]` 汇总(`Σ conversionsValue`、`÷ Σ conversions`、`÷ Σ spend`),禁止对行上 `conversionsValuePerCost` 再平均。整批无该字段 → 写「未返回」,禁止用转化次数×1 等估算。`overview` period 块通常没有此字段。上期另拉等长上一周期 `campaigns` 再同样判断(见 `google-period-report-excel.md`)。
|
|
218
218
|
|
|
219
219
|
| 字段 | 含义 |
|
|
220
220
|
| ------------------------------------- | ------------------------------------------------ |
|
|
@@ -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
|
|
194
|
-
| Google | 小时报(Hourly) | `https://www
|
|
195
|
-
| TikTok | 日报 | `https://www
|
|
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` |
|
|
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
|
|
208
|
+
# webUrl: https://www.siluzan.com
|
|
209
209
|
|
|
210
210
|
# 第三步:拼接链接(Google 日报)
|
|
211
|
-
# https://www
|
|
211
|
+
# https://www.siluzan.com/media-report/publish/rpt_abc123?culture=zh-CN
|
|
212
212
|
```
|
|
@@ -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
|
|
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
|
|
67
|
+
API Key 获取入口:`https://www.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
|
|
131
|
-
googleApiUrl : https://googleapi
|
|
132
|
-
webUrl : https://www
|
|
130
|
+
apiBaseUrl : https://tso-api.siluzan.com
|
|
131
|
+
googleApiUrl : https://googleapi.mysiluzan.com
|
|
132
|
+
webUrl : https://www.siluzan.com
|
|
133
133
|
apiKey : abcd****1234
|
|
134
134
|
```
|
|
135
135
|
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
| 能力 | 命令 |
|
|
85
85
|
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
|
86
86
|
| 详情 | `ad pmax-get -a <id> --campaign-id <cid>`(读 `_brandGuidelinesActive`) |
|
|
87
|
-
| 改活动 | `ad pmax-edit`(`--patch-file` 或 `--status` / `--budget` + `--budget-id`;`assetAutomationSettings`
|
|
87
|
+
| 改活动 | `ad pmax-edit`(`--patch-file` 或 `--status` / `--budget` + `--budget-id`;`assetAutomationSettings` 只改提交类型;`textGuidelines` 未传不写、传 `{}` 清空;改 `Removed` 须用户同意 + `--i-confirm`) |
|
|
88
88
|
| 改 Campaign 品牌 | `ad pmax-brand-assets-edit`(BG 已开启) |
|
|
89
89
|
| 启用 BG | `ad pmax-brand-guidelines-enable --config-file …`(存量活动) |
|
|
90
90
|
| 新资产组 | `ad pmax-asset-group-create --config-file …`(BG 下自动省略品牌) |
|
|
@@ -262,6 +262,8 @@ siluzan-tso ad campaign-edit -a <accountId> --id <campaignId> \
|
|
|
262
262
|
|
|
263
263
|
`campaign-edit` 的名称、预算、出价、投放网络,以及 `campaign-status`,走字段级 PATCH(`writeScope=search-field-patch`)。请求只带本次传入的字段,没传的字段保持原样。金额仍是主币种元,CLI ×100 写入网关「分」。`--search-network` / `--content-network` 传 `true` 或 `false`,关闭传 `false`,不能传空。`budgetShared=true` 时本命令直接拒绝 `--budget`,不会改共享预算。PMax 不要用本命令。
|
|
264
264
|
|
|
265
|
+
**AI Max:** 不要写系列级 `keyword_match_type`(AI Max 开启后 Google 会拒)。改单条关键词匹配类型仍用关键词命令。列表/判断渠道类型用 `channelTypeV2`,不要用旧 `channelType`。
|
|
266
|
+
|
|
265
267
|
网关还支持开始/结束时间、地区类型、地区/语言/时段/否定 IP/设备的整表替换,以及动态搜索广告域名。CLI 还没有这些参数,不要自己拼 PUT 或 PATCH。
|
|
266
268
|
|
|
267
269
|
写完会再 GET:`verification=verified` 才表示对上了本次字段;没改预算但回读预算变了则是 `partial`;读不到是 `unknown`(再查 `ad campaigns`,不要当成没改成,也不要立刻重发)。请求失败时会再 GET 一次预算:金额相对提交前变了是 `partial`(退出码 0),读不到或无法对比是 `unknown`(退出码 0),都不要立刻重发;金额没变才是失败(退出码 1)。
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
| `ad pmax-validate` | 本地校验 |
|
|
19
19
|
| `ad pmax-create` | 创建系列(同步返回 `campaignId` 等;失败时把已建成编号写回 JSON 再跑) |
|
|
20
20
|
| `ad pmax-channel-types` | 渠道类型列表 |
|
|
21
|
-
| `ad pmax-get` | 系列详情(含 `brandAssets[]
|
|
22
|
-
| `ad pmax-edit` | 编辑系列(预算/出价/状态/`assetAutomationSettings`;**不可**改 `brandGuidelinesEnabled
|
|
21
|
+
| `ad pmax-get` | 系列详情(含 `brandAssets[]`;`negativeGenderExclusions` / `negativeKeywordExclusions` / `negativeAgeExclusions`;PATCH 可整表替换,未传不改;`--json-out` 附加 `_brandGuidelinesActive`、`_agentBrandHint`) |
|
|
22
|
+
| `ad pmax-edit` | 编辑系列(预算/出价/状态/`assetAutomationSettings`/`textGuidelines`;**不可**改 `brandGuidelinesEnabled`)。图片增强/提取只改提交的类型;`textGuidelines` 未传不写,传了整段替换,传 `{}` 清空 |
|
|
23
23
|
| `ad pmax-brand-assets-edit` | BG 已开启时改 Campaign 级品牌(商家名/Logo/样式) |
|
|
24
24
|
| `ad pmax-brand-guidelines-enable` | 存量活动启用 BG(不可关闭) |
|
|
25
25
|
| `ad pmax-asset-group-create` | 新建资产组 |
|
|
@@ -370,6 +370,7 @@ AI Max for Search 是 Google 在 Search 系列中集成的 AI 优化功能包:
|
|
|
370
370
|
- `[UI 操作]` **品牌设置(Brand Settings):** 控制 AI 如何使用品牌名称
|
|
371
371
|
- `[UI 操作]` **网址排除(URL Exclusions):** 排除不想作为着陆页的页面(如博客、关于我们)
|
|
372
372
|
- `[UI 操作]` **网址规则(URL Rules):** 限定 AI 只能在特定目录下选择着陆页
|
|
373
|
+
- **勿写系列级匹配类型:** AI Max 开启后不要设置 `Campaign.keyword_match_type`(会被 Google 拒)。可继续改**广告组内单条关键词**的匹配类型。网关 Search PATCH 当前也不写该系列级字段;以后若加写,须先判断 `enable_ai_max`。
|
|
373
374
|
|
|
374
375
|
### 10.4 与 PMax 的交互
|
|
375
376
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
siluzan-tso config show # 取 webUrl
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
首页地址:`https://www
|
|
9
|
+
首页地址:`https://www.siluzan.com/v3/foreign_trade/tso/home`
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
@@ -25,7 +25,7 @@ siluzan-tso config show # 取 webUrl
|
|
|
25
25
|
|
|
26
26
|
## 推荐话术
|
|
27
27
|
|
|
28
|
-
1. **「和首页一样的总览」** → 打开 `https://www
|
|
28
|
+
1. **「和首页一样的总览」** → 打开 `https://www.siluzan.com/v3/foreign_trade/tso/home`。
|
|
29
29
|
2. **「某个 Google 账户昨天花了多少」** → `list-accounts -m Google` + `stats -m Google -a <id>`。
|
|
30
30
|
3. **「有待充值账户」** → 说明聚合数据在首页;CLI 可 `list-accounts` + `balance` 逐户排查,或引导充值页。
|
|
31
31
|
|
|
@@ -82,7 +82,9 @@ siluzan-tso google-analysis -a <id> --start <S> --end <E> --json-out ./snap-p4 \
|
|
|
82
82
|
|
|
83
83
|
`overview.currentPeriod` / `previousPeriod` **没有** `conversionsValue`。账户级「转化价值 / 单转化价值 / ROAS」只从 **`campaigns` 的 `items[]`** 汇总。消耗、点击、转化次数、CTR、CPC、CPA 的环比仍读 overview 的 `previousPeriod`。
|
|
84
84
|
|
|
85
|
-
终稿核心指标(或等价的本期 vs 上期表)出现这三行时,**必须**再拉等长上期的 `campaigns
|
|
85
|
+
终稿核心指标(或等价的本期 vs 上期表)出现这三行时,**必须**再拉等长上期的 `campaigns`,两期用同一公式。
|
|
86
|
+
|
|
87
|
+
**先看后台有没有返回**:以当次 `campaigns-*.outline.txt` / 行上是否出现 `conversionsValue` 为准。有字段 → 按下面公式汇总填数(值为 0 也如实写 0,不要改成「—」);**整批都没有该字段** → 写「未返回」,禁止用转化次数×1、固定客单或其它维度去估。上期同理:上期 campaigns 有字段才填上期三格,禁止用本期去估。
|
|
86
88
|
|
|
87
89
|
**上期窗口**(与 Web `calcPrePeriodTimeRange` 相同,含首尾):
|
|
88
90
|
|
|
@@ -82,7 +82,9 @@ siluzan-tso google-analysis -a <id> --start <S> --end <E> --json-out ./snap-p4 \
|
|
|
82
82
|
|
|
83
83
|
`overview.currentPeriod` / `previousPeriod` **没有** `conversionsValue`。账户级「转化价值 / 单转化价值 / ROAS」只从 **`campaigns` 的 `items[]`** 汇总。消耗、点击、转化次数、CTR、CPC、CPA 的环比仍读 overview 的 `previousPeriod`。
|
|
84
84
|
|
|
85
|
-
终稿核心指标(或等价的本期 vs 上期表)出现这三行时,**必须**再拉等长上期的 `campaigns
|
|
85
|
+
终稿核心指标(或等价的本期 vs 上期表)出现这三行时,**必须**再拉等长上期的 `campaigns`,两期用同一公式。
|
|
86
|
+
|
|
87
|
+
**先看后台有没有返回**:以当次 `campaigns-*.outline.txt` / 行上是否出现 `conversionsValue` 为准。有字段 → 按下面公式汇总填数(值为 0 也如实写 0,不要改成「—」);**整批都没有该字段** → 写「未返回」,禁止用转化次数×1、固定客单或其它维度去估。上期同理:上期 campaigns 有字段才填上期三格,禁止用本期去估。
|
|
86
88
|
|
|
87
89
|
**上期窗口**(与 Web `calcPrePeriodTimeRange` 相同,含首尾):
|
|
88
90
|
|
|
@@ -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.61
|
|
12
|
+
$PKG_VERSION = '1.1.61'
|
|
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
|
|
15
|
+
$INSTALL_CMD = 'npm install -g siluzan-tso-cli'
|
|
16
|
+
$WEB_BASE = 'https://www.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.61
|
|
12
|
+
readonly PKG_VERSION="1.1.61"
|
|
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
|
|
15
|
+
readonly INSTALL_CMD="npm install -g siluzan-tso-cli"
|
|
16
|
+
readonly WEB_BASE="https://www.siluzan.com"
|
|
17
17
|
|
|
18
18
|
# -- Constants ----------------------------------------------------------------
|
|
19
19
|
readonly NODE_MAJOR_MIN=18
|