sino-bc-cli 1.3.0 → 1.3.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 CHANGED
@@ -282,7 +282,7 @@ sino-bc-cli /init
282
282
  | :---------- | :-------------------------------------------------------------------------------------------- |
283
283
  | `/init` | 将本包 `SKILL.md` 复制到用户主目录下的 Agent 技能目录,供飞书豆包工作 / Cursor / Claude / Codex 自动识别 |
284
284
  | `/api-list` | 列出全部可调用接口;Cursor / VS Code 终端中 Ctrl+单击接口名或文档路径打开本地文档,也可输入序号或传入 name |
285
- | `/ic-api` | 交互选择并调用 iCenter 接口地址;`ENV` 默认 `prod`,`API_KEY` 默认使用网关常量 |
285
+ | `/ic-api` | 交互选择并调用 iCenter 接口地址(路径统一带 `/sino-icenter` 前缀);`ENV` 默认 `prod`,`API_KEY` 默认使用网关常量 |
286
286
  | `/bc-api` | 交互选择并调用业务线查询 / 业务线策略接口(共 22 个,路径统一带 `/sino-opti-hive` 前缀) |
287
287
 
288
288
  ### 全局选项
@@ -324,7 +324,7 @@ sino-bc-cli /ic-api
324
324
  sino-bc-cli /ic-api test
325
325
  ```
326
326
 
327
- 执行效果:交互选择接口后,向对应环境的 iCenter 接口地址发起请求。
327
+ 执行效果:交互选择接口后,向对应环境的 iCenter 接口地址发起请求。所有路径带 `/sino-icenter` 前缀。
328
328
 
329
329
  #### ④ 调用业务线查询 / 业务线策略接口
330
330
 
package/dist/SKILL.md CHANGED
@@ -1,11 +1,10 @@
1
1
  ---
2
2
  name: sino-bc-cli
3
3
  description: >
4
- BeyondClick CLI 项目说明、命令用法、扩展新命令与 npm 发布/回滚步骤。
5
- Use when 开发或使用 sino-bc-cli、执行 /init /api-list /ic-api /bc-api、
6
- 把技能注册到飞书豆包工作 / Cursor / Claude / Codex、扩展命令、
7
- npm publish、release:patch/minor/major、切 registry、排查 ENEEDAUTH/E403/EPUBLISHCONFLICT,
8
- 或发布到私有 Nexus / 企业私服。
4
+ Use when 查询或操作 BeyondClick / iCenter / 业务线数据:Facebook 广告策略维度或成效、
5
+ 投放渠道、投放品类、业务线列表/详情/策略与表现、Top 业务线、周策略增删改查、
6
+ 红绿灯、客户满意度、消耗、ROAS;或用户提到 sino-bc-cli、/init、/api-list、
7
+ /ic-api、/bc-api、sino-icenter、sino-opti-hive、A2C-CLI。
9
8
  metadata:
10
9
  requires:
11
10
  bins: ["sino-bc-cli"]
@@ -13,491 +12,103 @@ metadata:
13
12
 
14
13
  # sino-bc-cli
15
14
 
16
- BeyondClick 命令行工具集合 — 提供快捷访问 BeyondClick 平台的命令行接口。
15
+ BeyondClick 投放数据与业务线策略的 Agent 调用入口。用本 CLI 发现接口和文档,再按用户真实参数请求网关。
17
16
 
18
- 适用:`sino-bc-cli`(Node.js v24 + TypeScript v5 CLI)
17
+ ## When to Use
19
18
 
20
- ## 目录
19
+ - 查 Facebook(Meta)广告策略配置、消耗/点击/购买等成效
20
+ - 查投放渠道、投放行业/品类、业务线主数据、周策略与表现、行业 Top
21
+ - 新建/编辑/删除业务线或周策略(须先确认环境和写操作意图)
22
+ - 用户点名 `/api-list`、`/ic-api`、`/bc-api`、iCenter、sino-opti-hive
21
23
 
22
- - [技术栈](#技术栈)
23
- - [项目结构](#项目结构)
24
- - [环境与安装](#环境与安装)
25
- - [命令说明](#命令说明)
26
- - [扩展新命令](#扩展新命令)
27
- - [npm 发布](#npm-发布)
28
- - [发布前检查清单](#一发布前检查清单必须全部通过)
29
- - [前置条件](#二前置条件准备)
30
- - [发布流程](#三发布流程按顺序执行)
31
- - [后续版本迭代](#四后续版本迭代一行命令)
32
- - [私有 Nexus / 企业私服](#五发布到私有-nexus--企业私服可选)
33
- - [常见报错](#六常见报错速查表)
34
- - [回滚 / 撤销](#七回滚--撤销发布)
24
+ 不要用本技能处理:本仓库源码开发、扩展命令、npm 发版(见 `README.md` / `ReleaseSteps.md`)。
35
25
 
36
- ---
37
-
38
- ## 技术栈
39
-
40
- | 技术/依赖 | 版本要求 | 用途说明 |
41
- | :------------- | :----------- | :------------------------------------------------------ |
42
- | **Node.js** | `>= v24.0.0` | CLI 运行时环境,要求使用 v24 及以上版本 |
43
- | **TypeScript** | `^v5.5.0` | 开发语言,提供静态类型检查和更好的可维护性 |
44
- | **lodash** | `^4.17.21` | 工具函数库,提供对象/数组/字符串处理等高效方法 |
45
- | **dayjs** | `^1.11.11` | 轻量级日期处理库,替代 Moment.js 处理日期时间格式化 |
46
- | **axios** | `^1.7.0` | HTTP 客户端库,用于网络请求、连通性检测等 |
47
- | **crypto-js** | `^4.2.0` | 加密算法库,提供 MD5、SHA-256、AES、Base64 等加解密能力 |
48
- | **commander** | `^12.1.0` | 命令行参数解析框架(预留,当前采用自研注册器模式) |
49
- | **chalk** | `^4.1.2` | 终端彩色输出库,用于美化日志和帮助信息 |
50
- | **open** | `^8.4.2` | 跨平台文件/URL 打开工具(兼容备用方案) |
51
-
52
- ### 开发依赖
53
-
54
- | 依赖 | 版本 | 用途 |
55
- | :----------------- | :-------- | :-------------------------------- |
56
- | `@types/node` | `^22.0.0` | Node.js 类型声明 |
57
- | `@types/lodash` | `^4.17.5` | lodash 类型声明 |
58
- | `@types/crypto-js` | `^4.2.2` | crypto-js 类型声明 |
59
- | `ts-node` | `^10.9.2` | 开发阶段直接运行 TypeScript 代码 |
60
- | `rimraf` | `^5.0.7` | 跨平台目录清理工具,替代 `rm -rf` |
61
-
62
- ---
63
-
64
- ## 项目结构
65
-
66
- 项目采用 **模块化、低耦合、高内聚** 的分层设计。
67
-
68
- ```
69
- sino-bc-cli/
70
- ├── src/
71
- │ ├── index.ts # CLI 入口,bin 关联点
72
- │ ├── core/ # 核心模块(参数解析、帮助、命令分发、注册器)
73
- │ ├── commands/ # 命令实现(每命令一个文件)
74
- │ ├── utils/ # 可复用工具(logger / browser / crypto / http / common)
75
- │ ├── types/ # 全局接口、枚举(ICommand、LogLevel)
76
- │ └── constants/ # CLI 配置、URL、命令名称、默认值
77
- ├── dist/ # 编译产物(js + d.ts + SourceMap)
78
- ├── package.json
79
- ├── tsconfig.json
80
- └── .gitignore
81
- ```
82
-
83
- ### 架构原则
26
+ ## 调用约定
84
27
 
85
- 1. **分层清晰**:`core → commands → utils → types/constants`,上层依赖下层,单向依赖无循环
86
- 2. **低耦合**:命令互相独立,通过注册器统一管理;新增命令只需在 `commands/` 下新建文件并加入 `commands/index.ts` 数组
87
- 3. **高内聚**:每个工具类只负责单一职责
88
- 4. **可扩展**:实现 `ICommand` → 放入 `commands/index.ts` 即可自动注册;注册器支持运行时动态注册/注销
89
-
90
- ---
28
+ | 项 | 规则 |
29
+ | --- | --- |
30
+ | 环境 | `test` / `pre` / `prod`,未指明默认 `prod` |
31
+ | 网关 | `https://test-agent.beyondclick.com`(当前三环境同一地址) |
32
+ | iCenter 前缀 | `/sino-icenter` |
33
+ | 业务线前缀 | `/sino-opti-hive` |
34
+ | 鉴权 | `Authorization: Bearer <API_KEY>`;用户未给 Key 时用 CLI 内置默认值 |
35
+ | 来源头 | 必须带 `X-GATEWAY-TYPE: A2C-CLI` |
36
+ | 请求体 | 按用户条件组装;禁止原样提交文档示例账号/业务线 ID |
91
37
 
92
- ## 环境与安装
38
+ `/ic-api`、`/bc-api` 会停在「请输入序号」,且只用文档默认 body。Agent 在非 TTY 下不要跑这两条;需要真实查询时直接 HTTP。
93
39
 
94
- ### 环境要求
40
+ ## Agent 流程
95
41
 
96
- 确保已安装 **Node.js v24** 或更高版本(`npm` 建议 v10+):
42
+ 1. 对照下方意图表选定 `name`。拿不准先跑 `sino-bc-cli /api-list`。
43
+ 2. 读本地文档再组参。全局安装:`$(npm root -g)/sino-bc-cli/dist/api-doc/`;本仓库:`src/api-doc/`。`sino-bc-cli /api-list <name>` 会打开对应 markdown。
44
+ 3. 写操作(描述含 ⚠️)先向用户确认环境和意图,未确认不发。
45
+ 4. 按约定发 GET/POST,解析 `success` / `code` / `message` / `result`。
46
+ 5. 回复用业务语言摘要;文档路径写成 Markdown 链接。完整 Key 不要回显。
97
47
 
98
48
  ```bash
99
- node -v # 要求 v24.x.x 或更高
100
- npm -v
49
+ curl -sS -X POST "https://test-agent.beyondclick.com/sino-opti-hive/biz-line-open/list" \
50
+ -H "Authorization: Bearer $API_KEY" \
51
+ -H "Content-Type: application/json" \
52
+ -H "X-GATEWAY-TYPE: A2C-CLI" \
53
+ -d '{"name":"用户给出的业务线名"}'
101
54
  ```
102
55
 
103
- 版本不符时,用 [nvm](https://github.com/nvm-sh/nvm) 或 [nvm-windows](https://github.com/coreybutler/nvm-windows) 管理。
56
+ CLI 未安装:`npm i sino-bc-cli@latest -g`(需 Node.js >= 24)。技能未出现:`sino-bc-cli /init`;飞书豆包工作 → 技能·连接器 → 管理 → **本地** → 刷新。
104
57
 
105
- ### 安装与编译
58
+ ## 意图 → 接口
106
59
 
107
- ```bash
108
- npm install
109
- npm run build # 生成 dist/
110
- npm run rebuild # 清理后重新编译
111
- ```
112
-
113
- `dist/` 包含:`*.js`、`*.d.ts`、`*.js.map`。
60
+ ### iCenter MCP(`/ic-api`,文档各一份 `<name>.md`)
114
61
 
115
- ### 开发模式(免编译)
116
-
117
- ```bash
118
- npm run dev -- --help
119
- npm run dev -- /ic-api
120
- ```
121
-
122
- ### 全局安装(推荐)
123
-
124
- ```bash
125
- # 方式一:源码目录全局链接(须先 build;Windows 下 npm link 需要管理员权限)
126
- npm run build
127
- npm link
128
-
129
- # 方式二:从 npm 安装
130
- npm i sino-bc-cli -g
131
- ```
132
-
133
- ```bash
134
- sino-bc-cli --help
135
- sino-bc-cli /init
136
- sino-bc-cli /api-list
137
- sino-bc-cli /ic-api
138
- ```
139
-
140
- `npm i -g` / `npm link` 后的 postinstall 会自动执行 `/init`,把 `SKILL.md` 写到 `~/.agents/skills/sino-bc-cli/`(以及 Codex / Cursor / Claude 目录)。飞书豆包工作:技能·连接器 → 管理 → **本地** → 刷新。未出现时再手动跑一遍 `/init`。
141
-
142
- 卸载:`npm unlink` 或 `npm uninstall -g sino-bc-cli`
143
-
144
- ### NPM 脚本
145
-
146
- ```bash
147
- npm run build # 编译到 dist/
148
- npm run dev -- [参数] # ts-node 直接跑源码
149
- npm start -- [参数] # 运行已编译 CLI(需先 build)
150
- npm run clean # 删除 dist/
151
- npm run rebuild # clean + tsc
152
- ```
153
-
154
- ---
62
+ | 用户在问 | name | 注意 |
63
+ | --- | --- | --- |
64
+ | Facebook 广告策略配置(目标/出价/受众,不含消耗) | `icenter-mcp-strategy-dimension-facebook-ad-list` | `dimensionValues` 只能有 `account_id`;账户须 `act_` 前缀;`dimensions` 非空 |
65
+ | 策略 + 成效(消耗、点击、购买等) | `icenter-mcp-strategy-metrics-facebook-ad-list` | 最多近 21 天;`indicators` 非空 |
66
+ | iCenter git 版本 | `icenter-mcp-version-query` | GET,无 body |
155
67
 
156
- ## 命令说明
68
+ ### 业务线查询(只读,文档 `biz-line-query.md`)
157
69
 
158
- ### 可用命令
70
+ | 用户在问 | name | 注意 |
71
+ | --- | --- | --- |
72
+ | 有哪些投放渠道 | `biz-line-open-channels` | GET;`code` = 业务线里的 `mediaChannelId` |
73
+ | 投放行业 / 品类树 | `biz-line-open-placement-categories` | GET;一级行业(1=APP / 2=ECBR / 3=游戏),二级=品类 |
74
+ | 业务线有哪些 / 按名或渠道筛 | `biz-line-open-list` | POST;空 `{}` = 全部 |
75
+ | 某几条业务线的周策略和表现 | `biz-line-open-strategies` | POST;必填 `bizLineIds` |
76
+ | 行业/品类里表现最好的业务线 | `biz-line-open-strategy-top` | 行业、品类至少传一个;传了行业则忽略品类 |
159
77
 
160
- | 命令 | 说明 |
161
- | :---------- | :----------------------------------------------------------------------------------------------------------------- |
162
- | `/init` | 将本包 `SKILL.md` 复制到用户主目录下的 Agent 技能目录,供飞书豆包工作 / Cursor / Claude / Codex 自动识别 |
163
- | `/api-list` | 列出全部可调用接口;Cursor / VS Code 终端中 Ctrl+单击接口名或文档路径打开本地文档,也可输入序号或传入 name |
164
- | `/ic-api` | 交互选择并调用 iCenter 接口地址;`ENV` 默认 `prod`,`API_KEY` 默认使用网关常量 |
165
- | `/bc-api` | 交互选择并调用业务线查询(5 个)/ 业务线策略(17 个)接口;路径统一带 `/sino-opti-hive` 前缀,参数同 `/ic-api` |
78
+ ### 业务线策略(文档 `biz-line-strategy.md`)
166
79
 
167
- ### 全局选项
80
+ | 用户在问 | name | 注意 |
81
+ | --- | --- | --- |
82
+ | 业务线分页列表 | `biz-line-list` | |
83
+ | 业务线详情 | `biz-line-detail` | `{ "id": <bizLineId> }` |
84
+ | 新建 / 编辑 / 切状态 / 删除业务线 | `biz-line-save` / `update` / `status-update` / `del` | ⚠️ 写操作 |
85
+ | 导出业务线列表 | `biz-line-list-export` | `result` 为文件 URL |
86
+ | 周策略分页 / 详情 / 周期列表 | `biz-line-strategy-list` / `detail` / `period-list` | |
87
+ | 新建策略前看上期摘要 | `biz-line-strategy-preview-info` | 周期为自然周 周一~周日 |
88
+ | 新建 / 编辑 / 删除策略 | `biz-line-strategy-save` / `update` / `del` | ⚠️;编辑带 `version` 乐观锁 |
89
+ | 两期策略对比 | `biz-line-strategy-compare` | |
90
+ | 策略周期消耗 | `biz-line-strategy-spend` | |
91
+ | 导出该业务线全部策略 | `biz-line-strategy-export-all` | 路径拼写是 `exprot-all`,不要改成 export |
168
92
 
169
- | 选项 | 短选项 | 说明 |
170
- | :---------- | :----- | :---------------------------------------- |
171
- | `--version` | `-v` | 显示版本信息 |
172
- | `--help` | `-h` | 显示帮助信息 |
173
- | `--debug` | `-d` | 启用 Debug 日志模式,输出更详细的运行信息 |
93
+ 红绿灯:`1`/`6` 绿,`2`/`5` 黄,`3`/`4` 红。客户满意度:`1` 满意,`2` 不满意。业务线状态:`1` 进行中 / `2` 已完成 / `3` 已暂停。
174
94
 
175
- ### 使用示例
95
+ ## 命令(给人用)
176
96
 
177
97
  ```bash
178
- sino-bc-cli --version
179
- sino-bc-cli --help
180
- sino-bc-cli /init
181
98
  sino-bc-cli /api-list
182
- sino-bc-cli /api-list 3
183
- sino-bc-cli /ic-api
184
- sino-bc-cli /ic-api test
185
- sino-bc-cli /bc-api
186
- sino-bc-cli /bc-api test
187
- sino-bc-cli --debug /ic-api
188
- sino-bc-cli -d /ic-api
189
- ```
190
-
191
- - `/init`:把 `SKILL.md` 写到 `~/.agents/skills/sino-bc-cli/`(以及 Codex / Cursor / Claude 对应目录)。`npm i sino-bc-cli -g` 的 postinstall 会自动跑一遍;飞书豆包工作请到「技能·连接器 → 管理 → 本地」刷新。Windows 使用 `%USERPROFILE%`,macOS / Linux 使用 `$HOME`。
192
- - `/api-list`:按「iCenter MCP / 业务线查询 / 业务线策略」分组列出全部可调用接口。接口名是终端超链接,文档路径可 Ctrl+单击;交互终端也可输入序号打开。传入序号或 `name` 则直接打开对应 markdown(`src/api-doc/`,安装后为 `dist/api-doc/`)。Agent 展示结果时,请把文档路径写成 Markdown 链接,方便用户点击打开。
193
- - `/ic-api`:交互选择并调用 iCenter 接口地址(默认 `prod` + 内置 API Key)
194
- - `/bc-api`:交互选择并调用 sino-opti-hive 业务线接口,按「业务线查询 / 业务线策略」分组展示。接口清单在 `src/constants/biz-line-api-doc.ts`,文档在 `src/api-doc/biz-line-query.md`、`src/api-doc/biz-line-strategy.md`。所有路径带 `/sino-opti-hive` 前缀;策略组含写操作接口,执行前先确认环境
195
- - Debug 会输出参数解析、命令注册、接口调用过程
196
-
197
- ### 跨平台兼容性
198
-
199
- | 操作系统 | 测试状态 | 打开浏览器方式 |
200
- | :--------------------------- | :------- | :----------------------------------------------------------------- |
201
- | **Windows** (10/11) | ✅ 支持 | 使用 `cmd /c start "" "url"`,已处理 URL 中 `&`/`^` 等特殊字符转义 |
202
- | **macOS** | ✅ 支持 | 使用系统 `open` 命令 |
203
- | **Linux** (Ubuntu/CentOS 等) | ✅ 支持 | 使用 `xdg-open` 命令 |
204
-
205
- 所有平台均通过 Node.js 内置 `child_process.exec` 调用,**不依赖任何 native 模块**。
206
-
207
- ---
208
-
209
- ## 扩展新命令
210
-
211
- 1. 在 `src/commands/` 下创建 `xxx.command.ts`
212
- 2. 实现 `ICommand`:`name`、`description`、`execute()`
213
- 3. 在 `src/commands/index.ts` 的 `commands` 数组中添加实例
214
-
215
- ```typescript
216
- // src/commands/example.command.ts
217
- import { ICommand } from "../types";
218
- import { logger, BrowserUtils } from "../utils";
219
-
220
- export class ExampleCommand implements ICommand {
221
- public readonly name = "example";
222
- public readonly description = "示例命令 - 打开示例网站";
223
-
224
- public async execute(args: string[]): Promise<void> {
225
- logger.info("执行示例命令,参数:", args);
226
- await BrowserUtils.openUrl("https://example.com/");
227
- }
228
- }
229
- ```
230
-
231
- ```typescript
232
- // src/commands/index.ts
233
- import { ExampleCommand } from "./example.command";
234
-
235
- export const commands: ICommand[] = [
236
- new InitCommand(),
237
- new IcApiCommand(),
238
- new ExampleCommand(),
239
- ];
240
- ```
241
-
242
- 完成后 `npm run build`,即可使用 `sino-bc-cli /example`。
243
-
244
- ### 扩展「接口调用类」命令
245
-
246
- 新增一组接口调用命令(如 `/ic-api`、`/bc-api`)时,不要重复实现调用流程,继承 `BaseApiEndpointCommand` 即可复用「解析环境与 API Key → 分组展示接口 → 发起调用 → 打印响应」:
247
-
248
- 1. 在 `src/constants/` 下新建接口清单文件,导出 `IApiDocEndpoint[]`(`group` 字段用于分组展示)
249
- 2. 在 `src/commands/` 下继承 `BaseApiEndpointCommand`,只声明 `name`、`description`、`usage`、`endpoints`、`docSource`
250
- 3. 在 `src/constants/index.ts` 的 `COMMAND_NAMES` 中登记命令名并导出清单,再加入 `commands` 数组
251
-
252
- ```typescript
253
- // src/commands/example-api.command.ts
254
- import { IApiDocEndpoint } from "../types";
255
- import { COMMAND_NAMES, EXAMPLE_APIS } from "../constants";
256
- import { BaseApiEndpointCommand } from "./api-endpoint.command";
257
-
258
- export class ExampleApiCommand extends BaseApiEndpointCommand {
259
- public readonly name: string = COMMAND_NAMES.EXAMPLE_API;
260
- public readonly description: string = "交互选择并调用示例接口";
261
- public readonly usage: string = `/${COMMAND_NAMES.EXAMPLE_API} test`;
262
- protected readonly endpoints: IApiDocEndpoint[] = EXAMPLE_APIS;
263
- protected readonly docSource: string = "src/api-doc/example.md";
264
- }
265
- ```
266
-
267
- ---
268
-
269
- ## npm 发布
270
-
271
- ### 一、发布前检查清单(必须全部通过)
272
-
273
- 首次发版请逐一核对(已在 `package.json` 和构建配置中落实):
274
-
275
- | # | 检查项 | 如何验证 | 期望结果 |
276
- | :--- | :--- | :--- | :--- |
277
- | 1 | 包名 `sino-bc-cli` 未被占用 | `npm view sino-bc-cli version` | 返回 `E404`(首次发布前)或已有版本号 |
278
- | 2 | `dist/index.js` 首行带 shebang | 打开 `dist/index.js` 看首行 | `#!/usr/bin/env node`(CLI 全局安装必须要有) |
279
- | 3 | `package.json` 含 `files` 白名单 | 查看 `package.json` 的 `files` 数组 | 只包含 `dist/`、`README.md` 等,**不要包含 `src/`、`node_modules/`、`tsconfig.json`** |
280
- | 4 | `package.json` 含 `bin` 映射 | `package.json` 的 `bin` 字段 | `"sino-bc-cli": "./dist/index.js"` |
281
- | 5 | `prepublishOnly` 钩子存在 | `package.json` scripts | `"prepublishOnly": "npm run rebuild"`(防止发布旧 dist) |
282
- | 6 | `publishConfig.access` = public | `package.json` | `"access": "public"` |
283
- | 7 | TypeScript 编译无错误 | `npm run rebuild` | 退出码 `0`,无 TS error |
284
- | 8 | CLI 冒烟测试通过 | `node dist/index.js --version` / `--help` | 正常输出版本号 / 帮助信息 |
285
- | 9 | npm 登录态 | `npm whoami` | 返回 npm 用户名(ENEEDAUTH=未登录) |
286
- | 10 | 本地无未提交脏改动(建议) | `git status` | `nothing to commit, working tree clean` |
287
-
288
- ### 二、前置条件准备
289
-
290
- 1. **npm 官方账号**:<https://www.npmjs.com/signup>,准备用户名 / 密码 / 邮箱
291
- 2. **邮箱必须已验证**:未验证发布会报 `403 Forbidden`。官网头像 → Profile,看不到 "Verify your email" 即为通过
292
- 3. **2FA(强烈建议)**:官网 Access Tokens / 2FA → Authentication Code,用 Authenticator 绑定。发布时输入 6 位 OTP
293
- 4. **Node.js**:`node -v` 建议 v24+;`npm -v` 建议 v10+
294
-
295
- ### 三、发布流程(按顺序执行)
296
-
297
- #### Step 0:切到项目目录并拉取最新代码
298
-
299
- ```powershell
300
- cd d:\Project\demo\sino-bc-cli
301
-
302
- git checkout main
303
- git pull origin main
304
- ```
305
-
306
- #### Step 1:确认 registry 指向 npm 官方(最容易踩坑)
307
-
308
- 很多开发者默认把 registry 设为淘宝镜像或公司 Nexus。发布时不切回官方,要么失败,要么发到私服而不自知。
309
-
310
- ```powershell
311
- npm config get registry
312
- ```
313
-
314
- | 输出 | 状态 | 下一步 |
315
- | :--- | :--- | :--- |
316
- | `https://registry.npmjs.org/` | ✅ 正确 | 跳到 Step 2 |
317
- | `https://registry.npmmirror.com/` | ⚠️ 淘宝镜像 | 执行下方切换 |
318
- | `http://nexus.xxx.com/...` | ⚠️ 公司私服 | 执行下方切换(发完再切回) |
319
- | 其他 | ⚠️ 自定义源 | 执行下方切换 |
320
-
321
- ```powershell
322
- npm config set registry "https://registry.npmjs.org/"
323
- npm config get registry
324
- # 输出: https://registry.npmjs.org/
325
- ```
326
-
327
- 既要发官方 npm 又要保留镜像加速:平时保持淘宝镜像,发布时用 `npm publish --registry=https://registry.npmjs.org/` **单次指定**,不改全局配置。
328
-
329
- #### Step 2:登录 npm 账号
330
-
331
- Windows 下必须加 `--auth-type=legacy`。不加时新版 npm (v9+) 会走浏览器扫码/回环回调,在 PowerShell/企业终端下经常卡死。
332
-
333
- ```powershell
334
- npm login --auth-type=legacy --registry=https://registry.npmjs.org/
335
- ```
336
-
337
- 按提示手动输入(脚本无法自动化):
338
-
339
- ```
340
- Username: 你的 npm 用户名(区分大小写)
341
- Password: 你的 npm 密码 (输入时不显示任何字符,正常)
342
- Email: (this IS public) 你注册的邮箱
343
- Enter one-time password: 123456 (只有开了 2FA 才会出现,没开跳过)
344
- ```
345
-
346
- ```powershell
347
- npm whoami
348
- ```
349
-
350
- 仍报 `ENEEDAUTH` → registry 对不上,重做 Step 1 + Step 2。
351
-
352
- #### Step 3:确认 / 升级版本号
353
-
354
- **首次发布**:`package.json` 中 `1.0.0` 可直接用。
355
-
356
- **后续迭代**:同一版本号一旦发布就不能覆盖(立刻 unpublish 也不行),必须严格递增。
357
-
358
- | 升级类型 | 含义 | 示例 | 命令 |
359
- | :--- | :--- | :--- | :--- |
360
- | **patch** 补丁 | 修 bug、微调文档 | `1.0.0 → 1.0.1` | `npm version patch` |
361
- | **minor** 次版本 | 新增功能,向下兼容 | `1.0.0 → 1.1.0` | `npm version minor` |
362
- | **major** 主版本 | 破坏性变更 / 架构升级 | `1.0.0 → 2.0.0` | `npm version major` |
363
-
364
- 日常发版优先用下方「一行命令」脚本。
365
-
366
- #### Step 4:Dry-Run 打包预览(强烈建议)
367
-
368
- ```powershell
369
- npm pack --dry-run
370
- ```
371
-
372
- 正常末尾类似:`sino-bc-cli@1.0.0`、约 47 个文件、包大小约 30.7 kB。
373
-
374
- 不合格则暂停:
375
-
376
- - 出现 `src/`、`tsconfig.json`、`.gitignore`、`node_modules/` → 漏配 `files` 白名单
377
- - 包大小 > 500KB → 很可能打包了不该打包的内容
378
- - `dist/` 文件数量 < 10 → 编译不完整,执行 `npm run rebuild`
379
-
380
- #### Step 5:执行发布
381
-
382
- ```powershell
383
- npm publish --access public
384
- ```
385
-
386
- 开了 2FA 会再要 6 位 OTP。正常 10~30 秒:
387
-
388
- 1. 触发 `prepublishOnly` → `npm run rebuild`
389
- 2. checksum → 上传 tgz
390
- 3. 成功时出现 `+ sino-bc-cli@x.y.z`
391
-
392
- #### Step 6:发布后验证(3 步不可省)
393
-
394
- **① 官网版本**
395
-
396
- ```powershell
397
- npm view sino-bc-cli version
398
- ```
399
-
400
- 仍 E404:等 1 分钟;确认 registry 是官方源;或打开 <https://www.npmjs.com/package/sino-bc-cli>
401
-
402
- **② npx 远程试用**
403
-
404
- ```powershell
405
- npx sino-bc-cli@latest --version
406
- npx sino-bc-cli@latest --help
407
- # npx sino-bc-cli@latest /ic-api
408
- ```
409
-
410
- **③ 浏览器打开包页**,确认 README 渲染、Version / License / Keywords、Dependencies(lodash、dayjs、axios、crypto-js、chalk、commander、open)
411
-
412
- 发布完成后把 registry 切回平时镜像:
413
-
414
- ```powershell
415
- npm config set registry https://registry.npmmirror.com
416
- ```
417
-
418
- ### 四、后续版本迭代(一行命令)
419
-
420
- `package.json` 已内置「升级版本号 + 自动编译 + 发布」脚本:
421
-
422
- ```powershell
423
- npm run release:patch # 1.0.0 → 1.0.1
424
- npm run release:minor # 1.0.0 → 1.1.0
425
- npm run release:major # 1.0.0 → 2.0.0
426
- ```
427
-
428
- 等价于:`npm version <type>`(升版本 + Git Tag)→ `prepublishOnly` / `rebuild` → `npm publish --access public`
429
-
430
- 发布完执行 `git push origin main --tags`。
431
-
432
- ### 五、发布到私有 Nexus / 企业私服(可选)
433
-
434
- #### 5.1 发布侧
435
-
436
- 确认私服是 **npm-hosted**(不要用 raw-release / maven 仓库):
437
-
438
- ```powershell
439
- npm login --auth-type=legacy --registry=https://nexus.your-company.com/repository/npm-hosted/
440
- npm publish --access restricted --registry=https://nexus.your-company.com/repository/npm-hosted/
441
- ```
442
-
443
- `--registry` 只对这一次生效,避免污染全局。
444
-
445
- #### 5.2 安装侧
446
-
447
- **不要只设 `--registry=私服地址`**,否则公共依赖也会去私服解析,未代理时 `lodash/dayjs/axios` 会 404。
448
-
449
- **推荐(Nexus 侧)**:运维建 **npm-group**,把 `npm-hosted` + `npm-proxy(代理 https://registry.npmjs.org/)` 加入 group。客户端 registry 只指向 npm-group;发布用 npm-hosted,安装用 npm-group。
450
-
451
- **应急(未做 group)**:平时 registry 保持官方 / 淘宝镜像;私有包用 `@company/sino-bc-cli` scope,客户端 `.npmrc`:
452
-
453
- ```ini
454
- @company:registry=https://nexus.your-company.com/repository/npm-hosted/
455
- ```
456
-
457
- 这样 scoped 包走私服,公共依赖走官方。
458
-
459
- ### 六、常见报错速查表
460
-
461
- | 错误码 / 关键字 | 原因 | 解决方案 |
462
- | :--- | :--- | :--- |
463
- | **`ENEEDAUTH`** | 未登录或登录态过期 | `npm login --auth-type=legacy`;确认 registry 一致 |
464
- | **`E403 Forbidden`** | ① 邮箱未验证 ② 无该包权限 ③ OTP 错 ④ 包名被占用 | ① 官网验证邮箱 ② owner 加 Maintainer ③ 等 30 秒重输 OTP ④ 改名或发 `@你的用户名/sino-bc-cli` |
465
- | **`EPUBLISHCONFLICT`** / `cannot publish over previously published version` | 版本号已发过 | `npm version patch` 再发(npm 不允许覆盖同版本) |
466
- | **`E404`(发布时)** | registry 指向私服且没权限 | 切到 `https://registry.npmjs.org/` |
467
- | **`E404`(安装时,包已发成功)** | 安装方 registry 不在官方 / 私服没同步 | `npm i sino-bc-cli -g --registry=https://registry.npmjs.org/` |
468
- | **`E500` / `ETIMEDOUT` / `ECONNRESET`** | 网络抖动、被墙、内网限流 | 重试 2~3 次;开代理;`npm config set proxy http://x.x.x.x:port` |
469
- | **登录时浏览器弹出但终端卡住** | npm v9+ web auth 被防火墙/终端拦 | `npm login --auth-type=legacy` |
470
- | **`You cannot publish over previously published version`** | unpublish 后同一天重发同版本 | unpublish 后 **24 小时内不能重发同版本**,升版本或等 24h |
471
- | **Windows 下 `cmd /c start` 打开浏览器失败** | 本地 `open` / `child_process` 权限 | CLI 已用 `child_process.exec(cmd /c start)` 兼容;仍失败则手动访问命令 URL |
472
-
473
- ### 七、回滚 / 撤销发布
474
-
475
- 谨慎:同一版本 unpublish 后 24h 禁发;整包 unpublish 72h 后还不能重发同名。能靠升版本号修复就不要 unpublish。
476
-
477
- ```powershell
478
- # 撤销某一个版本
479
- npm unpublish sino-bc-cli@1.0.0
480
-
481
- # 撤销整个包
482
- npm unpublish sino-bc-cli --force
483
-
484
- # 更温和:废弃(推荐)
485
- npm deprecate sino-bc-cli@1.0.0 "严重 Bug,请升级到 1.0.1"
486
- npm deprecate sino-bc-cli@* "此包已废弃,请使用 @newscope/sino-bc-cli"
99
+ sino-bc-cli /api-list biz-line-open-list
100
+ sino-bc-cli /ic-api test # 交互;默认文档示例 body
101
+ sino-bc-cli /bc-api --env=prod
102
+ sino-bc-cli /init
487
103
  ```
488
104
 
489
- ### 附录:关键配置位置
490
-
491
- | 配置项 | 位置 |
492
- | :--- | :--- |
493
- | 项目版本号 / 依赖 / scripts | `package.json` |
494
- | 发版白名单 files / publishConfig | `package.json` 的 `files` + `publishConfig` |
495
- | TypeScript 编译配置 | `tsconfig.json` |
496
- | CLI 入口(带 shebang) | `src/index.ts` → 编译后 `dist/index.js` |
497
- | 网关 / 命令常量 | `src/constants/index.ts`、`src/constants/gateway.ts` |
498
-
499
- ---
500
-
501
- ## License
105
+ ## Common Mistakes
502
106
 
503
- MIT License
107
+ | 错误 | 正确做法 |
108
+ | --- | --- |
109
+ | 非 TTY 执行 `/ic-api`、`/bc-api` 卡住 | 直接 HTTP;只用 `/api-list` 发现接口 |
110
+ | 用文档里的 `act_…` / `bizLineId: 1251` | 换成用户给出的账户或业务线 |
111
+ | 成效接口一次查超过 21 天 | 拆段或改查维度接口 |
112
+ | 漏 `X-GATEWAY-TYPE` 或路径前缀 | 带 `A2C-CLI`;iCenter / 业务线分别加对应前缀 |
113
+ | 未确认就调 save/update/del | 先确认环境与写操作 |
114
+ | 把 `exprot-all` 改成 `export-all` | 按服务端拼写调用 |
@@ -14,7 +14,7 @@
14
14
 
15
15
  数据来源:[ContextForge MCP Gateway Admin - Tools](https://o-test-sino-mcp-gateway.meetsocial.cn/admin/?tools_page=2&tools_size=10&tools_inactive=false#tools)
16
16
 
17
- 筛选规则:`name` 以 `icenter-mcp-` 开头。当前共 **3** 个接口,每个接口一份独立文档。
17
+ 筛选规则:`name` 以 `icenter-mcp-` 开头。当前共 **3** 个接口,每个接口一份独立文档。所有路径经网关调用时统一带 `/sino-icenter` 路由前缀,例如 `/sino-icenter/version`。
18
18
 
19
19
  | 文档 | name | 展示名 | 方法 | 说明 |
20
20
  | --- | --- | --- | --- | --- |
@@ -11,11 +11,11 @@
11
11
  ## 接口地址
12
12
 
13
13
  ```
14
- https://o-test-tc-sino-icenter.meetsocial.com/icenter/mcp/strategy/dimension/facebook/ad/list
14
+ https://o-test-tc-sino-icenter.meetsocial.com/sino-icenter/mcp/strategy/dimension/facebook/ad/list
15
15
  ```
16
16
 
17
17
  - **baseUrl**:`https://o-test-tc-sino-icenter.meetsocial.com`
18
- - **path**:`/icenter/mcp/strategy/dimension/facebook/ad/list`
18
+ - **path**:`/sino-icenter/mcp/strategy/dimension/facebook/ad/list`
19
19
 
20
20
  ## 说明
21
21
 
@@ -11,11 +11,11 @@
11
11
  ## 接口地址
12
12
 
13
13
  ```
14
- https://o-test-tc-sino-icenter.meetsocial.com/icenter/mcp/strategy/metrics/facebook/ad/list
14
+ https://o-test-tc-sino-icenter.meetsocial.com/sino-icenter/mcp/strategy/metrics/facebook/ad/list
15
15
  ```
16
16
 
17
17
  - **baseUrl**:`https://o-test-tc-sino-icenter.meetsocial.com`
18
- - **path**:`/icenter/mcp/strategy/metrics/facebook/ad/list`
18
+ - **path**:`/sino-icenter/mcp/strategy/metrics/facebook/ad/list`
19
19
 
20
20
  ## 说明
21
21
 
@@ -11,11 +11,11 @@
11
11
  ## 接口地址
12
12
 
13
13
  ```
14
- https://o-test-tc-sino-icenter.meetsocial.com/icenter/version
14
+ https://o-test-tc-sino-icenter.meetsocial.com/sino-icenter/version
15
15
  ```
16
16
 
17
17
  - **baseUrl**:`https://o-test-tc-sino-icenter.meetsocial.com`
18
- - **path**:`/icenter/version`
18
+ - **path**:`/sino-icenter/version`
19
19
 
20
20
  ## 说明
21
21
 
@@ -32,7 +32,7 @@ https://o-test-tc-sino-icenter.meetsocial.com/icenter/version
32
32
  ## 请求示例
33
33
 
34
34
  ```http
35
- GET /icenter/version HTTP/1.1
35
+ GET /sino-icenter/version HTTP/1.1
36
36
  Host: o-test-tc-sino-icenter.meetsocial.com
37
37
  ```
38
38
 
@@ -4,6 +4,7 @@ import { BaseApiEndpointCommand } from './api-endpoint.command';
4
4
  * 调用 iCenter 接口地址命令
5
5
  * 命令名称: /ic-api
6
6
  * 功能: 交互选择 api-doc 中的 iCenter 接口,向对应接口地址发起调用
7
+ * 所有路径统一带 /sino-icenter 网关路由前缀
7
8
  */
8
9
  export declare class IcApiCommand extends BaseApiEndpointCommand {
9
10
  /** 命令名称 */
@@ -7,6 +7,7 @@ const api_endpoint_command_1 = require("./api-endpoint.command");
7
7
  * 调用 iCenter 接口地址命令
8
8
  * 命令名称: /ic-api
9
9
  * 功能: 交互选择 api-doc 中的 iCenter 接口,向对应接口地址发起调用
10
+ * 所有路径统一带 /sino-icenter 网关路由前缀
10
11
  */
11
12
  class IcApiCommand extends api_endpoint_command_1.BaseApiEndpointCommand {
12
13
  /** 命令名称 */
@@ -1 +1 @@
1
- {"version":3,"file":"ic-api.command.js","sourceRoot":"","sources":["../../src/commands/ic-api.command.ts"],"names":[],"mappings":";;;AACA,4CAA+D;AAC/D,iEAAgE;AAEhE;;;;GAIG;AACH,MAAa,YAAa,SAAQ,6CAAsB;IACtD,WAAW;IACK,IAAI,GAAW,yBAAa,CAAC,MAAM,CAAC;IAEpD,WAAW;IACK,WAAW,GAAW,mCAAmC,CAAC;IAE1E,aAAa;IACG,KAAK,GAAW;OAC3B,yBAAa,CAAC,MAAM;OACpB,yBAAa,CAAC,MAAM;OACpB,yBAAa,CAAC,MAAM;mBACR,yBAAa,CAAC,MAAM;GACpC,CAAC;IAEF,cAAc;IACK,SAAS,GAAsB,4BAAgB,CAAC;IAEnE,eAAe;IACI,SAAS,GAAW,aAAa,CAAC;CACtD;AApBD,oCAoBC"}
1
+ {"version":3,"file":"ic-api.command.js","sourceRoot":"","sources":["../../src/commands/ic-api.command.ts"],"names":[],"mappings":";;;AACA,4CAA+D;AAC/D,iEAAgE;AAEhE;;;;;GAKG;AACH,MAAa,YAAa,SAAQ,6CAAsB;IACtD,WAAW;IACK,IAAI,GAAW,yBAAa,CAAC,MAAM,CAAC;IAEpD,WAAW;IACK,WAAW,GAAW,mCAAmC,CAAC;IAE1E,aAAa;IACG,KAAK,GAAW;OAC3B,yBAAa,CAAC,MAAM;OACpB,yBAAa,CAAC,MAAM;OACpB,yBAAa,CAAC,MAAM;mBACR,yBAAa,CAAC,MAAM;GACpC,CAAC;IAEF,cAAc;IACK,SAAS,GAAsB,4BAAgB,CAAC;IAEnE,eAAe;IACI,SAAS,GAAW,aAAa,CAAC;CACtD;AApBD,oCAoBC"}
@@ -1,4 +1,9 @@
1
1
  import { IApiDocEndpoint } from '../types';
2
+ /**
3
+ * iCenter 服务在网关上的路由前缀
4
+ * 所有 iCenter 接口的相对路径都需要带上该前缀
5
+ */
6
+ export declare const SINO_ICENTER_PREFIX = "/sino-icenter";
2
7
  /** iCenter MCP 接口分组名称,用于 /api-list 分节展示 */
3
8
  export declare const ICENTER_GROUP = "iCenter MCP";
4
9
  /**
@@ -1,8 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ICENTER_MCP_APIS = exports.ICENTER_GROUP = void 0;
3
+ exports.ICENTER_MCP_APIS = exports.ICENTER_GROUP = exports.SINO_ICENTER_PREFIX = void 0;
4
+ /**
5
+ * iCenter 服务在网关上的路由前缀
6
+ * 所有 iCenter 接口的相对路径都需要带上该前缀
7
+ */
8
+ exports.SINO_ICENTER_PREFIX = '/sino-icenter';
4
9
  /** iCenter MCP 接口分组名称,用于 /api-list 分节展示 */
5
10
  exports.ICENTER_GROUP = 'iCenter MCP';
11
+ /**
12
+ * 拼接带 sino-icenter 前缀的接口路径
13
+ * @param path 接口文档中的原始路径(以 / 开头)
14
+ */
15
+ function icenterPath(path) {
16
+ return `${exports.SINO_ICENTER_PREFIX}${path}`;
17
+ }
6
18
  /**
7
19
  * iCenter MCP 可调用接口清单
8
20
  * 与 src/api-doc/README.md 及各接口文档中的请求示例保持一致
@@ -14,7 +26,7 @@ exports.ICENTER_MCP_APIS = [
14
26
  description: '查询广告策略配置(不含成效指标)',
15
27
  group: exports.ICENTER_GROUP,
16
28
  method: 'POST',
17
- path: '/icenter/mcp/strategy/dimension/facebook/ad/list',
29
+ path: icenterPath('/mcp/strategy/dimension/facebook/ad/list'),
18
30
  timeout: 20000,
19
31
  // 默认请求体取自文档「请求示例」
20
32
  defaultBody: {
@@ -44,7 +56,7 @@ exports.ICENTER_MCP_APIS = [
44
56
  description: '查询策略维度 + 成效指标(最多近 21 天)',
45
57
  group: exports.ICENTER_GROUP,
46
58
  method: 'POST',
47
- path: '/icenter/mcp/strategy/metrics/facebook/ad/list',
59
+ path: icenterPath('/mcp/strategy/metrics/facebook/ad/list'),
48
60
  timeout: 20000,
49
61
  // 默认请求体取自文档「请求示例」
50
62
  defaultBody: {
@@ -78,7 +90,7 @@ exports.ICENTER_MCP_APIS = [
78
90
  description: '查询 iCenter 服务 git 最新提交版本',
79
91
  group: exports.ICENTER_GROUP,
80
92
  method: 'GET',
81
- path: '/icenter/version',
93
+ path: icenterPath('/version'),
82
94
  timeout: 20000,
83
95
  },
84
96
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"api-doc.js","sourceRoot":"","sources":["../../src/constants/api-doc.ts"],"names":[],"mappings":";;;AAEA,2CAA2C;AAC9B,QAAA,aAAa,GAAG,aAAa,CAAC;AAE3C;;;GAGG;AACU,QAAA,gBAAgB,GAAsB;IACjD;QACE,IAAI,EAAE,iDAAiD;QACvD,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,kBAAkB;QAC/B,KAAK,EAAE,qBAAa;QACpB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,kDAAkD;QACxD,OAAO,EAAE,KAAK;QACd,kBAAkB;QAClB,WAAW,EAAE;YACX,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE;gBACf,UAAU,EAAE,CAAC,sBAAsB,CAAC;aACrC;YACD,UAAU,EAAE;gBACV,YAAY;gBACZ,OAAO;gBACP,SAAS;gBACT,WAAW;gBACX,mBAAmB;gBACnB,cAAc;gBACd,eAAe;aAChB;YACD,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;SACT;KACF;IACD;QACE,IAAI,EAAE,+CAA+C;QACrD,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,yBAAyB;QACtC,KAAK,EAAE,qBAAa;QACpB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,gDAAgD;QACtD,OAAO,EAAE,KAAK;QACd,kBAAkB;QAClB,WAAW,EAAE;YACX,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE;gBACf,UAAU,EAAE,CAAC,sBAAsB,CAAC;aACrC;YACD,UAAU,EAAE;gBACV,YAAY;gBACZ,WAAW;gBACX,mBAAmB;gBACnB,cAAc;aACf;YACD,UAAU,EAAE;gBACV,WAAW;gBACX,aAAa;gBACb,QAAQ;gBACR,UAAU;gBACV,gBAAgB;aACjB;YACD,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;SACT;KACF;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,qBAAa;QACpB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,KAAK;KACf;CACF,CAAC"}
1
+ {"version":3,"file":"api-doc.js","sourceRoot":"","sources":["../../src/constants/api-doc.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACU,QAAA,mBAAmB,GAAG,eAAe,CAAC;AAEnD,2CAA2C;AAC9B,QAAA,aAAa,GAAG,aAAa,CAAC;AAE3C;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,GAAG,2BAAmB,GAAG,IAAI,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACU,QAAA,gBAAgB,GAAsB;IACjD;QACE,IAAI,EAAE,iDAAiD;QACvD,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,kBAAkB;QAC/B,KAAK,EAAE,qBAAa;QACpB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,WAAW,CAAC,0CAA0C,CAAC;QAC7D,OAAO,EAAE,KAAK;QACd,kBAAkB;QAClB,WAAW,EAAE;YACX,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE;gBACf,UAAU,EAAE,CAAC,sBAAsB,CAAC;aACrC;YACD,UAAU,EAAE;gBACV,YAAY;gBACZ,OAAO;gBACP,SAAS;gBACT,WAAW;gBACX,mBAAmB;gBACnB,cAAc;gBACd,eAAe;aAChB;YACD,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;SACT;KACF;IACD;QACE,IAAI,EAAE,+CAA+C;QACrD,WAAW,EAAE,kBAAkB;QAC/B,WAAW,EAAE,yBAAyB;QACtC,KAAK,EAAE,qBAAa;QACpB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,WAAW,CAAC,wCAAwC,CAAC;QAC3D,OAAO,EAAE,KAAK;QACd,kBAAkB;QAClB,WAAW,EAAE;YACX,SAAS,EAAE,YAAY;YACvB,OAAO,EAAE,YAAY;YACrB,eAAe,EAAE;gBACf,UAAU,EAAE,CAAC,sBAAsB,CAAC;aACrC;YACD,UAAU,EAAE;gBACV,YAAY;gBACZ,WAAW;gBACX,mBAAmB;gBACnB,cAAc;aACf;YACD,UAAU,EAAE;gBACV,WAAW;gBACX,aAAa;gBACb,QAAQ;gBACR,UAAU;gBACV,gBAAgB;aACjB;YACD,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;SACT;KACF;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,0BAA0B;QACvC,KAAK,EAAE,qBAAa;QACpB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC;QAC7B,OAAO,EAAE,KAAK;KACf;CACF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ICLIConfig } from '../types';
2
2
  export { GATEWAY_CONFIG, DEFAULT_API_KEY, GATEWAY_TYPE_HEADER, GATEWAY_TYPE_VALUE, getGatewayConfig, getGatewayBaseUrl, isEnvName, joinGatewayUrl, } from './gateway';
3
- export { ICENTER_GROUP, ICENTER_MCP_APIS } from './api-doc';
3
+ export { ICENTER_GROUP, ICENTER_MCP_APIS, SINO_ICENTER_PREFIX } from './api-doc';
4
4
  export { BIZ_LINE_APIS, BIZ_LINE_GROUPS, SINO_OPTI_HIVE_PREFIX, } from './biz-line-api-doc';
5
5
  export { getApiCatalog, getGroupCommand, resolveApiDocDir, toFileUrl, findDocHeadingLine, } from './api-catalog';
6
6
  export type { IApiCatalogItem } from './api-catalog';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_CONFIG = exports.COMMAND_NAMES = exports.CLI_CONFIG = exports.findDocHeadingLine = exports.toFileUrl = exports.resolveApiDocDir = exports.getGroupCommand = exports.getApiCatalog = exports.SINO_OPTI_HIVE_PREFIX = exports.BIZ_LINE_GROUPS = exports.BIZ_LINE_APIS = exports.ICENTER_MCP_APIS = exports.ICENTER_GROUP = exports.joinGatewayUrl = exports.isEnvName = exports.getGatewayBaseUrl = exports.getGatewayConfig = exports.GATEWAY_TYPE_VALUE = exports.GATEWAY_TYPE_HEADER = exports.DEFAULT_API_KEY = exports.GATEWAY_CONFIG = void 0;
3
+ exports.DEFAULT_CONFIG = exports.COMMAND_NAMES = exports.CLI_CONFIG = exports.findDocHeadingLine = exports.toFileUrl = exports.resolveApiDocDir = exports.getGroupCommand = exports.getApiCatalog = exports.SINO_OPTI_HIVE_PREFIX = exports.BIZ_LINE_GROUPS = exports.BIZ_LINE_APIS = exports.SINO_ICENTER_PREFIX = exports.ICENTER_MCP_APIS = exports.ICENTER_GROUP = exports.joinGatewayUrl = exports.isEnvName = exports.getGatewayBaseUrl = exports.getGatewayConfig = exports.GATEWAY_TYPE_VALUE = exports.GATEWAY_TYPE_HEADER = exports.DEFAULT_API_KEY = exports.GATEWAY_CONFIG = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  var gateway_1 = require("./gateway");
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "joinGatewayUrl", { enumerable: true, get: functi
15
15
  var api_doc_1 = require("./api-doc");
16
16
  Object.defineProperty(exports, "ICENTER_GROUP", { enumerable: true, get: function () { return api_doc_1.ICENTER_GROUP; } });
17
17
  Object.defineProperty(exports, "ICENTER_MCP_APIS", { enumerable: true, get: function () { return api_doc_1.ICENTER_MCP_APIS; } });
18
+ Object.defineProperty(exports, "SINO_ICENTER_PREFIX", { enumerable: true, get: function () { return api_doc_1.SINO_ICENTER_PREFIX; } });
18
19
  var biz_line_api_doc_1 = require("./biz-line-api-doc");
19
20
  Object.defineProperty(exports, "BIZ_LINE_APIS", { enumerable: true, get: function () { return biz_line_api_doc_1.BIZ_LINE_APIS; } });
20
21
  Object.defineProperty(exports, "BIZ_LINE_GROUPS", { enumerable: true, get: function () { return biz_line_api_doc_1.BIZ_LINE_GROUPS; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA4B;AAG5B,qCASmB;AARjB,yGAAA,cAAc,OAAA;AACd,0GAAA,eAAe,OAAA;AACf,8GAAA,mBAAmB,OAAA;AACnB,6GAAA,kBAAkB,OAAA;AAClB,2GAAA,gBAAgB,OAAA;AAChB,4GAAA,iBAAiB,OAAA;AACjB,oGAAA,SAAS,OAAA;AACT,yGAAA,cAAc,OAAA;AAEhB,qCAA4D;AAAnD,wGAAA,aAAa,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AACxC,uDAI4B;AAH1B,iHAAA,aAAa,OAAA;AACb,mHAAA,eAAe,OAAA;AACf,yHAAA,qBAAqB,OAAA;AAEvB,6CAMuB;AALrB,4GAAA,aAAa,OAAA;AACb,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,wGAAA,SAAS,OAAA;AACT,iHAAA,kBAAkB,OAAA;AAIpB;;;GAGG;AACH,SAAS,kBAAkB;IACzB,MAAM,UAAU,GAAG;QACjB,IAAA,WAAI,EAAC,SAAS,EAAE,oBAAoB,CAAC;QACrC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC;KACnC,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAGpD,CAAC;YACF,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9C,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACU,QAAA,UAAU,GAAe;IACpC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,kBAAkB,EAAE;IAC7B,WAAW,EAAE,mDAAmD;CACjE,CAAC;AAEF;;;GAGG;AACU,QAAA,aAAa,GAAG;IAC3B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,cAAc;IACd,OAAO,EAAE,SAAS;IAClB,aAAa;IACb,QAAQ,EAAE,MAAM;IAChB,mBAAmB;IACnB,OAAO,EAAE,KAAK;CACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAA4B;AAG5B,qCASmB;AARjB,yGAAA,cAAc,OAAA;AACd,0GAAA,eAAe,OAAA;AACf,8GAAA,mBAAmB,OAAA;AACnB,6GAAA,kBAAkB,OAAA;AAClB,2GAAA,gBAAgB,OAAA;AAChB,4GAAA,iBAAiB,OAAA;AACjB,oGAAA,SAAS,OAAA;AACT,yGAAA,cAAc,OAAA;AAEhB,qCAAiF;AAAxE,wGAAA,aAAa,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAC7D,uDAI4B;AAH1B,iHAAA,aAAa,OAAA;AACb,mHAAA,eAAe,OAAA;AACf,yHAAA,qBAAqB,OAAA;AAEvB,6CAMuB;AALrB,4GAAA,aAAa,OAAA;AACb,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,wGAAA,SAAS,OAAA;AACT,iHAAA,kBAAkB,OAAA;AAIpB;;;GAGG;AACH,SAAS,kBAAkB;IACzB,MAAM,UAAU,GAAG;QACjB,IAAA,WAAI,EAAC,SAAS,EAAE,oBAAoB,CAAC;QACrC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC;KACnC,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAGpD,CAAC;YACF,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9C,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACU,QAAA,UAAU,GAAe;IACpC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,kBAAkB,EAAE;IAC7B,WAAW,EAAE,mDAAmD;CACjE,CAAC;AAEF;;;GAGG;AACU,QAAA,aAAa,GAAG;IAC3B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX;;GAEG;AACU,QAAA,cAAc,GAAG;IAC5B,cAAc;IACd,OAAO,EAAE,SAAS;IAClB,aAAa;IACb,QAAQ,EAAE,MAAM;IAChB,mBAAmB;IACnB,OAAO,EAAE,KAAK;CACN,CAAC"}
@@ -4,16 +4,12 @@
4
4
  export declare const SKILL_FOLDER_NAME = "sino-bc-cli";
5
5
  /**
6
6
  * 用户级技能扫描目录(相对 os.homedir())
7
- * 飞书豆包工作会聚合 ~/.agents/skills 与 ~/.codex/skills;独立豆包客户端扫描 ~/Doubao/skills
7
+ * 飞书豆包工作会聚合 ~/.agents/skills 与 ~/.codex/skills
8
8
  */
9
9
  export declare const AGENT_SKILL_TARGETS: readonly [{
10
10
  readonly id: "agents";
11
11
  readonly segments: readonly [".agents", "skills"];
12
12
  readonly label: "通用 / 飞书豆包工作";
13
- }, {
14
- readonly id: "doubao";
15
- readonly segments: readonly ["Doubao", "skills"];
16
- readonly label: "豆包";
17
13
  }, {
18
14
  readonly id: "codex";
19
15
  readonly segments: readonly [".codex", "skills"];
@@ -47,11 +47,10 @@ const path_1 = require("path");
47
47
  exports.SKILL_FOLDER_NAME = 'sino-bc-cli';
48
48
  /**
49
49
  * 用户级技能扫描目录(相对 os.homedir())
50
- * 飞书豆包工作会聚合 ~/.agents/skills 与 ~/.codex/skills;独立豆包客户端扫描 ~/Doubao/skills
50
+ * 飞书豆包工作会聚合 ~/.agents/skills 与 ~/.codex/skills
51
51
  */
52
52
  exports.AGENT_SKILL_TARGETS = [
53
53
  { id: 'agents', segments: ['.agents', 'skills'], label: '通用 / 飞书豆包工作' },
54
- { id: 'doubao', segments: ['Doubao', 'skills'], label: '豆包' },
55
54
  { id: 'codex', segments: ['.codex', 'skills'], label: 'Codex' },
56
55
  { id: 'cursor', segments: ['.cursor', 'skills'], label: 'Cursor' },
57
56
  { id: 'claude', segments: ['.claude', 'skills'], label: 'Claude Code' },
@@ -1 +1 @@
1
- {"version":3,"file":"skill-install.js","sourceRoot":"","sources":["../../src/utils/skill-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-install.js","sourceRoot":"","sources":["../../src/utils/skill-install.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sino-bc-cli",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "BeyondClick CLI - 命令行工具集合,提供快捷访问 BeyondClick 平台的命令行接口",
5
5
  "preferGlobal": true,
6
6
  "bin": {