@jiangzhx/adcli 0.1.2 → 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 +109 -37
- package/dist/cli.js +2438 -5
- package/docs/commands.md +79 -0
- package/package.json +16 -1
package/README.md
CHANGED
|
@@ -1,94 +1,168 @@
|
|
|
1
1
|
# AdCLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
AdCLI 是一个广告平台 API 文档查询 CLI。它默认使用线上发布的文档包,帮助开发者和 AI Agent 快速定位快手磁力引擎、巨量引擎、腾讯广告等平台的接口文档。
|
|
4
|
+
|
|
5
|
+
线上文档入口:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
https://adcli.jiangzhx.com/llms.txt
|
|
9
|
+
https://adcli.jiangzhx.com/llms-full.txt
|
|
10
|
+
https://adcli.jiangzhx.com/search-index.json
|
|
11
|
+
```
|
|
4
12
|
|
|
5
13
|
项目当前是 Bun + TypeScript CLI,不使用 Next.js。
|
|
6
14
|
|
|
7
|
-
##
|
|
15
|
+
## Monorepo
|
|
16
|
+
|
|
17
|
+
当前仓库使用 Bun workspace 管理:
|
|
18
|
+
|
|
19
|
+
- 根包:`@jiangzhx/adcli`,负责 CLI 和文档包生成。
|
|
20
|
+
- SDK 子包:`packages/*`,每个媒体平台 SDK 独立维护。
|
|
21
|
+
|
|
22
|
+
已存在的 SDK:
|
|
23
|
+
|
|
24
|
+
- `packages/oceanengine-ad-open-sdk`: 巨量广告开放平台 OpenAPI SDK。
|
|
8
25
|
|
|
9
|
-
|
|
26
|
+
后续新增广点通等媒体 SDK 时,按平台官方 API 名称放到独立子包,例如 `packages/tencentad-marketing-api-sdk/`。
|
|
27
|
+
|
|
28
|
+
## 安装
|
|
10
29
|
|
|
11
30
|
```bash
|
|
12
31
|
node --version
|
|
13
32
|
npm install -g @jiangzhx/adcli
|
|
14
|
-
adcli doc search "广点通 广告消耗"
|
|
15
33
|
```
|
|
16
34
|
|
|
17
|
-
|
|
35
|
+
安装后确认:
|
|
18
36
|
|
|
19
37
|
```bash
|
|
20
|
-
|
|
38
|
+
adcli list
|
|
21
39
|
adcli doc search "广告消耗"
|
|
22
40
|
```
|
|
23
41
|
|
|
24
|
-
|
|
42
|
+
也可以从 GitHub 安装当前代码:
|
|
25
43
|
|
|
26
44
|
```bash
|
|
27
|
-
|
|
28
|
-
bun run build:cli
|
|
29
|
-
npm install -g .
|
|
30
|
-
adcli doc search "广告消耗"
|
|
45
|
+
npm install -g github:jiangzhx/adcli
|
|
31
46
|
```
|
|
32
47
|
|
|
33
|
-
|
|
48
|
+
## 常用命令
|
|
34
49
|
|
|
35
|
-
|
|
36
|
-
|
|
50
|
+
列出当前支持的平台和能力:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
adcli list
|
|
54
|
+
adcli list kuaishou
|
|
37
55
|
```
|
|
38
56
|
|
|
39
|
-
|
|
57
|
+
搜索文档:
|
|
40
58
|
|
|
41
59
|
```bash
|
|
42
|
-
adcli doc
|
|
43
|
-
adcli doc search "广告消耗" --
|
|
60
|
+
adcli doc search "广点通 广告消耗"
|
|
61
|
+
adcli doc search "广告消耗" --platform tencent_ads
|
|
62
|
+
adcli doc search "广告消耗" --limit 5
|
|
63
|
+
adcli doc search "广告消耗" --json
|
|
44
64
|
```
|
|
45
65
|
|
|
46
|
-
|
|
66
|
+
刷新本地搜索索引缓存:
|
|
47
67
|
|
|
48
68
|
```bash
|
|
49
|
-
adcli doc
|
|
69
|
+
adcli doc sync
|
|
70
|
+
adcli doc search "广告消耗" --refresh
|
|
50
71
|
```
|
|
51
72
|
|
|
52
|
-
|
|
73
|
+
输出给 AI / Agent 使用的文档入口:
|
|
53
74
|
|
|
54
75
|
```bash
|
|
55
|
-
adcli list
|
|
56
|
-
adcli list kuaishou
|
|
57
76
|
adcli llms
|
|
58
77
|
adcli prompt
|
|
59
78
|
```
|
|
60
79
|
|
|
61
|
-
|
|
80
|
+
调用巨量引擎 SDK。可以先保存一次 token,后续命令会自动读取:
|
|
81
|
+
|
|
82
|
+
| 命令 | 作用 | 默认输出 |
|
|
83
|
+
| --- | --- | --- |
|
|
84
|
+
| `adcli oceanengine auth <token>` | 保存巨量引擎 access token | 保存结果 |
|
|
85
|
+
| `adcli oceanengine advertiser list` | 拉取当前 token 授权的广告主列表 | 原始 JSON |
|
|
86
|
+
| `adcli oceanengine project list --advertiser-id <id>` | 拉取广告主下的项目列表 | `project_id`、`name` |
|
|
87
|
+
| `adcli oceanengine promotion list --advertiser-id <id>` | 拉取广告主下的广告列表 | `promotion_id`、`name` |
|
|
88
|
+
|
|
89
|
+
常用示例:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
adcli oceanengine auth <token>
|
|
93
|
+
adcli oceanengine advertiser list --json
|
|
94
|
+
adcli oceanengine project list --advertiser-id <advertiser_id> --page 1 --page-size 20
|
|
95
|
+
adcli oceanengine project list --advertiser-id <advertiser_id> --filtering '{"status":"PROJECT_STATUS_ALL"}'
|
|
96
|
+
adcli oceanengine promotion list --advertiser-id <advertiser_id> --project-id <project_id>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
token 优先级为 `--access-token`、`OCEANENGINE_ACCESS_TOKEN`、本地保存的 token。
|
|
100
|
+
本地 token 会保存到同一个 AdCLI 缓存目录,例如 macOS 上是 `~/Library/Caches/adcli/oceanengine.json`。
|
|
101
|
+
巨量 `project/list` 默认不返回已删除项目;需要包含已删除时传 `--filtering '{"status":"PROJECT_STATUS_ALL"}'`。
|
|
102
|
+
|
|
103
|
+
完整命令说明见 [docs/commands.md](docs/commands.md)。
|
|
104
|
+
|
|
105
|
+
## 搜索索引缓存
|
|
106
|
+
|
|
107
|
+
`adcli doc search` 默认读取线上索引:
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
https://adcli.jiangzhx.com/search-index.json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
第一次搜索会下载索引并缓存到系统标准缓存目录:
|
|
114
|
+
|
|
115
|
+
- macOS: `~/Library/Caches/adcli/search-index.json`
|
|
116
|
+
- Linux: `${XDG_CACHE_HOME:-~/.cache}/adcli/search-index.json`
|
|
117
|
+
- Windows: `%LOCALAPPDATA%/adcli/Cache/search-index.json`
|
|
118
|
+
|
|
119
|
+
巨量引擎 token 也按缓存处理,保存到同目录的 `oceanengine.json`。
|
|
120
|
+
|
|
121
|
+
本地调试可指定索引文件:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
adcli doc search "广告消耗" --index public/search-index.json
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 维护者工作流
|
|
128
|
+
|
|
129
|
+
安装开发依赖:
|
|
62
130
|
|
|
63
131
|
```bash
|
|
64
132
|
bun install
|
|
65
|
-
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
常用校验:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
66
138
|
bun run test
|
|
67
139
|
bun run typecheck
|
|
140
|
+
bun run sdk:test
|
|
141
|
+
bun run sdk:typecheck
|
|
68
142
|
bun run lint
|
|
143
|
+
bun run build
|
|
69
144
|
```
|
|
70
145
|
|
|
71
|
-
|
|
146
|
+
重新生成发布产物:
|
|
72
147
|
|
|
73
148
|
```bash
|
|
74
149
|
bun run build:llms all
|
|
75
150
|
```
|
|
76
151
|
|
|
77
|
-
|
|
152
|
+
只重建搜索索引:
|
|
78
153
|
|
|
79
154
|
```bash
|
|
80
155
|
bun run build:search-index
|
|
81
156
|
```
|
|
82
157
|
|
|
83
|
-
|
|
158
|
+
构建 CLI 发布文件:
|
|
84
159
|
|
|
85
160
|
```bash
|
|
86
|
-
|
|
161
|
+
bun run build:cli
|
|
162
|
+
npm pack --dry-run
|
|
87
163
|
```
|
|
88
164
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
## 产物
|
|
165
|
+
## 发布产物
|
|
92
166
|
|
|
93
167
|
```text
|
|
94
168
|
public/llms.txt
|
|
@@ -99,18 +173,16 @@ public/{platform}/manifest.json
|
|
|
99
173
|
public/{platform}/docs/{doc_id}.md
|
|
100
174
|
```
|
|
101
175
|
|
|
176
|
+
`public/` 是可发布文档包;`data/` 是维护者本地采集数据,不提交。
|
|
177
|
+
|
|
102
178
|
## 数据流
|
|
103
179
|
|
|
104
180
|
```text
|
|
105
181
|
recipes/
|
|
106
182
|
-> discover / ingest
|
|
107
|
-
-> data/sources/{platform}/{source_id}/cleaned.md
|
|
183
|
+
-> data/sources/{platform}/{source_id}/cleaned.md
|
|
108
184
|
-> build:llms
|
|
109
185
|
-> public/
|
|
110
186
|
```
|
|
111
187
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
## 未来 MCP 服务
|
|
115
|
-
|
|
116
|
-
如果后续需要 MCP,可以在当前 Bun/TypeScript 项目中增加独立服务入口,不需要恢复 Next.js。服务只读取 `public/` 下已经发布的静态文档和 manifest。
|
|
188
|
+
更多文档包说明见 [docs/llms.md](docs/llms.md)。
|