@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/README.md CHANGED
@@ -1,78 +1,168 @@
1
1
  # AdCLI
2
2
 
3
- 面向 IDE Agent 和 LLM 的广告平台 API 文档包。当前主线是把已采集的广告平台文档生成 `llms.txt`、`llms-full.txt` 和静态 Markdown 文档包。
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
- ## 安装 CLI
15
+ ## Monorepo
16
+
17
+ 当前仓库使用 Bun workspace 管理:
18
+
19
+ - 根包:`@jiangzhx/adcli`,负责 CLI 和文档包生成。
20
+ - SDK 子包:`packages/*`,每个媒体平台 SDK 独立维护。
21
+
22
+ 已存在的 SDK:
8
23
 
9
- 发布到 npm 后:
24
+ - `packages/oceanengine-ad-open-sdk`: 巨量广告开放平台 OpenAPI SDK。
25
+
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
- 从 GitHub 安装当前版本:
35
+ 安装后确认:
18
36
 
19
37
  ```bash
20
- npm install -g github:jiangzhx/adcli
38
+ adcli list
21
39
  adcli doc search "广告消耗"
22
40
  ```
23
41
 
24
- 本地开发安装:
42
+ 也可以从 GitHub 安装当前代码:
25
43
 
26
44
  ```bash
27
- bun install
28
- bun run build:cli
29
- npm install -g .
30
- adcli doc search "广告消耗"
45
+ npm install -g github:jiangzhx/adcli
46
+ ```
47
+
48
+ ## 常用命令
49
+
50
+ 列出当前支持的平台和能力:
51
+
52
+ ```bash
53
+ adcli list
54
+ adcli list kuaishou
55
+ ```
56
+
57
+ 搜索文档:
58
+
59
+ ```bash
60
+ adcli doc search "广点通 广告消耗"
61
+ adcli doc search "广告消耗" --platform tencent_ads
62
+ adcli doc search "广告消耗" --limit 5
63
+ adcli doc search "广告消耗" --json
64
+ ```
65
+
66
+ 刷新本地搜索索引缓存:
67
+
68
+ ```bash
69
+ adcli doc sync
70
+ adcli doc search "广告消耗" --refresh
71
+ ```
72
+
73
+ 输出给 AI / Agent 使用的文档入口:
74
+
75
+ ```bash
76
+ adcli llms
77
+ adcli prompt
31
78
  ```
32
79
 
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
+
33
107
  `adcli doc search` 默认读取线上索引:
34
108
 
35
109
  ```text
36
110
  https://adcli.jiangzhx.com/search-index.json
37
111
  ```
38
112
 
39
- 本地调试可指定索引:
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
+ 本地调试可指定索引文件:
40
122
 
41
123
  ```bash
42
124
  adcli doc search "广告消耗" --index public/search-index.json
43
125
  ```
44
126
 
45
- ## 常用命令
127
+ ## 维护者工作流
128
+
129
+ 安装开发依赖:
46
130
 
47
131
  ```bash
48
132
  bun install
49
- bun run build
133
+ ```
134
+
135
+ 常用校验:
136
+
137
+ ```bash
50
138
  bun run test
51
139
  bun run typecheck
140
+ bun run sdk:test
141
+ bun run sdk:typecheck
52
142
  bun run lint
143
+ bun run build
53
144
  ```
54
145
 
55
- `bun run build` 校验已提交的 `public/` 静态产物,适合部署环境。重新采集后本地生成发布产物使用:
146
+ 重新生成发布产物:
56
147
 
57
148
  ```bash
58
149
  bun run build:llms all
59
150
  ```
60
151
 
61
- 只基于当前 `public/` 重新生成搜索索引:
152
+ 只重建搜索索引:
62
153
 
63
154
  ```bash
64
155
  bun run build:search-index
65
156
  ```
66
157
 
67
- 本地搜索已发布文档:
158
+ 构建 CLI 发布文件:
68
159
 
69
160
  ```bash
70
- bun run adcli doc search "广告消耗"
161
+ bun run build:cli
162
+ npm pack --dry-run
71
163
  ```
72
164
 
73
- 完整命令清单见 [docs/commands.md](docs/commands.md)。
74
-
75
- ## 产物
165
+ ## 发布产物
76
166
 
77
167
  ```text
78
168
  public/llms.txt
@@ -83,18 +173,16 @@ public/{platform}/manifest.json
83
173
  public/{platform}/docs/{doc_id}.md
84
174
  ```
85
175
 
176
+ `public/` 是可发布文档包;`data/` 是维护者本地采集数据,不提交。
177
+
86
178
  ## 数据流
87
179
 
88
180
  ```text
89
181
  recipes/
90
182
  -> discover / ingest
91
- -> data/sources/{platform}/{source_id}/cleaned.md # local only, not committed
183
+ -> data/sources/{platform}/{source_id}/cleaned.md
92
184
  -> build:llms
93
185
  -> public/
94
186
  ```
95
187
 
96
- 详细说明见 [docs/llms.md](docs/llms.md)。
97
-
98
- ## 未来 MCP 服务
99
-
100
- 如果后续需要 MCP,可以在当前 Bun/TypeScript 项目中增加独立服务入口,不需要恢复 Next.js。服务只读取 `public/` 下已经发布的静态文档和 manifest。
188
+ 更多文档包说明见 [docs/llms.md](docs/llms.md)。