sino-bc-cli 1.8.1 → 1.8.3
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 +149 -67
- package/dist/SKILL.md +11 -106
- package/dist/affordance/biz-line.md +57 -0
- package/dist/api-doc/README.md +24 -20
- package/dist/api-doc/biz-line-query.md +11 -9
- package/dist/api-doc/biz-line-strategy.md +9 -5
- package/dist/generated/api-catalog.json +287 -0
- package/dist/index.js +1 -1
- package/dist/skills/sino-bc-biz-line/SKILL.md +63 -0
- package/dist/skills/sino-bc-biz-line/references/enums.md +7 -0
- package/dist/skills/sino-bc-biz-line/references/long-tail-api.md +18 -0
- package/dist/skills/sino-bc-shared/SKILL.md +37 -0
- package/dist/skills/sino-bc-shared/references/config-and-env.md +12 -0
- package/dist/skills/sino-bc-shared/references/output-contract.md +20 -0
- package/dist/skills/sino-bc-shared/references/write-approval.md +18 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -84,9 +84,9 @@ npm ls -g --depth=0 sino-bc-cli # 确认全局安装的版本
|
|
|
84
84
|
sino-bc-cli /init
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
`/init` 会把 `
|
|
87
|
+
`/init` 会把 `skills/sino-bc-shared` 与 `skills/sino-bc-biz-line`(含 `references/`)写入用户主目录的 Agent 技能目录(`~/.agents/skills/sino-bc-shared` 等),并删除旧的 `sino-bc-cli/` 技能目录。根 `SKILL.md` 只做入口,不作为唯一安装源。Cursor / Claude / Codex / 飞书豆包工作 才能识别到本技能。飞书豆包工作侧还需:技能·连接器 → 管理 → **本地** → 刷新。查看包内技能:`sino-bc-cli /skill`。
|
|
88
88
|
|
|
89
|
-
>
|
|
89
|
+
> 每次升级版本后请重新执行一次 `sino-bc-cli /init`,以刷新本地技能文件。
|
|
90
90
|
|
|
91
91
|
### ⑥ 免安装临时执行
|
|
92
92
|
|
|
@@ -136,18 +136,28 @@ sino-bc-cli/
|
|
|
136
136
|
│ ├── core/ # 🧠 核心模块层
|
|
137
137
|
│ │ ├── index.ts # 核心模块统一导出
|
|
138
138
|
│ │ ├── cli-app.ts # CLI 应用主类(参数解析、帮助展示、命令分发)
|
|
139
|
+
│ │ ├── route.ts # argv 路由(斜杠命令 / 域 + Shortcut)
|
|
139
140
|
│ │ └── command-registry.ts # 命令注册器(注册、查找、执行、注销命令)
|
|
140
141
|
│ │
|
|
141
142
|
│ ├── commands/ # 📦 命令实现层(每命令一个文件,可独立扩展)
|
|
142
143
|
│ │ ├── index.ts # 命令批量注册入口
|
|
143
|
-
│ │ ├── init.command.ts # /init 命令实现(注册 Agent 技能 +
|
|
144
|
-
│ │ ├── api
|
|
145
|
-
│ │ ├──
|
|
146
|
-
│ │ ├── bc-api.command.ts # /bc-api 命令实现(调用业务线查询 / 业务线策略接口)
|
|
147
|
-
│ │ ├── get-config.command.ts # /get-config 命令实现(查看变量配置与 MCP 配置)
|
|
144
|
+
│ │ ├── init.command.ts # /init 命令实现(注册 Agent 技能 + 初始化变量配置)
|
|
145
|
+
│ │ ├── bc-api.command.ts # /bc-api 已下线,仅打印迁移提示并非 0 退出
|
|
146
|
+
│ │ ├── get-config.command.ts # /get-config 命令实现(查看变量配置)
|
|
148
147
|
│ │ ├── set-config.command.ts # /set-config 命令实现(修改变量配置)
|
|
149
|
-
│ │ ├──
|
|
150
|
-
│ │ └── uninstall.command.ts # /uninstall
|
|
148
|
+
│ │ ├── skill.command.ts # /skill 命令实现(列出包内技能或打开 SKILL.md)
|
|
149
|
+
│ │ └── uninstall.command.ts # /uninstall 命令实现(清理技能目录与配置并卸载)
|
|
150
|
+
│ │
|
|
151
|
+
│ ├── shortcuts/ # ⚡ Shortcut 执行面(业务命令,域 + `+cmd`)
|
|
152
|
+
│ │ ├── index.ts # 注册表与执行器(flag 解析、输出格式、写确认门)
|
|
153
|
+
│ │ ├── flags.ts # Shortcut 面参数解析(含公共 flag)
|
|
154
|
+
│ │ ├── types.ts # Shortcut 声明与执行上下文类型
|
|
155
|
+
│ │ └── biz-line/ # biz-line 域
|
|
156
|
+
│ │ ├── index.ts # 该域全部 Shortcut 登记处
|
|
157
|
+
│ │ ├── read.ts # 只读 Shortcut(+channels/+categories/+list/+strategies)
|
|
158
|
+
│ │ ├── write.ts # 写 Shortcut(+save/+update/+status/+delete/+strategy-*)
|
|
159
|
+
│ │ ├── raw-api.ts # biz-line api <name> 点名调用
|
|
160
|
+
│ │ └── helpers.ts # 按名解析业务线、字典名称映射等编排
|
|
151
161
|
│ │
|
|
152
162
|
│ ├── utils/ # 🛠 工具类层(高内聚的可复用工具)
|
|
153
163
|
│ │ ├── index.ts # 工具模块统一导出
|
|
@@ -155,22 +165,29 @@ sino-bc-cli/
|
|
|
155
165
|
│ │ ├── browser.ts # 浏览器工具(跨平台 URL 打开,兼容 Win/macOS/Linux)
|
|
156
166
|
│ │ ├── crypto.ts # 加密工具(MD5、SHA-256、AES、Base64、签名生成)
|
|
157
167
|
│ │ ├── http.ts # HTTP 工具(axios 封装:请求/响应拦截、自动重试)
|
|
168
|
+
│ │ ├── gateway-client.ts # 网关调用唯一出口(拼地址、注入鉴权与来源头、解包 result)
|
|
169
|
+
│ │ ├── presenter.ts # 输出与退出码(table / JSON 信封,stdout / stderr 分流)
|
|
170
|
+
│ │ ├── cli-error.ts # 带分类的 CLI 错误(validation / config / api / 待确认)
|
|
158
171
|
│ │ ├── common.ts # 通用工具(日期、深拷贝、防抖节流、ID 生成等)
|
|
159
172
|
│ │ ├── prompt.ts # 终端交互(复用单一 readline 会话:提问、选择、确认)
|
|
160
173
|
│ │ ├── config-store.ts # 变量配置读写(字段元信息 + 读 / 写 / 删)
|
|
161
174
|
│ │ ├── config-prompt.ts # 变量配置交互采集(/init 与 /set-config 共用)
|
|
162
|
-
│ │ ├── mcp-store.ts # ~/.sino-bc-cli/mcp.json 读写
|
|
163
|
-
│ │ ├── mcp-service.ts # MCP 同步到 Cursor / Codex / Claude / VS Code 并握手
|
|
164
175
|
│ │ └── skill-install.ts # Agent 技能目录的写入与清理
|
|
165
176
|
│ │
|
|
166
177
|
│ ├── types/ # 📝 类型定义层
|
|
167
178
|
│ │ └── index.ts # 全局接口、枚举定义(ICommand、LogLevel 等)
|
|
168
179
|
│ │
|
|
169
180
|
│ └── constants/ # 🔧 常量配置层
|
|
170
|
-
│ └── index.ts # CLI
|
|
181
|
+
│ └── index.ts # CLI 配置、命令名称、Shortcut 域、默认值
|
|
182
|
+
│
|
|
183
|
+
├── skills/ # Agent 技能树(shared + biz-line,含 references)
|
|
184
|
+
├── affordance/ # 各 Shortcut 的 WHEN / 别用 / 示例
|
|
185
|
+
├── tests/ # ✅ 单元测试(node --test + ts-node)
|
|
186
|
+
│ ├── helpers/ # HTTP 执行器桩、输出流桩
|
|
187
|
+
│ └── *.test.ts # 路由、flag、网关、输出契约、各类 Shortcut
|
|
171
188
|
│
|
|
172
189
|
├── dist/ # 📤 构建输出目录(构建后自动生成)
|
|
173
|
-
│ └── ... # 单文件混淆压缩产物 + SKILL.md + api-doc(不含 SourceMap)
|
|
190
|
+
│ └── ... # 单文件混淆压缩产物 + SKILL.md + skills/ + affordance/ + api-doc(不含 SourceMap)
|
|
174
191
|
│
|
|
175
192
|
├── package.json # 📄 项目配置(依赖、脚本、bin 命令)
|
|
176
193
|
├── tsconfig.json # 📄 TypeScript 编译配置
|
|
@@ -246,10 +263,24 @@ npm run dev -- [参数]
|
|
|
246
263
|
# 示例:查看帮助
|
|
247
264
|
npm run dev -- --help
|
|
248
265
|
|
|
249
|
-
#
|
|
250
|
-
npm run dev --
|
|
266
|
+
# 示例:执行业务命令
|
|
267
|
+
npm run dev -- biz-line +list --name <业务线名称>
|
|
251
268
|
```
|
|
252
269
|
|
|
270
|
+
### 4.1 运行测试
|
|
271
|
+
|
|
272
|
+
单元测试用 Node 内置 runner(`node --test`)配 `ts-node`,不额外引入测试框架:
|
|
273
|
+
|
|
274
|
+
```bash
|
|
275
|
+
# 跑全部用例
|
|
276
|
+
npm test
|
|
277
|
+
|
|
278
|
+
# 类型检查(tsc --noEmit)
|
|
279
|
+
npm run typecheck
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
用例放在 `tests/`,通过注入 HTTP 执行器桩断言请求,不产生真实网络调用。
|
|
283
|
+
|
|
253
284
|
### 5. 全局安装(推荐)
|
|
254
285
|
|
|
255
286
|
将 CLI 工具链接为全局命令,可在任意目录下直接使用 `sino-bc-cli`:
|
|
@@ -269,11 +300,11 @@ npm i sino-bc-cli -g
|
|
|
269
300
|
```bash
|
|
270
301
|
sino-bc-cli --help
|
|
271
302
|
sino-bc-cli /init
|
|
272
|
-
sino-bc-cli
|
|
273
|
-
sino-bc-cli
|
|
303
|
+
sino-bc-cli biz-line --help
|
|
304
|
+
sino-bc-cli biz-line +list --name <业务线名称>
|
|
274
305
|
```
|
|
275
306
|
|
|
276
|
-
`npm i sino-bc-cli -g` 完成后会自动执行 `/init`,把 `
|
|
307
|
+
`npm i sino-bc-cli -g` 完成后会自动执行 `/init`,把 `sino-bc-shared` 与 `sino-bc-biz-line` 写到用户主目录的 Agent 技能目录(`~/.agents/skills/sino-bc-shared` 等),并清掉旧的 `sino-bc-cli/`。飞书豆包工作:技能·连接器 → 管理 → **本地** → 刷新。若未出现,手动执行:
|
|
277
308
|
|
|
278
309
|
```bash
|
|
279
310
|
sino-bc-cli /init
|
|
@@ -285,28 +316,66 @@ sino-bc-cli /init
|
|
|
285
316
|
|
|
286
317
|
## 📖 命令说明
|
|
287
318
|
|
|
288
|
-
|
|
319
|
+
命令分两类:**生命周期命令**用 `/` 前缀,负责安装与配置;**业务命令**是 Shortcut 执行面,形如 `<域> +<命令>`。
|
|
320
|
+
|
|
321
|
+
### 生命周期命令
|
|
289
322
|
|
|
290
323
|
| 命令 | 说明 |
|
|
291
324
|
| :---------- | :-------------------------------------------------------------------------------------------- |
|
|
292
|
-
| `/init` | 注册 `
|
|
293
|
-
| `/
|
|
294
|
-
| `/
|
|
295
|
-
| `/get-config` | 查看变量配置与 `mcp.json`;密钥默认打码,`--show-secret` 显示明文,`--json` 输出 JSON |
|
|
325
|
+
| `/init` | 注册 `sino-bc-shared` / `sino-bc-biz-line` 到 Agent 技能目录(并删除旧 `sino-bc-cli/`),交互设置环境 / `API_KEY` |
|
|
326
|
+
| `/skill` | 列出包内 Agent 技能;传入 name 打开对应 `SKILL.md` |
|
|
327
|
+
| `/get-config` | 查看变量配置;密钥默认打码,`--show-secret` 显示明文,`--json` 输出 JSON |
|
|
296
328
|
| `/set-config` | 修改变量配置(环境 / API_KEY);不带参数时逐项交互修改 |
|
|
297
|
-
| `/
|
|
298
|
-
| `/
|
|
329
|
+
| `/uninstall` | 删除技能目录与变量配置文件,并从全局 npm 卸载本 CLI |
|
|
330
|
+
| `/bc-api` | **已下线**。只打印迁移提示并非 0 退出,改用 `biz-line +<shortcut>` 或 `biz-line api <name>` |
|
|
331
|
+
|
|
332
|
+
### 业务命令(`biz-line`)
|
|
333
|
+
|
|
334
|
+
| 命令 | 说明 |
|
|
335
|
+
| :--- | :--- |
|
|
336
|
+
| `biz-line +channels` | 查询投放渠道列表(`code` 即业务线里的 `mediaChannelId`) |
|
|
337
|
+
| `biz-line +categories` | 查询投放行业与品类字典树 |
|
|
338
|
+
| `biz-line +list` | 查询业务线;`--name` / `--id` / `--category`,不传即查全部(`pagination: false`) |
|
|
339
|
+
| `biz-line +strategies` | 查周策略与表现;`--name` 会先解析业务线 ID,或传单个 `--id` |
|
|
340
|
+
| `biz-line +save` / `+update` / `+status` / `+delete` | ⚠️ 业务线写操作 |
|
|
341
|
+
| `biz-line +strategy-save` / `+strategy-update` / `+strategy-delete` | ⚠️ 周策略写操作 |
|
|
342
|
+
| `biz-line api <name> --data '<json>'` | 按接口 `name` 点名调用,覆盖导出、对比、消耗等长尾接口 |
|
|
343
|
+
|
|
344
|
+
`+list --category` 同时接受数字 ID 与名称;传名称时会先查品类字典再映射,映射不到会报错并列出可选值。`+list` 不再接受 `--channel` / `--industry`。行业 / 品类 Top 没有 Shortcut。
|
|
345
|
+
|
|
346
|
+
### Shortcut 面公共参数
|
|
347
|
+
|
|
348
|
+
| 参数 | 说明 |
|
|
349
|
+
| :--- | :--- |
|
|
350
|
+
| `--format json\|table` | 输出格式。TTY 默认 `table`,非 TTY 默认 `json` |
|
|
351
|
+
| `--dry-run` | 只打印将要发起的 method / URL / 请求体,不发请求 |
|
|
352
|
+
| `--yes` | 跳过写操作确认,直接发起请求 |
|
|
353
|
+
|
|
354
|
+
### 输出契约与退出码
|
|
355
|
+
|
|
356
|
+
非 TTY(管道 / CI / Agent)默认输出 JSON 信封。成功走 stdout,失败走 stderr:
|
|
357
|
+
|
|
358
|
+
```json
|
|
359
|
+
{ "ok": true, "env": "prod", "command": "biz-line +list", "data": [], "meta": { "count": 0 } }
|
|
360
|
+
{ "ok": false, "env": "prod", "command": "biz-line +delete", "error": { "type": "confirmation_required", "message": "...", "hint": "..." } }
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
`data` 只包含上游 `result`。**判断成功请看 `ok` 或进程退出码,不要看上游 `code`。**
|
|
364
|
+
|
|
365
|
+
| 退出码 | 含义 |
|
|
366
|
+
| :----- | :--- |
|
|
367
|
+
| `0` | 成功 |
|
|
368
|
+
| `10` | 写操作待确认,**不是错误**;向用户确认后在原命令末尾追加 `--yes` 重试 |
|
|
369
|
+
| 其他非 0 | 失败,详见 `error.type`(`validation` / `config` / `api`) |
|
|
299
370
|
|
|
300
371
|
### 变量配置文件
|
|
301
372
|
|
|
302
373
|
环境、`API_KEY` 存放在 `<用户主目录>/.sino-bc-cli/config.json`。`X-GATEWAY-TYPE` 固定为 `A2C-CLI`,不开放配置。
|
|
303
374
|
|
|
304
|
-
MCP Server 存放在 `<用户主目录>/.sino-bc-cli/mcp.json`,结构与 Cursor 的 `mcp.json` 一致。用户自行增删后执行 `/mcp-reload`,CLI 会同步到 Cursor、Codex、Claude Code、VS Code。
|
|
305
|
-
|
|
306
375
|
| 字段 | 命令行键名 | 默认值 | 说明 |
|
|
307
376
|
| :--- | :--------- | :----- | :--- |
|
|
308
377
|
| `env` | `env` | `prod` | 目标环境,可选 `test` / `pre` / `prod` |
|
|
309
|
-
| `apiKey` | `api-key` | 内置默认 Key | 网关鉴权用的 API Key
|
|
378
|
+
| `apiKey` | `api-key` | 内置默认 Key | 网关鉴权用的 API Key(业务命令使用) |
|
|
310
379
|
|
|
311
380
|
```bash
|
|
312
381
|
# 查看(密钥打码)
|
|
@@ -319,27 +388,9 @@ sino-bc-cli /set-config --env=test
|
|
|
319
388
|
|
|
320
389
|
# 不带参数则逐项交互修改,直接回车保留当前值
|
|
321
390
|
sino-bc-cli /set-config
|
|
322
|
-
|
|
323
|
-
# 改 MCP:编辑文件后重启
|
|
324
|
-
# %USERPROFILE%\.sino-bc-cli\mcp.json
|
|
325
|
-
sino-bc-cli /mcp-reload
|
|
326
391
|
```
|
|
327
392
|
|
|
328
|
-
|
|
329
|
-
{
|
|
330
|
-
"mcpServers": {
|
|
331
|
-
"example": {
|
|
332
|
-
"type": "streamable-http",
|
|
333
|
-
"url": "https://your-mcp-gateway/mcp/",
|
|
334
|
-
"headers": {
|
|
335
|
-
"Authorization": "Bearer <token>"
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
```
|
|
341
|
-
|
|
342
|
-
> `/init` 结束时自动拉取并启动 `mcp.json`(文件不存在则创建空清单,已存在不覆盖)。非交互环境(npm `postinstall`、CI、Agent 调用)下不提问。MCP 失败只警告。
|
|
393
|
+
> `/init` 在非交互环境(npm `postinstall`、CI、Agent 调用)下不提问:配置文件已存在则保持不变,不存在则按默认值创建。
|
|
343
394
|
|
|
344
395
|
### 全局选项
|
|
345
396
|
|
|
@@ -351,7 +402,7 @@ sino-bc-cli /mcp-reload
|
|
|
351
402
|
|
|
352
403
|
### 环境与请求网关
|
|
353
404
|
|
|
354
|
-
|
|
405
|
+
业务命令的请求地址由 [`src/constants/gateway.ts`](./src/constants/gateway.ts) 的 `GATEWAY_CONFIG` 决定,统一走 `joinGatewayUrl(env, path)` 拼接,实际请求由 [`src/utils/gateway-client.ts`](./src/utils/gateway-client.ts) 这一个出口发出。业务线路径带 `/sino-opti-hive`。
|
|
355
406
|
|
|
356
407
|
| `ENV` | 说明 | 网关地址 |
|
|
357
408
|
| :----- | :------- | :----------------------------------- |
|
|
@@ -375,41 +426,51 @@ sino-bc-cli --help
|
|
|
375
426
|
sino-bc-cli -h
|
|
376
427
|
```
|
|
377
428
|
|
|
378
|
-
#### ②
|
|
429
|
+
#### ② 查看某域何时用哪条命令
|
|
379
430
|
|
|
380
431
|
```bash
|
|
381
|
-
sino-bc-cli
|
|
382
|
-
sino-bc-cli /api-list 3
|
|
383
|
-
sino-bc-cli /api-list biz-line-open-list
|
|
432
|
+
sino-bc-cli biz-line --help
|
|
384
433
|
```
|
|
385
434
|
|
|
386
|
-
|
|
435
|
+
接口字段口径见 [`src/api-doc/README.md`](./src/api-doc/README.md)。
|
|
387
436
|
|
|
388
|
-
#### ③
|
|
437
|
+
#### ③ 查询业务线数据
|
|
389
438
|
|
|
390
439
|
```bash
|
|
391
|
-
#
|
|
392
|
-
sino-bc-cli
|
|
440
|
+
# 按名称查业务线
|
|
441
|
+
sino-bc-cli biz-line +list --name <业务线名称>
|
|
442
|
+
|
|
443
|
+
# 按品类筛选(接受名称或 ID)
|
|
444
|
+
sino-bc-cli biz-line +list --category <品类>
|
|
445
|
+
|
|
446
|
+
# 查某条业务线的周策略与表现
|
|
447
|
+
sino-bc-cli biz-line +strategies --name <业务线名称>
|
|
448
|
+
|
|
449
|
+
# 没有 Shortcut 的长尾接口
|
|
450
|
+
sino-bc-cli biz-line api biz-line-strategy-compare \
|
|
451
|
+
--data '{"bizLineId":123,"currentId":2,"prevId":1}'
|
|
393
452
|
```
|
|
394
453
|
|
|
395
|
-
|
|
454
|
+
执行效果:向配置文件指定环境的网关发起请求,路径统一带 `/sino-opti-hive` 前缀,自动注入 `Authorization` 与 `X-GATEWAY-TYPE: A2C-CLI`。接口清单见 [`src/api-doc/README.md`](./src/api-doc/README.md)。
|
|
396
455
|
|
|
397
|
-
#### ④
|
|
456
|
+
#### ④ 执行写操作(需确认)
|
|
398
457
|
|
|
399
458
|
```bash
|
|
400
|
-
|
|
401
|
-
|
|
459
|
+
# 先预览请求,不会真正发起
|
|
460
|
+
sino-bc-cli biz-line +status --id 123 --status 3 --dry-run
|
|
402
461
|
|
|
403
|
-
|
|
462
|
+
# 确认无误后追加 --yes
|
|
463
|
+
sino-bc-cli biz-line +status --id 123 --status 3 --yes
|
|
464
|
+
```
|
|
404
465
|
|
|
405
|
-
> ⚠️
|
|
466
|
+
> ⚠️ 写操作会变更线上数据。不加 `--yes` 时:交互式终端会展示环境与关键参数并询问;非交互式环境以退出码 `10` 返回 `confirmation_required`,需人工确认后再重试。
|
|
406
467
|
|
|
407
468
|
#### ⑤ 启用 Debug 模式运行
|
|
408
469
|
|
|
409
470
|
```bash
|
|
410
|
-
sino-bc-cli --debug
|
|
471
|
+
sino-bc-cli --debug biz-line --help
|
|
411
472
|
# 或使用短选项
|
|
412
|
-
sino-bc-cli -d
|
|
473
|
+
sino-bc-cli -d biz-line --help
|
|
413
474
|
```
|
|
414
475
|
|
|
415
476
|
Debug 模式会输出详细的日志,包括参数解析、命令注册、接口调用过程等信息,便于排查问题。
|
|
@@ -438,6 +499,12 @@ Debug 模式会输出详细的日志,包括参数解析、命令注册、接
|
|
|
438
499
|
# 编译 TypeScript 为 JavaScript(输出到 dist/)
|
|
439
500
|
npm run build
|
|
440
501
|
|
|
502
|
+
# 类型检查(不产出文件)
|
|
503
|
+
npm run typecheck
|
|
504
|
+
|
|
505
|
+
# 跑单元测试
|
|
506
|
+
npm test
|
|
507
|
+
|
|
441
508
|
# 开发模式:直接运行 TypeScript 源码(ts-node)
|
|
442
509
|
npm run dev -- [参数]
|
|
443
510
|
|
|
@@ -455,7 +522,23 @@ npm run rebuild
|
|
|
455
522
|
|
|
456
523
|
## 🔧 扩展新命令(开发者指南)
|
|
457
524
|
|
|
458
|
-
|
|
525
|
+
先判断要加的是哪一类:
|
|
526
|
+
|
|
527
|
+
- **生命周期命令**(安装、配置、维护,用 `/` 前缀)→ 加到 `src/commands/`
|
|
528
|
+
- **业务命令**(调接口拿数据,形如 `biz-line +xxx`)→ 加到 `src/shortcuts/`
|
|
529
|
+
|
|
530
|
+
### A. 新增业务 Shortcut
|
|
531
|
+
|
|
532
|
+
1. **写声明**:在 `src/shortcuts/biz-line/read.ts` 或 `write.ts` 里新增一条 `IShortcutDefinition`,声明 `command`、`risk`、`flags`,并在 `resolve()` 里返回目标接口与请求体
|
|
533
|
+
2. **登记**:加入 `src/shortcuts/biz-line/index.ts` 的 `BIZ_LINE_SHORTCUTS` 数组
|
|
534
|
+
3. **补测试**:在 `tests/` 下用 HTTP 桩断言请求与输出
|
|
535
|
+
4. **同步文档**:`skills/sino-bc-biz-line` 的意图表、`affordance/biz-line.md` 的 WHEN、`src/api-doc/` 的字段口径;根 `SKILL.md` 只做入口
|
|
536
|
+
|
|
537
|
+
参数解析、输出格式、写操作确认门、错误归类都由 `src/shortcuts/index.ts` 统一承担,声明里不要自己发 HTTP。接口 `name` 一律取自 `src/generated/api-catalog.json`,不要新造。维护者同步 Apifox:`APIFOX_TOKEN` 环境变量 + `npm run sync-api-doc`(不要把 token 写入仓库)。
|
|
538
|
+
|
|
539
|
+
> 只是想调一个已有接口,通常不需要写新 Shortcut——直接 `biz-line api <name> --data '<json>'` 即可。Shortcut 应当带来智能默认值、参数编排或更友好的输出,否则不值得新增。
|
|
540
|
+
|
|
541
|
+
### B. 新增生命周期命令
|
|
459
542
|
|
|
460
543
|
1. **新建命令文件**:在 `src/commands/` 下创建 `xxx.command.ts`
|
|
461
544
|
2. **实现 ICommand 接口**:编写 `name`、`description` 和 `execute()` 方法
|
|
@@ -485,8 +568,7 @@ import { ExampleCommand } from "./example.command"; // 新增导入
|
|
|
485
568
|
|
|
486
569
|
export const commands: ICommand[] = [
|
|
487
570
|
new InitCommand(),
|
|
488
|
-
new
|
|
489
|
-
new IcApiCommand(),
|
|
571
|
+
new GetConfigCommand(),
|
|
490
572
|
new ExampleCommand(), // 新增注册
|
|
491
573
|
];
|
|
492
574
|
```
|
package/dist/SKILL.md
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sino-bc-cli
|
|
3
3
|
description: >
|
|
4
|
-
Use when 查询或操作 BeyondClick
|
|
5
|
-
|
|
6
|
-
红绿灯、客户满意度、消耗、ROAS;或用户提到 sino-bc-cli、/init、/api-list、
|
|
7
|
-
/bc-api、/get-config、/set-config、/mcp-reload、/uninstall、
|
|
8
|
-
sino-opti-hive、A2C-CLI。
|
|
4
|
+
Use when 查询或操作 BeyondClick 业务线,或配置 sino-bc-cli。
|
|
5
|
+
完整规则在 sino-bc-shared 与 sino-bc-biz-line;本文件只做入口。
|
|
9
6
|
metadata:
|
|
10
7
|
requires:
|
|
11
8
|
bins: ["sino-bc-cli"]
|
|
@@ -13,110 +10,18 @@ metadata:
|
|
|
13
10
|
|
|
14
11
|
# sino-bc-cli
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
iCenter 不走本 CLI 接口清单:用户把 MCP Server 写进 `~/.sino-bc-cli/mcp.json`,`/init` 或 `/mcp-reload` 会同步到 Cursor / Codex / Claude / VS Code。
|
|
13
|
+
Agent 技能已拆成多份,**不要只读这一页**。
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
1. 配置、信封、确认门、禁止拼 HTTP:[`skills/sino-bc-shared/SKILL.md`](skills/sino-bc-shared/SKILL.md)
|
|
16
|
+
2. 业务线意图与 Shortcut:[`skills/sino-bc-biz-line/SKILL.md`](skills/sino-bc-biz-line/SKILL.md)
|
|
17
|
+
3. 其他域:`skills/sino-bc-<domain>/`(由 `npm run sync-api-doc` 生成)
|
|
20
18
|
|
|
21
|
-
-
|
|
22
|
-
- 新建/编辑/删除业务线或周策略(须先确认环境和写操作意图)
|
|
23
|
-
- 用户点名 `/api-list`、`/bc-api`、`/mcp-reload`、sino-opti-hive
|
|
24
|
-
- 用户要给 Cursor / Codex / Claude / VS Code 增加或重启 MCP
|
|
25
|
-
|
|
26
|
-
不要用本技能处理:本仓库源码开发、扩展命令、npm 发版(见 `README.md` / `ReleaseSteps.md`)。
|
|
27
|
-
|
|
28
|
-
## 调用约定
|
|
29
|
-
|
|
30
|
-
| 项 | 规则 |
|
|
31
|
-
| --- | --- |
|
|
32
|
-
| 环境 | `test` / `pre` / `prod`,取自变量配置文件,默认 `prod` |
|
|
33
|
-
| 网关 | `https://test-agent.beyondclick.com`(当前三环境同一地址;`/bc-api` 走网关,不直连服务地址) |
|
|
34
|
-
| 业务线前缀 | `/sino-opti-hive` |
|
|
35
|
-
| 鉴权 | `Authorization: Bearer <API_KEY>`;取自变量配置文件,未设置时用 CLI 内置默认值 |
|
|
36
|
-
| 来源头 | 必须带 `X-GATEWAY-TYPE: A2C-CLI`(CLI 固定写入,不开放配置) |
|
|
37
|
-
| 请求体 | 按用户条件组装;禁止原样提交文档示例业务线 ID |
|
|
38
|
-
| iCenter / 其他 MCP | 编辑 `~/.sino-bc-cli/mcp.json` 后执行 `sino-bc-cli /mcp-reload` |
|
|
39
|
-
|
|
40
|
-
### 变量配置文件
|
|
41
|
-
|
|
42
|
-
环境、`API_KEY` 存放在 `<用户主目录>/.sino-bc-cli/config.json`,由 `/init` 创建、`/set-config` 修改。
|
|
43
|
-
MCP Server 存放在 `<用户主目录>/.sino-bc-cli/mcp.json`(与 Cursor 同结构),用户自行增删后执行 `/mcp-reload`。
|
|
44
|
-
需要知道当前生效取值时执行 `sino-bc-cli /get-config --json`(密钥默认打码,加 `--show-secret` 才是明文)。
|
|
45
|
-
|
|
46
|
-
`/bc-api` 不接收任何参数,且必须在交互式终端里选接口、只用文档默认 body。
|
|
47
|
-
Agent 在非 TTY 下跑这条会直接报错退出;需要真实查询时用 `/api-list` 发现接口后直接 HTTP。
|
|
48
|
-
|
|
49
|
-
## Agent 流程
|
|
50
|
-
|
|
51
|
-
1. 对照下方意图表选定 `name`。拿不准先跑 `sino-bc-cli /api-list`。
|
|
52
|
-
2. 读本地文档再组参。全局安装:`$(npm root -g)/sino-bc-cli/dist/api-doc/`;本仓库:`src/api-doc/`。`sino-bc-cli /api-list <name>` 会打开对应 markdown。
|
|
53
|
-
3. 写操作(描述含 ⚠️)先向用户确认环境和意图,未确认不发。
|
|
54
|
-
4. 按约定发 GET/POST,解析 `success` / `code` / `message` / `result`。
|
|
55
|
-
5. 回复用业务语言摘要;文档路径写成 Markdown 链接。完整 Key 不要回显。
|
|
56
|
-
6. 用户要查 iCenter 广告策略时,使用已配置的 MCP 工具,不要走 `/bc-api`。
|
|
19
|
+
安装与刷新(会写入上述两份并删除旧的 `sino-bc-cli/` 技能目录):
|
|
57
20
|
|
|
58
21
|
```bash
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
-H "Content-Type: application/json" \
|
|
62
|
-
-H "X-GATEWAY-TYPE: A2C-CLI" \
|
|
63
|
-
-d '{"name":"用户给出的业务线名"}'
|
|
22
|
+
sino-bc-cli /init
|
|
23
|
+
sino-bc-cli /skill
|
|
64
24
|
```
|
|
65
25
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
## 意图 → 接口
|
|
69
|
-
|
|
70
|
-
### 业务线查询(只读,文档 `biz-line-query.md`)
|
|
71
|
-
|
|
72
|
-
| 用户在问 | name | 注意 |
|
|
73
|
-
| --- | --- | --- |
|
|
74
|
-
| 有哪些投放渠道 | `biz-line-open-channels` | GET;`code` = 业务线里的 `mediaChannelId` |
|
|
75
|
-
| 投放行业 / 品类树 | `biz-line-open-placement-categories` | GET;一级行业(1=APP / 2=ECBR / 3=游戏),二级=品类 |
|
|
76
|
-
| 业务线有哪些 / 按名或渠道筛 | `biz-line-open-list` | POST;空 `{}` = 全部 |
|
|
77
|
-
| 某几条业务线的周策略和表现 | `biz-line-open-strategies` | POST;必填 `bizLineIds` |
|
|
78
|
-
| 行业/品类里表现最好的业务线 | `biz-line-open-strategy-top` | 行业、品类至少传一个;传了行业则忽略品类 |
|
|
79
|
-
|
|
80
|
-
### 业务线策略(文档 `biz-line-strategy.md`)
|
|
81
|
-
|
|
82
|
-
| 用户在问 | name | 注意 |
|
|
83
|
-
| --- | --- | --- |
|
|
84
|
-
| 业务线分页列表 | `biz-line-list` | |
|
|
85
|
-
| 业务线详情 | `biz-line-detail` | `{ "id": <bizLineId> }` |
|
|
86
|
-
| 新建 / 编辑 / 切状态 / 删除业务线 | `biz-line-save` / `update` / `status-update` / `del` | ⚠️ 写操作 |
|
|
87
|
-
| 导出业务线列表 | `biz-line-list-export` | `result` 为文件 URL |
|
|
88
|
-
| 周策略分页 / 详情 / 周期列表 | `biz-line-strategy-list` / `detail` / `period-list` | |
|
|
89
|
-
| 新建策略前看上期摘要 | `biz-line-strategy-preview-info` | 周期为自然周 周一~周日 |
|
|
90
|
-
| 新建 / 编辑 / 删除策略 | `biz-line-strategy-save` / `update` / `del` | ⚠️;编辑带 `version` 乐观锁 |
|
|
91
|
-
| 两期策略对比 | `biz-line-strategy-compare` | |
|
|
92
|
-
| 策略周期消耗 | `biz-line-strategy-spend` | |
|
|
93
|
-
| 导出该业务线全部策略 | `biz-line-strategy-export-all` | 路径拼写是 `exprot-all`,不要改成 export |
|
|
94
|
-
|
|
95
|
-
红绿灯:`1`/`6` 绿,`2`/`5` 黄,`3`/`4` 红。客户满意度:`1` 满意,`2` 不满意。业务线状态:`1` 进行中 / `2` 已完成 / `3` 已暂停。
|
|
96
|
-
|
|
97
|
-
## 命令(给人用)
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
sino-bc-cli /api-list
|
|
101
|
-
sino-bc-cli /api-list biz-line-open-list
|
|
102
|
-
sino-bc-cli /bc-api
|
|
103
|
-
|
|
104
|
-
sino-bc-cli /init # 注册技能 + 设置环境 / API_KEY,并拉取启动 MCP
|
|
105
|
-
sino-bc-cli /get-config # 查看变量配置与 mcp.json(密钥打码)
|
|
106
|
-
sino-bc-cli /set-config env prod # 改单项;也支持 --env=prod、不带参数逐项交互
|
|
107
|
-
sino-bc-cli /mcp-reload # 按 ~/.sino-bc-cli/mcp.json 重启 MCP
|
|
108
|
-
sino-bc-cli /uninstall # 清理技能目录与配置文件并卸载 CLI
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
## Common Mistakes
|
|
112
|
-
|
|
113
|
-
| 错误 | 正确做法 |
|
|
114
|
-
| --- | --- |
|
|
115
|
-
| 非 TTY 执行 `/bc-api` | 这条会报错退出;改直接 HTTP,只用 `/api-list` 发现接口 |
|
|
116
|
-
| 给 `/bc-api` 传环境或 Key | 参数已下线;用 `/set-config` 改、`/get-config` 查 |
|
|
117
|
-
| 用文档里的 `bizLineId: 1251` | 换成用户给出的业务线 |
|
|
118
|
-
| 漏 `X-GATEWAY-TYPE` 或业务线路径前缀 | 带 `A2C-CLI` 与 `/sino-opti-hive` |
|
|
119
|
-
| 直连 `o-test-sino-opti-hive` 等服务地址 | 请求网关 `https://test-agent.beyondclick.com` + `/sino-opti-hive` |
|
|
120
|
-
| 改了 mcp.json 却不重启 | 执行 `sino-bc-cli /mcp-reload` |
|
|
121
|
-
| 未确认就调 save/update/del | 先确认环境与写操作 |
|
|
122
|
-
| 把 `exprot-all` 改成 `export-all` | 按服务端拼写调用 |
|
|
26
|
+
列出包内技能:`sino-bc-cli /skill`。查看某条命令何时用:`sino-bc-cli biz-line --help`。
|
|
27
|
+
升级 CLI 后请再跑一次 `/init`。
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# biz-line 命令何时用
|
|
2
|
+
|
|
3
|
+
字段口径在 `src/api-doc/`,这里只写 WHEN / 别用 / 示例。
|
|
4
|
+
|
|
5
|
+
## +channels
|
|
6
|
+
|
|
7
|
+
- **WHEN**:用户问有哪些投放渠道、mediaChannelId 怎么填。
|
|
8
|
+
- **别用**:查业务线列表(用 `+list`)。
|
|
9
|
+
- **示例**:`sino-bc-cli biz-line +channels`
|
|
10
|
+
|
|
11
|
+
## +categories
|
|
12
|
+
|
|
13
|
+
- **WHEN**:用户问投放行业 / 品类树,或要把名称映射成字典 ID。
|
|
14
|
+
- **别用**:已经有品类 ID 且只要业务线(直接 `+list --category`)。
|
|
15
|
+
- **示例**:`sino-bc-cli biz-line +categories`
|
|
16
|
+
|
|
17
|
+
## +list
|
|
18
|
+
|
|
19
|
+
- **WHEN**:按名称、ID、品类筛业务线;不传条件 = 全部。
|
|
20
|
+
- **别用**:只要某一条的周策略(用 `+strategies`)。渠道或行业条件请走 `biz-line api`。
|
|
21
|
+
- **示例**:`sino-bc-cli biz-line +list --name <业务线名称>`
|
|
22
|
+
|
|
23
|
+
## +strategies
|
|
24
|
+
|
|
25
|
+
- **WHEN**:查某条业务线的周策略和表现。
|
|
26
|
+
- **别用**:`--name` 可能命中多条时不要猜,先 `+list` 收窄或改单个 `--id`。
|
|
27
|
+
- **示例**:`sino-bc-cli biz-line +strategies --name <业务线名称>`
|
|
28
|
+
|
|
29
|
+
## +save / +update
|
|
30
|
+
|
|
31
|
+
- **WHEN**:新建或编辑业务线主数据。字段多用 `--data`。
|
|
32
|
+
- **别用**:只改状态用 `+status`;没确认环境和意图不要加 `--yes`。
|
|
33
|
+
- **示例**:`sino-bc-cli biz-line +save --data '{...}' --dry-run`
|
|
34
|
+
|
|
35
|
+
## +status
|
|
36
|
+
|
|
37
|
+
- **WHEN**:切换业务线状态(进行中 / 已完成 / 已暂停)。
|
|
38
|
+
- **别用**:改名称或渠道用 `+update`。
|
|
39
|
+
- **示例**:`sino-bc-cli biz-line +status --id 123 --status 3 --yes`
|
|
40
|
+
|
|
41
|
+
## +delete
|
|
42
|
+
|
|
43
|
+
- **WHEN**:删除业务线。
|
|
44
|
+
- **别用**:只想停投放用 `+status --status 3`。
|
|
45
|
+
- **示例**:`sino-bc-cli biz-line +delete --id 123 --dry-run`
|
|
46
|
+
|
|
47
|
+
## +strategy-save / +strategy-update / +strategy-delete
|
|
48
|
+
|
|
49
|
+
- **WHEN**:新建、编辑或删除周策略。编辑必须带 `version`。
|
|
50
|
+
- **别用**:只对比两期用 `biz-line api biz-line-strategy-compare`。
|
|
51
|
+
- **示例**:`sino-bc-cli biz-line +strategy-update --data '{...}' --yes`
|
|
52
|
+
|
|
53
|
+
## api
|
|
54
|
+
|
|
55
|
+
- **WHEN**:导出、对比、消耗、周期列表、上期摘要等没有 `+` 的接口。行业 / 品类 Top 目前没有 Shortcut。
|
|
56
|
+
- **别用**:已有 Shortcut 的高频查询仍应走 `+xxx`。
|
|
57
|
+
- **示例**:`sino-bc-cli biz-line api biz-line-strategy-compare --data '{"bizLineId":123,"currentId":2,"prevId":1}'`
|
package/dist/api-doc/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# 接口文档索引
|
|
2
2
|
|
|
3
|
-
本目录汇总 CLI
|
|
3
|
+
本目录汇总 CLI 可调用的业务线接口(字段口径)。何时用哪条命令见仓库 `affordance/biz-line.md` 或 `sino-bc-cli biz-line --help`。发起调用用 `biz-line +<shortcut>`;没有 Shortcut 的接口用 `biz-line api <name> --data '<json>'`。Agent 技能树在 `skills/`,自省用 `/skill`。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
本 CLI 只覆盖业务线网关接口,不管理 MCP。
|
|
6
6
|
|
|
7
7
|
| 分组 | 命令 | 接口数 | 文档 |
|
|
8
8
|
| --- | --- | --- | --- |
|
|
9
|
-
| 业务线查询 |
|
|
10
|
-
| 业务线策略 |
|
|
9
|
+
| 业务线查询 | `biz-line +channels` / `+categories` | 2 | [biz-line-query.md](./biz-line-query.md) |
|
|
10
|
+
| 业务线策略 | `biz-line +list` / `+strategies` / `+save` / `+update` / `+status` / `+delete` / `+strategy-*`,其余 `biz-line api <name>` | 17 | [biz-line-strategy.md](./biz-line-strategy.md) |
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -15,8 +15,7 @@ iCenter 不再随 CLI 提供接口文档。需要 iCenter 时,把 MCP Server
|
|
|
15
15
|
|
|
16
16
|
| 范围 | 通道 |
|
|
17
17
|
| --- | --- |
|
|
18
|
-
| `biz-line-query.md` / `biz-line-strategy.md` 与
|
|
19
|
-
| iCenter 及其他 MCP | 用户编辑 `~/.sino-bc-cli/mcp.json`,由 `/init`、`/mcp-reload` 同步并启动 |
|
|
18
|
+
| `biz-line-query.md` / `biz-line-strategy.md` 与 `biz-line` 命令 | 固定走网关 HTTP,路径带 `/sino-opti-hive` |
|
|
20
19
|
|
|
21
20
|
网关地址的唯一来源是 `src/constants/gateway.ts` 的 `GATEWAY_CONFIG`;各文档中出现的上游服务地址(`o-test-sino-opti-hive` 等)仅作接口文档出处,不作为请求地址。
|
|
22
21
|
|
|
@@ -34,39 +33,44 @@ iCenter 不再随 CLI 提供接口文档。需要 iCenter 时,把 MCP Server
|
|
|
34
33
|
|
|
35
34
|
数据来源:[sino-opti-hive 接口文档](https://o-test-sino-opti-hive.meetsocial.com/doc.html)
|
|
36
35
|
|
|
37
|
-
共 **
|
|
36
|
+
共 **19** 个接口,分两组。所有路径经网关调用时统一带 `/sino-opti-hive` 路由前缀,例如 `/sino-opti-hive/biz-line-open/channels`。
|
|
38
37
|
|
|
39
38
|
| 文档 | 分组 | 接口数 | 说明 |
|
|
40
39
|
| --- | --- | --- | --- |
|
|
41
|
-
| [biz-line-query.md](./biz-line-query.md) | 业务线查询 |
|
|
42
|
-
| [biz-line-strategy.md](./biz-line-strategy.md) | 业务线策略 | 17 |
|
|
40
|
+
| [biz-line-query.md](./biz-line-query.md) | 业务线查询 | 2 | 对外开放的只读查询:渠道、品类字典 |
|
|
41
|
+
| [biz-line-strategy.md](./biz-line-strategy.md) | 业务线策略 | 17 | 业务线主数据与周策略的增删改查、导出;`+list` / `+strategies` 改绑此组内部接口 |
|
|
43
42
|
|
|
44
|
-
|
|
43
|
+
对应命令:`biz-line +<shortcut>` 与 `biz-line api <name>`,接口清单定义在 `src/generated/api-catalog.json`。维护者同步:`APIFOX_TOKEN` 环境变量 + `npm run sync-api-doc`。
|
|
45
44
|
|
|
46
|
-
> ⚠️ 业务线策略组含新建 / 编辑 /
|
|
45
|
+
> ⚠️ 业务线策略组含新建 / 编辑 / 删除等写操作接口。写操作必须先确认:不加 `--yes` 时交互式终端会询问,非交互式环境以退出码 `10` 返回 `confirmation_required`;执行前可用 `--dry-run` 预览请求。
|
|
46
|
+
>
|
|
47
|
+
> 文档中的「请求示例」只用于说明字段口径,**不会**被任何命令当作默认请求体发送。
|
|
47
48
|
|
|
48
49
|
---
|
|
49
50
|
|
|
50
51
|
## 命令调用
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
发起调用经网关 HTTP;环境与鉴权取自变量配置文件,无需在命令上传。字段口径以本目录 markdown 为准。
|
|
53
54
|
|
|
54
55
|
```bash
|
|
55
|
-
|
|
56
|
-
sino-bc-cli
|
|
57
|
-
sino-bc-cli
|
|
58
|
-
```
|
|
56
|
+
# 有 Shortcut 的高频查询
|
|
57
|
+
sino-bc-cli biz-line +list --name <业务线名称>
|
|
58
|
+
sino-bc-cli biz-line +strategies --name <业务线名称>
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
# 没有 Shortcut 的接口按 name 点名调用
|
|
61
|
+
sino-bc-cli biz-line api biz-line-strategy-compare \
|
|
62
|
+
--data '{"bizLineId":123,"currentId":2,"prevId":1}'
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
sino-bc-cli
|
|
64
|
+
# 写操作:先预览,确认后追加 --yes
|
|
65
|
+
sino-bc-cli biz-line +delete --id 123 --dry-run
|
|
66
|
+
sino-bc-cli biz-line +delete --id 123 --yes
|
|
65
67
|
|
|
66
68
|
# 切换环境
|
|
67
69
|
sino-bc-cli /set-config env test
|
|
68
70
|
```
|
|
69
71
|
|
|
72
|
+
输出格式:TTY 默认表格,非 TTY 默认 JSON 信封(`--format` 可覆盖)。成功 `{ ok: true, data }` 走 stdout,失败 `{ ok: false, error }` 走 stderr;退出码 `0` 成功、`10` 待确认、其余非 0 失败。
|
|
73
|
+
|
|
70
74
|
| 配置 | 默认值 | 说明 |
|
|
71
75
|
| --- | --- | --- |
|
|
72
76
|
| `env` | `prod` | `test` / `pre` / `prod`,用于取 `src/constants/gateway.ts` 中的网关地址 |
|