@jiangzhx/adcli 0.1.1 → 0.1.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.
Files changed (4) hide show
  1. package/README.md +115 -27
  2. package/dist/cli.js +2748 -48
  3. package/docs/commands.md +150 -10
  4. package/package.json +17 -1
package/docs/commands.md CHANGED
@@ -7,27 +7,43 @@
7
7
 
8
8
  ## 对外 CLI
9
9
 
10
- ### `adcli doc search`
10
+ ### `adcli list`
11
11
 
12
- 搜索已经发布到线上 docs pack 的广告平台文档。全局安装后直接使用:
12
+ 列出当前支持的广告平台和能力。
13
13
 
14
14
  ```bash
15
- adcli doc search "广告消耗"
15
+ adcli list
16
+ adcli list kuaishou
17
+ adcli list --json
16
18
  ```
17
19
 
18
- 项目内开发时也可以用:
20
+ 当前能力:
21
+
22
+ - `doc`: 已发布的文档查询能力,对应命令形态是 `adcli doc search <query> --platform <platform>`。
23
+
24
+ 这个命令会读取本地缓存;缓存不存在时会下载线上 `search-index.json`。
25
+
26
+ 兼容命令:
19
27
 
20
28
  ```bash
21
- bun run adcli doc search "广告消耗"
29
+ adcli doc list
30
+ ```
31
+
32
+ ### `adcli doc search`
33
+
34
+ 搜索已经发布到线上 docs pack 的广告平台文档。全局安装后直接使用:
35
+
36
+ ```bash
37
+ adcli doc search "广告消耗"
22
38
  ```
23
39
 
24
40
  支持参数:
25
41
 
26
42
  ```bash
27
- bun run adcli doc search "广告消耗" --limit 5
28
- bun run adcli doc search "广告消耗" --json
29
- bun run adcli doc search "广告消耗" --index public/search-index.json
30
- bun run adcli doc search "广告消耗" --platform tencent_ads
43
+ adcli doc search "广告消耗" --limit 5
44
+ adcli doc search "广告消耗" --json
45
+ adcli doc search "广告消耗" --index public/search-index.json
46
+ adcli doc search "广告消耗" --platform tencent_ads
31
47
  ```
32
48
 
33
49
  全局 CLI 默认读取:
@@ -36,6 +52,19 @@ bun run adcli doc search "广告消耗" --platform tencent_ads
36
52
  https://adcli.jiangzhx.com/search-index.json
37
53
  ```
38
54
 
55
+ 第一次搜索会下载索引并写入系统标准缓存目录:
56
+
57
+ - macOS: `~/Library/Caches/adcli/search-index.json`
58
+ - Linux: `${XDG_CACHE_HOME:-~/.cache}/adcli/search-index.json`
59
+ - Windows: `%LOCALAPPDATA%/adcli/Cache/search-index.json`
60
+
61
+ 主动更新缓存:
62
+
63
+ ```bash
64
+ adcli doc sync
65
+ adcli doc search "广告消耗" --refresh
66
+ ```
67
+
39
68
  也可以用环境变量覆盖:
40
69
 
41
70
  ```bash
@@ -54,6 +83,117 @@ ADCLI_SEARCH_INDEX=https://example.com/search-index.json adcli doc search "广
54
83
 
55
84
  查询词中包含平台别名时会提升对应平台的排序权重,例如 `广点通`、`腾讯广告` 会提升 `tencent_ads` 文档,但不会硬过滤其他平台。需要明确限制平台时,使用 `--platform tencent_ads`。
56
85
 
86
+ ### `adcli llms`
87
+
88
+ 输出给 AI / Agent 使用的 docs pack 入口。
89
+
90
+ ```bash
91
+ adcli llms
92
+ adcli llms --json
93
+ ```
94
+
95
+ 输出包括:
96
+
97
+ - `llms.txt`
98
+ - `llms-full.txt`
99
+ - `search-index.json`
100
+ - 各平台 index
101
+
102
+ ### `adcli prompt`
103
+
104
+ 输出一段可复制给 AI / Agent 的使用说明。
105
+
106
+ ```bash
107
+ adcli prompt
108
+ ```
109
+
110
+ 这段 prompt 会要求 AI 优先使用 AdCLI 发布的 Markdown 文档,引用具体来源,并在文档不足时明确说明缺口。
111
+
112
+ 兼容命令:
113
+
114
+ ```bash
115
+ adcli llms prompt
116
+ ```
117
+
118
+ ### `adcli oceanengine auth`
119
+
120
+ 保存巨量引擎 access token。保存后,巨量引擎相关命令可以不再重复传 `--access-token`。
121
+
122
+ ```bash
123
+ adcli oceanengine auth <token>
124
+ ```
125
+
126
+ token 会按 CLI 缓存处理,保存到 AdCLI 缓存目录下的 `oceanengine.json`。macOS 默认路径:
127
+
128
+ ```text
129
+ ~/Library/Caches/adcli/oceanengine.json
130
+ ```
131
+
132
+ token 优先级:
133
+
134
+ 1. `--access-token`
135
+ 2. `OCEANENGINE_ACCESS_TOKEN`
136
+ 3. `adcli oceanengine auth <token>` 保存的本地 token
137
+
138
+ ### `adcli oceanengine advertiser list`
139
+
140
+ 通过当前仓库内的巨量引擎 Node.js SDK 拉取授权广告主列表。
141
+
142
+ ```bash
143
+ adcli oceanengine advertiser list --access-token <token>
144
+ adcli oceanengine advertiser list --json
145
+ ```
146
+
147
+ 也可以用环境变量提供 token,或先通过 `adcli oceanengine auth <token>` 保存 token:
148
+
149
+ ```bash
150
+ OCEANENGINE_ACCESS_TOKEN=<token> adcli oceanengine advertiser list --json
151
+ ```
152
+
153
+ 对应 SDK/API:
154
+
155
+ - SDK: `Oauth2AdvertiserGetApi`
156
+ - API: `GET /open_api/oauth2/advertiser/get/`
157
+
158
+ ### `adcli oceanengine project list`
159
+
160
+ 通过当前仓库内的巨量引擎 Node.js SDK 拉取广告主下的项目列表,对应巨量引擎 OpenAPI 的 `project/list`。
161
+
162
+ ```bash
163
+ adcli oceanengine project list --advertiser-id <advertiser_id> --access-token <token>
164
+ adcli oceanengine project list --advertiser-id <advertiser_id> --page 1 --page-size 20
165
+ adcli oceanengine project list --advertiser-id <advertiser_id> --json
166
+ adcli oceanengine project list --advertiser-id <advertiser_id> --filtering '{"status":"PROJECT_STATUS_ALL"}'
167
+ adcli oceanengine project list --advertiser-id <advertiser_id> --filtering '{"status_first":"PROJECT_STATUS_ENABLE"}'
168
+ ```
169
+
170
+ 默认输出只包含 `project_id` 和 `name` 两列;使用 `--json` 打印完整原始响应。
171
+ 巨量接口默认不返回已删除项目;需要和 fujian 同步口径一致时,使用 `--filtering '{"status":"PROJECT_STATUS_ALL"}'` 拉取包含已删除项目的全量列表。
172
+
173
+ 对应 SDK/API:
174
+
175
+ - SDK: `ProjectListV30Api`
176
+ - API: `GET /open_api/v3.0/project/list/`
177
+
178
+ ### `adcli oceanengine promotion list`
179
+
180
+ 通过当前仓库内的巨量引擎 Node.js SDK 拉取广告主下的广告列表,对应巨量引擎 OpenAPI 的 `promotion/list`。
181
+
182
+ ```bash
183
+ adcli oceanengine promotion list --advertiser-id <advertiser_id> --access-token <token>
184
+ adcli oceanengine promotion list --advertiser-id <advertiser_id> --project-id <project_id>
185
+ adcli oceanengine promotion list --advertiser-id <advertiser_id> --project-id <project_id> --json
186
+ adcli oceanengine promotion list --advertiser-id <advertiser_id> --fields promotion_id,name,status_first
187
+ adcli oceanengine promotion list --advertiser-id <advertiser_id> --filtering '{"status_first":"PROMOTION_STATUS_ENABLE"}'
188
+ ```
189
+
190
+ 默认输出只包含 `promotion_id` 和 `name` 两列;使用 `--json` 打印完整原始响应。
191
+
192
+ 对应 SDK/API:
193
+
194
+ - SDK: `PromotionListV30Api`
195
+ - API: `GET /open_api/v3.0/promotion/list/`
196
+
57
197
  ## 采集命令
58
198
 
59
199
  ### `bun run discover:sources`
@@ -195,7 +335,7 @@ bun run lint
195
335
 
196
336
  ## 当前边界
197
337
 
198
- `adcli` CLI 当前只支持 `doc search`。采集、构建和校验还停留在 `bun run ...` 工程命令层。
338
+ `adcli` CLI 当前支持 `doc search`、`doc sync` 和 `llms` 入口。采集、构建和校验还停留在 `bun run ...` 工程命令层。
199
339
 
200
340
  后续如果要把项目产品化成完整 CLI,可以逐步把这些能力收进 `adcli`:
201
341
 
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "@jiangzhx/adcli",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "CLI for searching hosted advertising platform API docs.",
5
5
  "type": "module",
6
6
  "packageManager": "bun@1.3.10",
7
+ "workspaces": [
8
+ "packages/*"
9
+ ],
7
10
  "homepage": "https://github.com/jiangzhx/adcli#readme",
8
11
  "repository": {
9
12
  "type": "git",
@@ -36,7 +39,18 @@
36
39
  "adcli": "bun src/cli.ts",
37
40
  "prepack": "bun run build:cli",
38
41
  "test": "bun test tests/**/*.test.ts",
42
+ "test:all": "bun run test && bun run sdk:test && bun run codegen:test",
39
43
  "typecheck": "tsc --noEmit",
44
+ "typecheck:all": "bun run typecheck && bun run sdk:typecheck && bun run codegen:typecheck",
45
+ "sdk:oceanengine:test": "bun run --cwd packages/oceanengine-ad-open-sdk test",
46
+ "sdk:oceanengine:typecheck": "bun run --cwd packages/oceanengine-ad-open-sdk typecheck",
47
+ "sdk:test": "bun run sdk:oceanengine:test",
48
+ "sdk:typecheck": "bun run sdk:oceanengine:typecheck",
49
+ "codegen:oceanengine:generate": "bun run --cwd packages/codegen generate:oceanengine",
50
+ "codegen:oceanengine:generate:go": "bun run --cwd packages/codegen generate:oceanengine:go",
51
+ "codegen:oceanengine:test": "bun run --cwd packages/codegen test:oceanengine",
52
+ "codegen:test": "bun run --cwd packages/codegen test",
53
+ "codegen:typecheck": "bun run --cwd packages/codegen typecheck",
40
54
  "lint": "eslint"
41
55
  },
42
56
  "devDependencies": {
@@ -49,6 +63,8 @@
49
63
  "typescript-eslint": "^8.59.3"
50
64
  },
51
65
  "dependencies": {
66
+ "@jiangzhx/oceanengine-ad-open-sdk": "1.1.87-port.3",
67
+ "env-paths": "^4.0.0",
52
68
  "minisearch": "^7.2.0"
53
69
  }
54
70
  }