siluzan-tso-cli 1.1.42-beta.1 → 1.1.42-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 +1 -1
- package/dist/skill/_meta.json +2 -2
- package/dist/skill/references/accounts/accounts-balance-stats.md +3 -2
- package/dist/skill/references/accounts/accounts-list.md +1 -1
- package/dist/skill/references/core/agent-conventions.md +2 -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.42-beta.
|
|
54
|
+
> **注意**:当前为测试版(1.1.42-beta.2),供内部测试使用。正式发布后安装命令将改为 `npm install -g siluzan-tso-cli`。
|
|
55
55
|
|
|
56
56
|
| 助手 | 建议 `--ai` |
|
|
57
57
|
| ----------------------- | ------------------------------------ |
|
package/dist/skill/_meta.json
CHANGED
|
@@ -177,8 +177,9 @@ siluzan-tso stats -m <媒体类型> [选项]
|
|
|
177
177
|
|
|
178
178
|
1. 用户若已给出账户号(如 Yandex `porg-kqquuxx6`),`-a` **必须原样用该 mediaCustomerId**;先 `list-accounts -m <媒体> -k <mediaCustomerId>` 核验存在即可。
|
|
179
179
|
2. **禁止**把 `ma.entityId`、`externalMediaAccountTokenId` 或会话里其它 UUID 传给 `-a`(会空结果,verbose 常打出被吞的 `HTTP 403`,**不等于** OAuth 过期)。
|
|
180
|
-
3.
|
|
181
|
-
4. `list-accounts` 显示 `
|
|
180
|
+
3. Google:若 `list-accounts` 显示套餐**未激活**(`scopeActivatedSources` 为空),`balance` 等可能无数据——向用户说明需先激活套餐;**禁止**用非 CLI / 自拼请求等方式绕过。
|
|
181
|
+
4. 仅当 `list-accounts` 显示 `invalidOAuthToken=true`(或授权状态列为失效),且用户确认后,才走 `account reauth --id <entityId> --i-confirm --commit "…"`(见 `accounts-permissions.md`)。
|
|
182
|
+
5. `list-accounts` 显示 `Linked` + `hasToken:1` + `invalidOAuthToken=false` 且套餐已激活时,**禁止**因 stats/balance 空结果自行 `reauth`/解绑。
|
|
182
183
|
|
|
183
184
|
**示例:**
|
|
184
185
|
|
|
@@ -81,7 +81,7 @@ siluzan-tso list-accounts -m Google --page 2 --page-size 999 --json-out ./snap-p
|
|
|
81
81
|
| `ma.mediaCustomerName` | 账户名称(表格「账户名称」) |
|
|
82
82
|
| `ma.mediaAccountState` 等 | 平台开户/审核态(如 Approved / Linked);**不是** OAuth 是否可用 |
|
|
83
83
|
| **`ma.invalidOAuthToken`** | **OAuth 是否失效**:`true`=失效,`false`=正常。**表格必有「授权状态」列**(✅ 正常 / ⚠️ 失效),与此字段一一对应;判失效、筛 `-s invalid`、走 `reauth` 均看它 |
|
|
84
|
-
| **`ma.scopeActivatedSources`** | **套餐是否已购买/激活**:非空且存在未过期条目(看 `expireAt`)= 已激活;空数组或全部过期 = 未激活。**Google 表格有「套餐激活」列**(✅ 已激活 /
|
|
84
|
+
| **`ma.scopeActivatedSources`** | **套餐是否已购买/激活**:非空且存在未过期条目(看 `expireAt`)= 已激活;空数组或全部过期 = 未激活。**Google 表格有「套餐激活」列**(✅ 已激活 / 未激活)。未激活时部分读接口(如 `balance`)可能无数据,引导用户先激活套餐;**勿**尝试非 CLI 途径取数 |
|
|
85
85
|
| `ma.TTADInfo.status` 等 | 媒体侧投放/审核细态(TikTok 表格「审核状态」等);**勿**当成 OAuth 授权状态 |
|
|
86
86
|
|
|
87
87
|
> **Agent**:用户问「哪些授权失效 / OAuth 状态」时,读盘看 `items[].ma.invalidOAuthToken`,表格看「授权状态」列;**不要**用 `mediaAccountState` 或审核状态列代替。
|
|
@@ -127,6 +127,7 @@
|
|
|
127
127
|
- **账户状态 ≠ 系列状态**:`stats` / `balance` / `list-accounts` 的 `status` 只表示账户是否可用;系列状态必须来自 `ad campaigns`。
|
|
128
128
|
- **数据时效性**:涉及「今天/当天/今日消耗」「实时消耗排行」前,必读 `references/analytics/account-analytics.md` 顶部「数据时效性」表。TikTok / Yandex / BingV2 / Kwai 是 `accountsoverview` 同步昨天数据,**不能查今天**。
|
|
129
129
|
- **先查账户再操作**(拉数 / 改账户 / 报告 / **创建广告**):`list-accounts -m [mediaType] -k [mediaCustomerId]`;用户给出的 `mediaCustomerId` 必须 `-k` 核验,无结果则告知用户并停止,**禁止**翻页 grep 自行换 ID(会导致报告错户);拉数、脚本、报告文件名全链路用同一 ID(以 stdout `accountId` 为准)。**Google 额外建议**:`list-accounts` 命中后,若 `scopeActivatedSources` 显示套餐**已激活**,拉数前可用 `account check-access -a <mediaCustomerId>` 检查授权是否仍可用(`reauth_required` / `no_permission`);**未激活套餐时勿用 check-access 判断授权过期**。`no_permission`(403)也可能表示账户不在当前丝路赞账号下。详见 `accounts-permissions.md`。
|
|
130
|
+
- **一律走 CLI,禁止自拼网关请求**:查余额 / 拉数 / 写操作只用 `siluzan-tso …`。**禁止**用 curl、自写脚本或改请求头直连 TSO/Google 网关「另辟蹊径」取数;`balance` 等无数据时按 CLI/`list-accounts` 字段向用户说明(如套餐未激活、授权失效),**禁止**尝试任何绕过平台门禁的取数方式。
|
|
130
131
|
- **W3 仅出方案例外(覆盖上条)**:用户只要「投放方案 / 规划 / 表格 / 先别创建·开户·投钱」,或未给账户且未要求创建/发布时——**禁止**把「请先提供 Google 广告账户」当作第一步;按 `google-ads-campaign-plan.md` §「仅出方案 vs 创建」交付 JSON+Markdown(`account`=`[PENDING_ACCOUNT]`),跳过 `list-accounts` / `geo resolve` / `campaign-validate` / `campaign-create`。用户确认要创建后再要账户并续跑创建流水线。
|
|
131
132
|
- **不猜测账户 ID**:`entityId`(UUID,仅 delink/share/reauth/账单)≠ `mediaCustomerId`(`stats`/`balance`/`accounts-digest`/`ad` 的 `-a`)。两者均来自 `list-accounts` 的 `ma.*`。用户已给出媒体账户号时(Google 数字 CID、**Yandex `porg-…`**、Meta `act_…` 等)→ `-a` **原样使用**,再用 `-k` 核验;**禁止**改成 `entityId` / tokenId / 会话里其它 UUID。**禁止**把 `entityId` 传给 `stats -a` / `balance -a` / `accounts-digest -a`。
|
|
132
133
|
- **媒体类型区分大小写**:`Google`、`TikTok`、`Yandex`、`MetaAd`、`BingV2`、`Kwai`。
|
|
@@ -257,7 +258,7 @@
|
|
|
257
258
|
|
|
258
259
|
- **400**:参数错误,查看对应 reference 或 `-h`
|
|
259
260
|
- **401 / OAuth 失效**:仅当 `list-accounts` 的 `invalidOAuthToken=true`(或表格「授权状态」为失效)且用户确认后——Siluzan Agent **优先**用平台重新授权工具(如 `present_reauth`);备选 `account reauth -m <媒体> --id <entityId> --i-confirm --commit "…"`(内置 delink→OAuth,见 W9 / `accounts-permissions.md`)。走 CLI 时**必须把完整授权 URL 贴给用户**,禁止只说「链接已生成」。解绑后若列表已无该户,恢复用平台授权工具或 `account auth -m <媒体>`。**丝路赞登录凭据失效** → `send-login-code` + `login --phone --code`,见 `references/core/setup.md`
|
|
260
|
-
- **403(拉数空结果)**:`stats`/`balance`/`accounts-digest` 在 `--verbose`
|
|
261
|
+
- **403(拉数空结果)**:`stats`/`balance`/`accounts-digest` 在 `--verbose` 下打出异常被吞的 `HTTP 403` 且无数据时:① **优先核验 `-a` 是否为 `ma.mediaCustomerId`**(勿传 `entityId`/UUID;Yandex 形如 `porg-…`);② Google 再看套餐是否激活(`scopeActivatedSources`),未激活则说明需先激活,**禁止**非 CLI 绕过取数;③ **禁止**在 `invalidOAuthToken=false` 时把 403 当成 OAuth 过期并自行 `reauth`。
|
|
261
262
|
- **500**:服务可能正在部署/升级,建议反馈 Siluzan 相关人员
|
|
262
263
|
|
|
263
264
|
---
|
|
@@ -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.42-beta.
|
|
12
|
+
$PKG_VERSION = '1.1.42-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.42-beta.
|
|
12
|
+
readonly PKG_VERSION="1.1.42-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"
|