@bluevs/ttcli 0.0.10 → 0.0.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bluevs/ttcli",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "description": "TikTok CLI - designed for AI Agent and developers",
5
5
  "bin": {
6
6
  "ttcli": "scripts/run.js"
@@ -9,12 +9,12 @@
9
9
  "postinstall": "bash $(npm root -g)/@bluevs/ttcli/skills/ttcli/scripts/install-skill.sh 2>&1 || echo '⚠️ skill auto-sync skipped (likely permission/container env). Run manually: bash $(npm root -g)/@bluevs/ttcli/skills/ttcli/scripts/install-skill.sh'"
10
10
  },
11
11
  "optionalDependencies": {
12
- "@bluevs/ttcli-darwin-arm64": "0.0.10",
13
- "@bluevs/ttcli-darwin-x64": "0.0.10",
14
- "@bluevs/ttcli-linux-arm64": "0.0.10",
15
- "@bluevs/ttcli-linux-x64": "0.0.10",
16
- "@bluevs/ttcli-win32-arm64": "0.0.10",
17
- "@bluevs/ttcli-win32-x64": "0.0.10"
12
+ "@bluevs/ttcli-darwin-arm64": "0.0.11",
13
+ "@bluevs/ttcli-darwin-x64": "0.0.11",
14
+ "@bluevs/ttcli-linux-arm64": "0.0.11",
15
+ "@bluevs/ttcli-linux-x64": "0.0.11",
16
+ "@bluevs/ttcli-win32-arm64": "0.0.11",
17
+ "@bluevs/ttcli-win32-x64": "0.0.11"
18
18
  },
19
19
  "engines": {
20
20
  "node": ">=16"
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: ttcli
3
- version: 0.0.10
3
+ version: 0.0.11
4
4
  description: TikTok Marketing API 的 CLI 客户端(700+ endpoint 覆盖)。token 由 vhcli 发证(vhcli project account-token),ttcli 自己不持有 token、也禁止找用户手填——看到 ttcli 报 TTCLI_TOKEN_MISSING 就走 vhcli bridge。当用户要做任何 TikTok 业务操作(创/查广告系列、广告组、广告,查余额/花费/流水,管商品目录/受众/像素/转化等)都用这个 skill。
5
5
  ---
6
6
 
7
7
  # TikTok CLI (`ttcli`)
8
8
 
9
- > **Skill version**: `0.0.10`
9
+ > **Skill version**: `0.0.11`
10
10
  >
11
11
  > 当用户问"ttcli skill 版本是多少 / skill 装好了吗 / 升级生效了没" 时,**直接念出上面的版本号**。
12
12
  > 用户期望更高版本但没看到 → 让他们:(1) 重跑 `npm install -g @bluevs/ttcli && bash $(npm root -g)/@bluevs/ttcli/skills/ttcli/scripts/install-skill.sh` (2) 然后**新开一个会话**(skill 在会话启动时加载,老会话不刷新)。
@@ -99,97 +99,99 @@ token 拿到之后也不要回报"我已经从 vhcli 取了 token"——直接
99
99
 
100
100
  ## 🚨 硬性约定:用户问"能干啥"时禁止开发术语,但表格/分组没问题
101
101
 
102
- **这是被反复违反的规则,所以放到很前面。**
102
+ **这条规则被反复违反——所以放到很前面,并且给死模板。**
103
103
 
104
- `ttcli schema` 拿到的是给你(AI Agent)看的**内部能力索引**——内容(`campaign` / `子命令` / `714 行 / 节点`这些词)是 dev 视角,**不能原样回给用户**。
104
+ ### 默认动作:**直接照抄下面这个模板**,只能改"反问"那行
105
105
 
106
- 但**形式上**用表格、分模块、列举多个能力都没问题——这些反而帮用户结构化看到全貌。问题只在**词汇**:把 CLI 字面量替换成中文业务词、把 jargon 替换成白话、不要暴露内部实现概念。
106
+ 用户问任何形式的"ttcli 能干啥 / 你能干嘛 / 你支持哪些操作 / 都有什么能力" → 你的回答**就是**这个表,一字不差地用,**不要自由发挥**:
107
107
 
108
- ### 用户问的常见问题
109
-
110
- - "ttcli 都有什么能力?"
111
- - "你能干嘛?"
112
- - "你有哪些财务能力?"
113
- - "ttcli 支持哪些操作?"
114
-
115
- ### 词汇黑名单——这些词**永远不要**出现在用户对话
116
-
117
- **内部实现概念**(一律不出现):
118
- - `子命令` / `namespace` / `命令树` / `X 节点` / `X 行 / 共 X 个命令`
119
- - `endpoint` / `flag` / `--token` / `ttcli` 这种 CLI 字面量
120
- - `Marketing token vs 非 Marketing token` / `Marketing API vs Account API` 这种内部分层
121
-
122
- **CLI 命令字面量**(要翻译成中文业务词,不直接念名字):
123
-
124
- | ❌ 不能直接说 | ✅ 翻成 |
125
- |---|---|
126
- | `campaign` | 广告系列 |
127
- | `adgroup` | 广告组 |
128
- | `ad` | 广告 |
129
- | `smart-plus` | Smart+ 智能投放 |
130
- | `bc` / `BC` / `Business Center` | 商务中心 |
131
- | `advertiser` | 广告主账户 |
132
- | `identity` | 投放身份(用于发广告的 TikTok 账号) |
133
- | `creative` | 创意素材 |
134
- | `dmp` / `DMP` | 人群包 |
135
- | `pixel` | 像素(网页转化追踪) |
136
- | `webhook` | 事件订阅 |
137
- | `tt-video` / `Spark Ads` | 授权视频 / 帮播视频(Spark Ads 用户听不懂) |
138
- | `gmv-max` / `GMV Max` | 商品销量最大化广告 |
139
- | `R&F` / `Reach & Frequency` | 预订式触达广告 |
140
- | `ACO` / `Smart Creative` | 智能创意(自动组合素材) |
141
- | `Catalog` | 商品目录 |
142
- | `MMM` | 营销组合归因 |
143
-
144
- 不在表里的词遇到了就翻成白话,不要原样吐。
145
-
146
- ### 正面例子(这次想要的样子)
147
-
148
- ✅ 用户问 "ttcli 都有什么能力?"——表格分组都行,**只是要换词**:
149
-
150
- > "可以帮你做这些(按场景分):
108
+ > 可以帮你做这些(按场景分):
151
109
  >
152
110
  > | 场景 | 能干啥 |
153
111
  > |---|---|
154
- > | **广告创编** | 建/调/查广告系列、广告组、广告;Smart+ 智能投放全流程 |
155
- > | **素材与创意** | 上传管理视频图片音乐,用智能工具优化创意(自动剪辑/智能文案/试玩广告) |
156
- > | **账户与财务** | 查余额和实际花费、看流水、商务中心和广告账户之间调钱、管发票/账单 |
157
- > | **受众与定向** | 管人群包、配兴趣/行为/话题定向、查地区语言设备等基础数据 |
112
+ > | **广告创编** | 建/调/查广告系列、广告组、广告;Smart+ 智能投放全流程、搜索广告、A/B 测试、商品销量最大化广告 |
113
+ > | **素材与创意** | 上传管理视频图片音乐、智能工具优化创意(自动剪辑、智能文案、试玩广告、Spark 授权视频) |
114
+ > | **账户与财务** | 查余额和实际花费、看流水、商务中心和广告账户之间调钱、管发票、账单分组 |
115
+ > | **受众与定向** | 管人群包、配兴趣/行为/话题/地域定向、查地区语言设备等基础数据 |
158
116
  > | **数据与报表** | 拉异步报表、看创意疲劳度、做投放诊断 |
159
- > | **应用与电商** | 管 App 推广、Minis 小程序、商品目录、店铺、商品销量最大化广告 |
117
+ > | **应用与电商** | 管 App 推广、Minis 小程序、商品目录、店铺、Pangle 流量定向 |
160
118
  > | **TikTok 账号运营** | 管账号 profile、评论、私信、品牌提及、话题,授权视频做广告 |
161
- > | **其他** | 屏蔽词、自动化规则、A/B 测试、自定义转化、事件订阅 |
119
+ > | **追踪与转化** | 配像素/事件/自定义转化、订阅事件回调 |
120
+ > | **其他** | 屏蔽词、自动化规则、营销组合归因 |
162
121
  >
163
- > **你想从哪开始**?"
122
+ > **<反问句>** ← 这里换成贴合上下文的反问,例如:"你想从哪开始?" / "你具体想看哪类?" / "你最近的目标是什么?"
164
123
 
165
- 注意:用了表格 ✓ / 用了"模块"概念分组 / 但把 `campaign` 写成"广告系列"、把 `BC` 写成"商务中心"、把 `R&F` 写成"预订式触达广告"
124
+ 如果用户问的是某一**子领域**("你的财务能力" / "素材这块" / "广告创编"),只用上面表的对应那一行 + 反问。**不要**重新生成、不要扩展、不要"补充更多细节"——那一行已经够。
166
125
 
167
- ### 反面例子(这次踩的真坑——形式没错,词错了)
126
+ ### ❌ 反面教材(**就是这个失败模式反复在犯**)
168
127
 
169
-
170
-
171
- > "ttcli v0.0.9 完整命令树有 714 行,按模块分类给你一个全景表:
128
+ > "ttcli v0.0.10,714 个命令节点,62 个顶层模块:
172
129
  >
173
- > **广告创编**
174
- > 模块 / 子命令 / 能力
175
- > campaign / get / 查询广告系列
176
- > adgroup / get, appeal, quota, ... / 广告组查询/申诉/配额
177
- > ad / get, review-info, aco ... / 广告查询/审核/ACO智能创意
178
- > ..."
130
+ > | # | 命令 | 说明 |
131
+ > |---|---|---|
132
+ > | 1 | ad | 广告(查询/审核/ACO智能创意 create/get/update) |
133
+ > | 2 | adgroup | 广告组(查询/申诉/配额/审核/R&F) |
134
+ > | 3 | advertiser | 广告主(余额/交易流水/预算变更/详情/更新) |
135
+ > | ... |"
136
+
137
+ 错的点(每一个都是死规则):
138
+
139
+ 1. **"ttcli v0.0.10"、"714 个命令节点"、"62 个顶层模块"** ← 内部实现规模,禁止提
140
+ 2. **"# / 命令 / 说明"列结构** ← 这是 CLI 命令字典的形态,禁止用
141
+ 3. **"ad / adgroup / advertiser / app ..."当列值** ← CLI 字面量直接当 key 摆出来
142
+ 4. **"ACO智能创意"、"R&F"** ← 中英混搭,等于变相暴露 jargon
143
+ 5. **逐个模块罗列** ← 不是按用户场景组织,是按内部命令树组织
144
+
145
+ ### 自检步骤(生成回答之后,发出之前必须过一遍)
179
146
 
180
- 错在哪:(1) "完整命令树有 714 行" 是内部实现,(2) "子命令" 这列是 CLI 概念,(3) `campaign / adgroup / ad` 是字面量没翻译,(4) `ACO智能创意` 既出现了 ACO 又出现了翻译——前者多余。
147
+ 1. 我有没有提"ttcli vX.Y.Z" / "X 个命令" / "X 个模块" / "X 个节点"?→ 有就删
148
+ 2. 我的表格里有没有任何形如 `ad` / `bc` / `dmp` / `pixel` / `webhook` / `ACO` / `R&F` / `GMV Max` / `Spark Ads` 的英文 token?→ 有就用上面的"翻译参考"换成中文
149
+ 3. 我的列名是不是"# / 命令 / 模块 / 子命令 / Module"这种内部分类词?→ 是就改成"场景 / 能干啥 / 你想做什么"
150
+ 4. 结尾有没有问号反问?→ 没有就加
181
151
 
182
- ### 硬规则
152
+ 任何一条 fail,整段重写——**不要**贴出去。
183
153
 
184
- - 形式自由:表格、列表、分组都可以
185
- - **结尾必须反问**:"你想从哪开始?" / "你具体想做哪一类?"——把球还给用户
186
- - **词必须中文化**:CLI 字面量、英文 jargon、内部分层词全替换
187
- - **不许提"完整命令树"、"X 行"、"X 节点"、"子命令"** 这种实现内幕
154
+ ### 翻译参考(CLI 字面量 → 中文)
155
+
156
+ 不在表里的 namespace 用"白话动词 + 名词"翻译,**不要原样吐英文**。
157
+
158
+ | ❌ CLI 字面量 | ✅ 中文 |
159
+ |---|---|
160
+ | `ad` / `adgroup` / `campaign` | 广告 / 广告组 / 广告系列 |
161
+ | `smart-plus` | Smart+ 智能投放 |
162
+ | `bc` / `BC` / `Business Center` | 商务中心 |
163
+ | `advertiser` | 广告主账户 |
164
+ | `identity` | 投放身份 |
165
+ | `creative` / `creative-fatigue` | 创意素材 / 创意疲劳度 |
166
+ | `dmp` / `DMP` / `segment` / `audience` | 人群包 / 受众洞察 |
167
+ | `pixel` / `event` / `custom-conversion` / `offline` | 像素 / 事件 / 自定义转化 / 离线转化 |
168
+ | `webhook` / `subscription` | 事件订阅 |
169
+ | `tt-video` / `tt-user` / `Spark Ads` | TikTok 视频 / TikTok 用户 / 授权视频 |
170
+ | `gmv-max` / `GMV Max` | 商品销量最大化广告 |
171
+ | `R&F` / `Reach & Frequency` | 预订式触达广告 |
172
+ | `ACO` / `Smart Creative` | 智能创意 |
173
+ | `catalog` / `store` | 商品目录 / 店铺 |
174
+ | `mmm` / `MMM` | 营销组合归因 |
175
+ | `app` / `minis` | App 推广 / Minis 小程序 |
176
+ | `optimizer` | 自动化规则 |
177
+ | `comment` / `lead` / `page` / `business` | 评论 / 线索 / 落地页 / 账号运营 |
178
+ | `report` / `diagnostic` / `delivery` | 报表 / 诊断 / 投放数据 |
179
+ | `playable` | 试玩广告 |
180
+ | `split-test` | A/B 测试 |
181
+ | `blockedword` / `term` | 屏蔽词 / 协议术语 |
182
+ | `pangle-audience-package` / `pangle-block-list` | Pangle 受众包 / Pangle 屏蔽列表 |
183
+ | `tiktok-inventory-filters` | 库存过滤 |
184
+ | `auth` | (凭证管理——这是内部细节,**对用户对话不提**) |
185
+ | `schema` | (命令树自省——内部用,**对用户对话不提**) |
188
186
 
189
187
  ### 唯一例外
190
188
 
191
189
  用户**明确**说"我是开发者,给我列出所有 CLI 命令" / "把命令树给我" / "我要看 schema"——这时才允许列 `ttcli` 字面量。先回一句"以下是开发者视角"再列。
192
190
 
191
+ ### 小总结
192
+
193
+ 普通对话里关于"能干啥"的问题 = **抄默认模板那个表 + 改反问**。任何"我自己组织一份"的冲动都是失败的开端,每次都会滑回列模块。
194
+
193
195
  ## 🔍 如何发现 ttcli 能力(给你 AI Agent,不是给用户)
194
196
 
195
197
  > ⚠️ 区分两件事:(1) **schema 原始输出**(JSON / dev 术语 / `path: ttcli campaign get` / `flags: [--token]` 这些字面量)= 内部决策用,**不直接贴给用户**。(2) **你从 schema 提炼后的能力概念**(中文化、按用户场景重组)= 给用户当然可以,按上一节"形式 OK 词要翻"的规则操作。**别把(1)的字节直接念给用户**就行——这跟上一节允许给用户列能力清单不冲突。