@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 CHANGED
@@ -1,94 +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:
23
+
24
+ - `packages/oceanengine-ad-open-sdk`: 巨量广告开放平台 OpenAPI SDK。
8
25
 
9
- 发布到 npm 后:
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
31
46
  ```
32
47
 
33
- `adcli doc search` 默认读取线上索引:
48
+ ## 常用命令
34
49
 
35
- ```text
36
- https://adcli.jiangzhx.com/search-index.json
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 sync
43
- adcli doc search "广告消耗" --refresh
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 search "广告消耗" --index public/search-index.json
69
+ adcli doc sync
70
+ adcli doc search "广告消耗" --refresh
50
71
  ```
51
72
 
52
- AI / Agent 使用文档包:
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
- bun run build
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
- `bun run build` 校验已提交的 `public/` 静态产物,适合部署环境。重新采集后本地生成发布产物使用:
146
+ 重新生成发布产物:
72
147
 
73
148
  ```bash
74
149
  bun run build:llms all
75
150
  ```
76
151
 
77
- 只基于当前 `public/` 重新生成搜索索引:
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
- adcli doc search "广告消耗"
161
+ bun run build:cli
162
+ npm pack --dry-run
87
163
  ```
88
164
 
89
- 完整命令清单见 [docs/commands.md](docs/commands.md)。
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 # local only, not committed
183
+ -> data/sources/{platform}/{source_id}/cleaned.md
108
184
  -> build:llms
109
185
  -> public/
110
186
  ```
111
187
 
112
- 详细说明见 [docs/llms.md](docs/llms.md)。
113
-
114
- ## 未来 MCP 服务
115
-
116
- 如果后续需要 MCP,可以在当前 Bun/TypeScript 项目中增加独立服务入口,不需要恢复 Next.js。服务只读取 `public/` 下已经发布的静态文档和 manifest。
188
+ 更多文档包说明见 [docs/llms.md](docs/llms.md)。