@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.
- package/README.md +115 -27
- package/dist/cli.js +2748 -48
- package/docs/commands.md +150 -10
- package/package.json +17 -1
package/docs/commands.md
CHANGED
|
@@ -7,27 +7,43 @@
|
|
|
7
7
|
|
|
8
8
|
## 对外 CLI
|
|
9
9
|
|
|
10
|
-
### `adcli
|
|
10
|
+
### `adcli list`
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
列出当前支持的广告平台和能力。
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
adcli
|
|
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
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
|
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.
|
|
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
|
}
|