sino-bc-cli 1.8.3 → 1.8.5

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/dist/SKILL.md CHANGED
@@ -1,27 +1,73 @@
1
- ---
2
- name: sino-bc-cli
3
- description: >
4
- Use when 查询或操作 BeyondClick 业务线,或配置 sino-bc-cli。
5
- 完整规则在 sino-bc-shared 与 sino-bc-biz-line;本文件只做入口。
6
- metadata:
7
- requires:
8
- bins: ["sino-bc-cli"]
9
- ---
10
-
11
- # sino-bc-cli
12
-
13
- Agent 技能已拆成多份,**不要只读这一页**。
14
-
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` 生成)
18
-
19
- 安装与刷新(会写入上述两份并删除旧的 `sino-bc-cli/` 技能目录):
20
-
21
- ```bash
22
- sino-bc-cli /init
23
- sino-bc-cli /skill
24
- ```
25
-
26
- 列出包内技能:`sino-bc-cli /skill`。查看某条命令何时用:`sino-bc-cli biz-line --help`。
27
- 升级 CLI 后请再跑一次 `/init`。
1
+ ---
2
+ name: sino-bc-cli
3
+ description: >
4
+ Use when 查询或操作 BeyondClick 业务线、周策略生成、广告结构、广告成效,或配置 sino-bc-cli:
5
+ 投放渠道/品类、业务线列表/详情/状态、周策略增删改查与策略生成、策略周期/消耗/红绿灯/客户满意度/ROAS;
6
+ Facebook / Google / TikTok 广告结构(账户、广告系列、广告组、广告、目标、出价、定向)
7
+ 与广告成效(消耗、曝光、点击、购买、安装);
8
+ SSO 组别;以及 /init、/get-config、/set-config。
9
+ 用户提到业务线、周策略、策略生成、广告结构、广告层级、广告成效、biz-line、
10
+ Meta、Facebook、Google、TikTok、sso、sino-opti-hive 时也必须用本技能,不要自己拼 HTTP。
11
+ 完整规则在子技能 sino-bc-shared 与 sino-bc-<domain>。
12
+ metadata:
13
+ requires:
14
+ bins: ["sino-bc-cli"]
15
+ ---
16
+
17
+ # sino-bc-cli
18
+
19
+ 用全局 CLI `sino-bc-cli` 查询或操作 BeyondClick。本文件是**唯一对外技能**,也是决策页:按用户意图只读一份子技能,再执行命令。不要自己拼网关 HTTP,也不要一次读完全部子技能。
20
+
21
+ `/init` 之后本机目录是 `~/.agents/skills/sino-bc-cli/`,子技能嵌在其下(没有 `system/` / `custom/` 这一层):
22
+
23
+ ```text
24
+ sino-bc-cli/
25
+ ├── SKILL.md ← 本文件
26
+ ├── sino-bc-shared/ 横切:配置、信封、确认门
27
+ ├── sino-bc-biz-line/ 业务线、周策略、广告结构、广告成效
28
+ └── sino-bc-sso/ SSO 组别
29
+ ```
30
+
31
+ ## 怎么跑
32
+
33
+ 1. 用 Read 打开 [`sino-bc-shared/SKILL.md`](sino-bc-shared/SKILL.md):禁止拼 HTTP、成功看 `ok` / 退出码、写操作退出码 10、配置。
34
+ 2. 按下表再读**一份**域技能。Shortcut、组参、枚举、长尾 `api <name>` 都在那份里。
35
+ 3. 有 Shortcut 用 `sino-bc-cli <domain> +<shortcut>`;没有再用 `sino-bc-cli <domain> api <name> --data '<json>'`。
36
+ 4. 写操作先停下确认环境和意图,用户同意后再加 `--yes`。**不要自行补 `--yes`。**
37
+
38
+ 不确定哪条命令:`sino-bc-cli biz-line --help` 或 `sino-bc-cli sso --help`。
39
+
40
+ CLI 未安装:`npm i sino-bc-cli@latest -g`(Node.js >= 24)。技能未出现或升级 CLI 后:`sino-bc-cli /init`。
41
+
42
+ ## 意图 → 子技能
43
+
44
+ | 用户在问 | 读 | 命令入口 |
45
+ | --- | --- | --- |
46
+ | 环境、API_KEY、成功/失败怎么看、写操作要不要确认 | [`sino-bc-shared/SKILL.md`](sino-bc-shared/SKILL.md) | `/init` `/get-config` `/set-config` |
47
+ | 投放渠道/品类、业务线列表/详情/状态、周策略增删改查与策略生成、红绿灯/消耗/ROAS | [`sino-bc-biz-line/SKILL.md`](sino-bc-biz-line/SKILL.md) | `biz-line +<shortcut>` |
48
+ | Facebook / Google / TikTok 广告结构(账户、系列、组、广告、目标、出价、定向)或广告成效(消耗、曝光、点击、购买、安装) | 同上 | `biz-line +<shortcut>`(维度 / 成效) |
49
+ | SSO 组别 | [`sino-bc-sso/SKILL.md`](sino-bc-sso/SKILL.md) | `sso +group-list` |
50
+
51
+ 不要用本技能处理:本仓库源码开发、扩展命令、npm 发版(见仓库 `README.md` / `ReleaseSteps.md`)。
52
+
53
+ ## 子技能索引
54
+
55
+ Agent 先读子技能 `sino-bc-shared`,再按意图读域技能。
56
+
57
+ 1. 配置、信封、确认门、禁止拼 HTTP:[`sino-bc-shared/SKILL.md`](sino-bc-shared/SKILL.md)(仓库 [`skills/custom/sino-bc-shared/SKILL.md`](skills/custom/sino-bc-shared/SKILL.md))
58
+ 2. 业务线、周策略生成、广告结构、广告成效:[`sino-bc-biz-line/SKILL.md`](sino-bc-biz-line/SKILL.md)(仓库 [`skills/system/sino-bc-biz-line/SKILL.md`](skills/system/sino-bc-biz-line/SKILL.md))
59
+ 3. SSO 组别:[`sino-bc-sso/SKILL.md`](sino-bc-sso/SKILL.md)(仓库 [`skills/system/sino-bc-sso/SKILL.md`](skills/system/sino-bc-sso/SKILL.md))
60
+
61
+ 安装与刷新(会写入上面列出的子技能到本机 `sino-bc-cli/`,并删除旧的平级 `sino-bc-shared` / `sino-bc-<domain>` 技能目录):
62
+
63
+ ```bash
64
+ sino-bc-cli /init
65
+ sino-bc-cli /skill
66
+ ```
67
+
68
+ 列出包内技能:`sino-bc-cli /skill`(只有这一条)。查看某条命令何时用:`sino-bc-cli biz-line --help`。
69
+ 升级 CLI 后请再跑一次 `/init`。
70
+
71
+ > 仓库里子技能分两层:`skills/system/sino-bc-<domain>/` 由 `npm run sync-api-doc` 生成;`skills/custom/sino-bc-shared/` 与 `skills/custom/sino-bc-<domain>/references/` 手写且不会被同步覆盖。每个子技能都是标准目录:`SKILL.md` + `references/`。
72
+ > `/init` 把根 `SKILL.md` 与两层子技能嵌进 `~/.agents/skills/sino-bc-cli/`。
73
+ > 上面的索引由同步脚本维护,改它请改 `src/api-utils/render-skills.ts`。
@@ -1,57 +1,129 @@
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}'`
1
+ # biz-line 命令何时用
2
+
3
+ 字段口径在 `src/api-doc/`,这里只写 WHEN / 别用 / 示例。
4
+
5
+ ## +list
6
+
7
+ - **WHEN**:查询业务线分页列表
8
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
9
+ - **示例**:`sino-bc-cli biz-line +list --data '{...}'`
10
+
11
+ ## +detail
12
+
13
+ - **WHEN**:业务线详情
14
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
15
+ - **示例**:`sino-bc-cli biz-line +detail --data '{...}'`
16
+
17
+ ## +save
18
+
19
+ - **WHEN**:新建业务线 (写操作需 --yes)
20
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
21
+ - **示例**:`sino-bc-cli biz-line +save --data '{...}'`
22
+
23
+ ## +update
24
+
25
+ - **WHEN**:编辑业务线 (写操作需 --yes)
26
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
27
+ - **示例**:`sino-bc-cli biz-line +update --data '{...}'`
28
+
29
+ ## +status
30
+
31
+ - **WHEN**:切换业务线状态 (写操作需 --yes)
32
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
33
+ - **示例**:`sino-bc-cli biz-line +status --data '{...}'`
34
+
35
+ ## +delete
36
+
37
+ - **WHEN**:删除业务线 (写操作需 --yes)
38
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
39
+ - **示例**:`sino-bc-cli biz-line +delete --data '{...}'`
40
+
41
+ ## +period-list
42
+
43
+ - **WHEN**:策略周期列表
44
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
45
+ - **示例**:`sino-bc-cli biz-line +period-list --data '{...}'`
46
+
47
+ ## +strategies
48
+
49
+ - **WHEN**:查询策略分页列表
50
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
51
+ - **示例**:`sino-bc-cli biz-line +strategies --data '{...}'`
52
+
53
+ ## +spend
54
+
55
+ - **WHEN**:策略周期内关联项目周表消耗汇总
56
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
57
+ - **示例**:`sino-bc-cli biz-line +spend --data '{...}'`
58
+
59
+ ## +strategy-save
60
+
61
+ - **WHEN**:新建策略 (写操作需 --yes)
62
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
63
+ - **示例**:`sino-bc-cli biz-line +strategy-save --data '{...}'`
64
+
65
+ ## +strategy-update
66
+
67
+ - **WHEN**:编辑策略 (写操作需 --yes)
68
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
69
+ - **示例**:`sino-bc-cli biz-line +strategy-update --data '{...}'`
70
+
71
+ ## +strategy-delete
72
+
73
+ - **WHEN**:删除策略 (写操作需 --yes)
74
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
75
+ - **示例**:`sino-bc-cli biz-line +strategy-delete --data '{...}'`
76
+
77
+ ## +channels
78
+
79
+ - **WHEN**:查询投放渠道列表
80
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
81
+ - **示例**:`sino-bc-cli biz-line +channels`
82
+
83
+ ## +categories
84
+
85
+ - **WHEN**:查询投放品类字典树
86
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
87
+ - **示例**:`sino-bc-cli biz-line +categories`
88
+
89
+ ## +facebook-dimension
90
+
91
+ - **WHEN**:Facebook广告策略维度数据
92
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
93
+ - **示例**:`sino-bc-cli biz-line +facebook-dimension --data '{...}'`
94
+
95
+ ## +google-dimension
96
+
97
+ - **WHEN**:Google广告策略维度数据
98
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
99
+ - **示例**:`sino-bc-cli biz-line +google-dimension --data '{...}'`
100
+
101
+ ## +tiktok-dimension
102
+
103
+ - **WHEN**:TikTok广告策略维度数据
104
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
105
+ - **示例**:`sino-bc-cli biz-line +tiktok-dimension --data '{...}'`
106
+
107
+ ## +facebook-metrics
108
+
109
+ - **WHEN**:Facebook广告策略成效数据
110
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
111
+ - **示例**:`sino-bc-cli biz-line +facebook-metrics --data '{...}'`
112
+
113
+ ## +google-metrics
114
+
115
+ - **WHEN**:Google广告策略成效数据
116
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
117
+ - **示例**:`sino-bc-cli biz-line +google-metrics --data '{...}'`
118
+
119
+ ## +tiktok-metrics
120
+
121
+ - **WHEN**:TikTok广告策略成效数据
122
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
123
+ - **示例**:`sino-bc-cli biz-line +tiktok-metrics --data '{...}'`
124
+
125
+ ## api
126
+
127
+ - **WHEN**:没有 `+` 的接口按 name 点名调用。
128
+ - **别用**:已有 Shortcut 的高频查询仍应走 `+xxx`。
129
+ - **示例**:`sino-bc-cli biz-line api <name> --data '{...}'`
@@ -0,0 +1,15 @@
1
+ # sso 命令何时用
2
+
3
+ 字段口径在 `src/api-doc/`,这里只写 WHEN / 别用 / 示例。
4
+
5
+ ## +group-list
6
+
7
+ - **WHEN**:查询组别列表
8
+ - **别用**:已有更贴切的 Shortcut 时不要用本命令凑合。
9
+ - **示例**:`sino-bc-cli sso +group-list`
10
+
11
+ ## api
12
+
13
+ - **WHEN**:没有 `+` 的接口按 name 点名调用。
14
+ - **别用**:已有 Shortcut 的高频查询仍应走 `+xxx`。
15
+ - **示例**:`sino-bc-cli sso api <name> --data '{...}'`
@@ -1,77 +1,92 @@
1
- # 接口文档索引
2
-
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
-
5
- 本 CLI 只覆盖业务线网关接口,不管理 MCP。
6
-
7
- | 分组 | 命令 | 接口数 | 文档 |
8
- | --- | --- | --- | --- |
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
-
12
- ---
13
-
14
- ## 调用通道
15
-
16
- | 范围 | 通道 |
17
- | --- | --- |
18
- | `biz-line-query.md` / `biz-line-strategy.md` 与 `biz-line` 命令 | 固定走网关 HTTP,路径带 `/sino-opti-hive` |
19
-
20
- 网关地址的唯一来源是 `src/constants/gateway.ts` 的 `GATEWAY_CONFIG`;各文档中出现的上游服务地址(`o-test-sino-opti-hive` 等)仅作接口文档出处,不作为请求地址。
21
-
22
- | 环境 | 网关地址 |
23
- | --- | --- |
24
- | `test` 测试环境 | `https://test-agent.beyondclick.com` |
25
- | `pre` 预发环境 | `https://test-agent.beyondclick.com` |
26
- | `prod` 生产环境 | `https://test-agent.beyondclick.com` |
27
-
28
- > 当前三环境同一地址;改地址只改 `GATEWAY_CONFIG`,代码通过 `joinGatewayUrl(env, path)` 取值,不要在别处硬编码。
29
-
30
- ---
31
-
32
- ## 业务线接口(sino-opti-hive)
33
-
34
- 数据来源:[sino-opti-hive 接口文档](https://o-test-sino-opti-hive.meetsocial.com/doc.html)
35
-
36
- 共 **19** 个接口,分两组。所有路径经网关调用时统一带 `/sino-opti-hive` 路由前缀,例如 `/sino-opti-hive/biz-line-open/channels`。
37
-
38
- | 文档 | 分组 | 接口数 | 说明 |
39
- | --- | --- | --- | --- |
40
- | [biz-line-query.md](./biz-line-query.md) | 业务线查询 | 2 | 对外开放的只读查询:渠道、品类字典 |
41
- | [biz-line-strategy.md](./biz-line-strategy.md) | 业务线策略 | 17 | 业务线主数据与周策略的增删改查、导出;`+list` / `+strategies` 改绑此组内部接口 |
42
-
43
- 对应命令:`biz-line +<shortcut>` 与 `biz-line api <name>`,接口清单定义在 `src/generated/api-catalog.json`。维护者同步:`APIFOX_TOKEN` 环境变量 + `npm run sync-api-doc`。
44
-
45
- > ⚠️ 业务线策略组含新建 / 编辑 / 删除等写操作接口。写操作必须先确认:不加 `--yes` 时交互式终端会询问,非交互式环境以退出码 `10` 返回 `confirmation_required`;执行前可用 `--dry-run` 预览请求。
46
- >
47
- > 文档中的「请求示例」只用于说明字段口径,**不会**被任何命令当作默认请求体发送。
48
-
49
- ---
50
-
51
- ## 命令调用
52
-
53
- 发起调用经网关 HTTP;环境与鉴权取自变量配置文件,无需在命令上传。字段口径以本目录 markdown 为准。
54
-
55
- ```bash
56
- # 有 Shortcut 的高频查询
57
- sino-bc-cli biz-line +list --name <业务线名称>
58
- sino-bc-cli biz-line +strategies --name <业务线名称>
59
-
60
- # 没有 Shortcut 的接口按 name 点名调用
61
- sino-bc-cli biz-line api biz-line-strategy-compare \
62
- --data '{"bizLineId":123,"currentId":2,"prevId":1}'
63
-
64
- # 写操作:先预览,确认后追加 --yes
65
- sino-bc-cli biz-line +delete --id 123 --dry-run
66
- sino-bc-cli biz-line +delete --id 123 --yes
67
-
68
- # 切换环境
69
- sino-bc-cli /set-config env test
70
- ```
71
-
72
- 输出格式:TTY 默认表格,非 TTY 默认 JSON 信封(`--format` 可覆盖)。成功 `{ ok: true, data }` 走 stdout,失败 `{ ok: false, error }` 走 stderr;退出码 `0` 成功、`10` 待确认、其余非 0 失败。
73
-
74
- | 配置 | 默认值 | 说明 |
75
- | --- | --- | --- |
76
- | `env` | `prod` | `test` / `pre` / `prod`,用于取 `src/constants/gateway.ts` 中的网关地址 |
77
- | `API_KEY` | `src/constants/gateway.ts` 的 `DEFAULT_API_KEY` | 注入请求头 `Authorization: Bearer ${API_KEY}`;同时固定注入 `X-GATEWAY-TYPE: A2C-CLI` |
1
+ # 接口文档索引
2
+
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
+
5
+ 本 CLI 只覆盖业务线网关接口,不管理 MCP。
6
+
7
+ ## 目录分层
8
+
9
+ `src/api-doc/` 分两层,`skills/` 同理:
10
+
11
+ | 目录 | 来源 | 会不会被覆盖 |
12
+ | --- | --- | --- |
13
+ | `system/` | `npm run sync-api-doc` 从 Apifox 全量生成 | **每次同步整层重写**,不要手改 |
14
+ | `custom/` | 手写(本文件就在这里) | 同步脚本只读,不会创建、改写或删除 |
15
+
16
+ 两层出现同名文件时,运行时按 `custom/` → `system/` 顺序取第一个命中,即**手写件优先**。所以在 `custom/` 里放一份与生成文档同名的文件,会让同步结果看起来「没生效」——需要覆盖时才这么做。
17
+
18
+ | 分组 | 命令 | 接口数 | 文档 |
19
+ | --- | --- | --- | --- |
20
+ | 业务线查询 | `biz-line +channels` / `+categories` | 2 | [biz-line-query.md](../system/biz-line-query.md) |
21
+ | 业务线策略 | `biz-line +list` / `+strategies` / `+save` / `+update` / `+status` / `+delete` / `+strategy-*`,其余 `biz-line api <name>` | 13 | [biz-line-strategy.md](../system/biz-line-strategy.md) |
22
+ | SSO | `sso +group-list` | 1 | [sso.md](../system/sso.md) |
23
+
24
+ > 接口数随 Apifox 变动,以 `src/generated/api-catalog.json` 为准,本表只作导航。
25
+
26
+ ---
27
+
28
+ ## 调用通道
29
+
30
+ | 范围 | 通道 |
31
+ | --- | --- |
32
+ | `biz-line-query.md` / `biz-line-strategy.md` 与 `biz-line` 命令 | 固定走网关 HTTP,path 等于接口文档 / OpenAPI 路由 |
33
+
34
+ 网关地址的唯一来源是 `src/constants/gateway.ts` 的 `GATEWAY_CONFIG`;各文档中出现的上游服务地址(`o-test-sino-opti-hive` 等)仅作接口文档出处,不作为请求地址。
35
+
36
+ | 环境 | 网关地址 |
37
+ | --- | --- |
38
+ | `test` 测试环境 | `https://test-agent.beyondclick.com` |
39
+ | `pre` 预发环境 | `https://test-agent.beyondclick.com` |
40
+ | `prod` 生产环境 | `https://test-agent.beyondclick.com` |
41
+
42
+ > 当前三环境同一地址;改地址只改 `GATEWAY_CONFIG`,代码通过 `joinGatewayUrl(env, path)` 取值,不要在别处硬编码。
43
+
44
+ ---
45
+
46
+ ## 业务线接口(sino-opti-hive)
47
+
48
+ 数据来源:[sino-opti-hive 接口文档](https://o-test-sino-opti-hive.meetsocial.com/doc.html)
49
+
50
+ 当前 **16** 个接口。请求 path 等于 Apifox / OpenAPI 路由原文,例如 `/sino-opti-hive/biz-line-open/channels`。接口 `name` 由该 path 去掉前导 `/` 并将 `/` 换成 `-`(`sino-opti-hive-biz-line-open-channels`)。
51
+
52
+ | 文档 | 分组 | 接口数 | 说明 |
53
+ | --- | --- | --- | --- |
54
+ | [biz-line-query.md](../system/biz-line-query.md) | 业务线查询 | 2 | 对外开放的只读查询:渠道、品类字典 |
55
+ | [biz-line-strategy.md](../system/biz-line-strategy.md) | 业务线策略 | 13 | 业务线主数据与周策略的增删改查;`+list` / `+strategies` 改绑此组内部接口 |
56
+ | [sso.md](../system/sso.md) | SSO | 1 | 团队组列表;上游挂在「业务线策略」tag 下,由映射表按 endpoint 拆到独立域 `sso` |
57
+
58
+ 对应命令:`biz-line +<shortcut>` / `sso +<shortcut>` 与 `<domain> api <name>`,接口清单定义在 `src/generated/api-catalog.json`。维护者同步:`npm run sync-api-doc`(token 见下文)。
59
+
60
+ > ⚠️ 业务线策略组含新建 / 编辑 / 删除等写操作接口。写操作必须先确认:不加 `--yes` 时交互式终端会询问,非交互式环境以退出码 `10` 返回 `confirmation_required`;执行前可用 `--dry-run` 预览请求。
61
+ >
62
+ > 文档中的「请求示例」只用于说明字段口径,**不会**被任何命令当作默认请求体发送。
63
+
64
+ ---
65
+
66
+ ## 命令调用
67
+
68
+ 发起调用经网关 HTTP;环境与鉴权取自变量配置文件,无需在命令上传。字段口径以本目录 markdown 为准。
69
+
70
+ ```bash
71
+ # 有 Shortcut 的高频查询
72
+ sino-bc-cli biz-line +list --name <业务线名称>
73
+ sino-bc-cli biz-line +strategies --name <业务线名称>
74
+
75
+ # 没有 Shortcut 的接口按 name 点名调用
76
+ sino-bc-cli biz-line api biz-line-strategy-compare \
77
+ --data '{"bizLineId":123,"currentId":2,"prevId":1}'
78
+
79
+ # 写操作:先预览,确认后追加 --yes
80
+ sino-bc-cli biz-line +delete --id 123 --dry-run
81
+ sino-bc-cli biz-line +delete --id 123 --yes
82
+
83
+ # 切换环境
84
+ sino-bc-cli /set-config env test
85
+ ```
86
+
87
+ 输出格式:TTY 默认表格,非 TTY 默认 JSON 信封(`--format` 可覆盖)。成功 `{ ok: true, data }` 走 stdout,失败 `{ ok: false, error }` 走 stderr;退出码 `0` 成功、`10` 待确认、其余非 0 失败。
88
+
89
+ | 配置 | 默认值 | 说明 |
90
+ | --- | --- | --- |
91
+ | `env` | `prod` | `test` / `pre` / `prod`,用于取 `src/constants/gateway.ts` 中的网关地址 |
92
+ | `API_KEY` | `src/constants/gateway.ts` 的 `DEFAULT_API_KEY` | 注入请求头 `Authorization: Bearer ${API_KEY}`;同时固定注入 `X-GATEWAY-TYPE: A2C-CLI` |
@@ -0,0 +1,19 @@
1
+ # 业务线查询
2
+
3
+ > **网关地址**:`https://test-agent.beyondclick.com`(三环境同一地址,唯一来源 `src/constants/gateway.ts` 的 `GATEWAY_CONFIG`),不要直连上游服务地址。
4
+ >
5
+ > **调用路径**:等于下方列出的 path(即 OpenAPI / catalog 路由),由 CLI 拼到网关地址后发出。
6
+
7
+ 对应命令:`biz-line +<shortcut>` 与 `biz-line api <name>`。
8
+
9
+ ## 1. 查询投放渠道列表
10
+
11
+ `GET /sino-opti-hive/biz-line-open/channels`
12
+
13
+ 无入参,返回 ChannelEnum 全量:code = 枚举 id(即 list 的 mediaChannelId),name = 渠道名称。
14
+
15
+ ## 2. 查询投放品类字典树
16
+
17
+ `GET /sino-opti-hive/biz-line-open/placement-categories`
18
+
19
+ 无入参,sceneCode 固定 PLACEMENT_CATEGORY。一级节点 = 投放行业,二级节点(children)= 投放品类,分别对应筛选参数 adCategoryIndustryId / adCategoryProjectId。已过滤 isOther=1 的「其他」。叶子节点 children 为 null。