amagi 0.1.4

Rust SDK, CLI, and Web API service skeleton for multi-platform social web adapters.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
# Amagi CLI 完整命令与参数参考

英文版:[`cli-reference.md`](cli-reference.md)

本文档覆盖当前 `amagi` CLI 的完整能力清单,包括:

- 顶层命令
- 全局参数
- `run` 子命令下的全部平台任务
- 每个任务的全部参数
- 参数可选值、默认值与环境变量来源

## 1. 调用入口

标准调用形式:

```bash
amagi [GLOBAL_OPTIONS] [COMMAND]
```

如果省略顶层 `COMMAND`,默认等价于:

```bash
amagi run
```

`serve` 子命令只在启用 `server` 功能时可用。

## 2. 顶层能力总览

| 命令 | 说明 |
| --- | --- |
| `run` | 运行本地 CLI 工作流 |
| `serve` | 启动内置 Web API 服务 |

`run` 下当前已接入的平台:

| 平台 | 任务数 | 说明 |
| --- | --- | --- |
| `bilibili` | 26 | 视频、评论、动态、番剧、直播、登录二维码、专栏、验证码、表情 |
| `douyin` | 19 | 作品、评论、用户、搜索、音乐、直播、登录二维码、表情、弹幕 |
| `kuaishou` | 6 | 作品、评论、用户主页、用户作品、直播、表情 |
| `twitter` | 17 | 搜索、用户主页、时间线、回复、媒体、关注关系、登录态时间线、推文、Space |
| `xiaohongshu` | 7 | 首页流、笔记、评论、用户、搜索、表情 |

## 3. 全局参数

全局参数可放在顶层命令前,也可以放在子命令后。

| 参数 || 默认值 | 环境变量 / `.env` | 说明 |
| --- | --- | --- | --- | --- |
| `--lang <LANG>` | `zh` / `en` | 自动解析系统语言,回退到 `en` | `AMAGI_LANG` | CLI 帮助语言 |
| `--output <OUTPUT>` | `text` / `json` | `text` | `AMAGI_OUTPUT` | CLI 输出格式 |
| `--output-file`, `-o <OUTPUT_FILE>` | 路径字符串 || `AMAGI_OUTPUT_FILE` | 将 CLI 输出写入文件 |
| `--pretty` | 布尔开关 | `false` | `AMAGI_OUTPUT_PRETTY` | JSON 输出使用缩进格式 |
| `--append` | 布尔开关 | `false` | `AMAGI_OUTPUT_APPEND` |`--output-file` 追加写入 |
| `--create-parent-dirs` | 布尔开关 | `false` | `AMAGI_OUTPUT_CREATE_DIRS` | 自动创建输出文件父目录 |
| `--douyin-cookie <DOUYIN_COOKIE>` | Cookie 字符串 || `AMAGI_DOUYIN_COOKIE` | 抖音 Cookie |
| `--bilibili-cookie <BILIBILI_COOKIE>` | Cookie 字符串 || `AMAGI_BILIBILI_COOKIE` | Bilibili Cookie |
| `--kuaishou-cookie <KUAISHOU_COOKIE>` | Cookie 字符串 || `AMAGI_KUAISHOU_COOKIE` | 快手 Cookie |
| `--xiaohongshu-cookie <XIAOHONGSHU_COOKIE>` | Cookie 字符串 || `AMAGI_XIAOHONGSHU_COOKIE` | 小红书 Cookie |
| `--twitter-cookie <TWITTER_COOKIE>` | Cookie 字符串 || `AMAGI_TWITTER_COOKIE` | Twitter/X Cookie |
| `--timeout-ms <TIMEOUT_MS>` | 无符号整数 | `10000` | `AMAGI_TIMEOUT_MS` | 上游请求超时,单位毫秒 |
| `--max-retries <MAX_RETRIES>` | 无符号整数 | `3` | `AMAGI_MAX_RETRIES` | 可恢复请求失败的最大重试次数 |
| `--log-format <LOG_FORMAT>` | `text` / `json` | `text` | `AMAGI_LOG_FORMAT` | 日志输出格式 |
| `--log-level <LOG_LEVEL>` | `error` / `warn` / `info` / `debug` / `trace` | `info` | `AMAGI_LOG` | 最低日志级别 |
| `--help`, `-h` |||| 显示帮助 |
| `--version`, `-V` |||| 显示版本 |

## 4. `run` 子命令

调用形式:

```bash
amagi run [--quiet] [PLATFORM] [TASK]
```

### 4.1 `run` 级参数

| 参数 || 默认值 | 说明 |
| --- | --- | --- | --- |
| `--quiet` | 布尔开关 | `false` | 关闭常规启动输出 |

### 4.2 平台子命令

| 平台命令 | 说明 |
| --- | --- |
| `bilibili` | 运行 Bilibili 专用任务 |
| `douyin` | 运行抖音专用任务 |
| `kuaishou` | 运行快手专用任务 |
| `twitter` | 运行 Twitter/X 专用任务 |
| `xiaohongshu` | 运行小红书专用任务 |

## 5. Bilibili 命令参考

调用前缀:

```bash
amagi run bilibili <TASK> ...
```

| 任务 | 说明 | 状态 | 必填位置参数 | 可选参数 |
| --- | --- | --- | --- | --- |
| `video-info` | 获取单个 Bilibili 视频详情 | 已测试可用 | `<bvid>` ||
| `video-stream` | 获取单个 Bilibili 视频流信息 | 已测试可用 | `<aid>` | `--cid <u64>` 必填命名参数 |
| `video-danmaku` | 获取单个 Bilibili 视频弹幕分段 | 已测试可用 | `<cid>` | `--segment-index <u32>` |
| `comments` | 获取单个 Bilibili 内容的评论列表 | 已测试可用 | `<oid>` | `--type <u32>` 必填,`--number <u32>``--mode <u32>` |
| `comment-replies` | 获取单个 Bilibili 根评论的回复列表 | 已测试可用 | `<oid> <root>` | `--type <u32>` 必填,`--number <u32>` |
| `user-card` | 获取单个 Bilibili 用户卡片 | 已测试可用 | `<host_mid>` ||
| `user-dynamic-list` | 获取单个 Bilibili 用户动态列表 | 已测试可用 | `<host_mid>` ||
| `user-space-info` | 获取单个 Bilibili 用户空间信息 | 已测试可用 | `<host_mid>` ||
| `uploader-total-views` | 获取单个 UP 主的总播放量 | 已测试可用 | `<host_mid>` ||
| `dynamic-detail` | 获取单个 Bilibili 动态详情 | 已测试可用 | `<dynamic_id>` ||
| `dynamic-card` | 获取单个 Bilibili 动态卡片 | 已测试可用 | `<dynamic_id>` ||
| `bangumi-info` | 获取单个 Bilibili 番剧元数据 | 未单独复测 | `<bangumi_id>` ||
| `bangumi-stream` | 获取单个 Bilibili 番剧播放流 | 未单独复测 | `<ep_id>` | `--cid <u64>` 必填命名参数 |
| `live-room-info` | 获取单个 Bilibili 直播间详情 | 未单独复测 | `<room_id>` ||
| `live-room-init` | 获取单个 Bilibili 直播间初始化信息 | 未单独复测 | `<room_id>` ||
| `login-status` | 获取当前 Bilibili 登录状态 | 已测试可用 |||
| `login-qrcode` | 请求一个 Bilibili 登录二维码 | 已测试可用 |||
| `qrcode-status` | 轮询一个 Bilibili 登录二维码状态 | 未单独复测 | `<qrcode_key>` ||
| `emoji-list` | 获取 Bilibili 表情列表 | 已测试可用 |||
| `av-to-bv` | 将 AV 号转换为 BV 号 | 已测试可用 | `<aid>` ||
| `bv-to-av` | 将 BV 号转换为 AV 号 | 已测试可用 | `<bvid>` ||
| `article-content` | 获取单个 Bilibili 专栏正文 | 未单独复测 | `<article_id>` ||
| `article-cards` | 获取一个或多个 Bilibili 专栏卡片 | 未单独复测 | `<ids>...` ||
| `article-info` | 获取单个 Bilibili 专栏元数据 | 未单独复测 | `<article_id>` ||
| `article-list-info` | 获取单个 Bilibili 文集信息 | 未单独复测 | `<list_id>` ||
| `captcha-from-voucher` | 根据验证码凭证请求 Bilibili 验证挑战 | 未单独复测 | `<v_voucher>` | `--csrf <string>` |
| `validate-captcha` | 提交并验证一个 Bilibili 验证码结果 | 未单独复测 | `<challenge> <token> <validate> <seccode>` | `--csrf <string>` |

### 5.1 Bilibili 参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| `bvid` | 字符串 | 视频 BV 号 |
| `aid` | `u64` | 视频 AV 号 |
| `cid` | `u64` | 视频或番剧的内容 ID |
| `segment_index` | `u32` | 弹幕分段索引 |
| `oid` | `u64` | 评论目标对象 ID |
| `comment_type` | `u32` | 评论类型 |
| `number` | `u32` | 评论条数 |
| `mode` | `u32` | 评论模式 |
| `root` | `u64` | 根评论 ID |
| `host_mid` | `u64` | 用户 mid |
| `dynamic_id` | 字符串 | 动态 ID |
| `bangumi_id` | 字符串 | 番剧 ID |
| `ep_id` | 字符串 | 剧集 ID |
| `room_id` | `u64` | 直播间 ID |
| `qrcode_key` | 字符串 | 登录二维码 key |
| `article_id` | 字符串 | 专栏 ID |
| `ids` | 字符串数组 | 一个或多个专栏 ID |
| `list_id` | 字符串 | 文集 ID |
| `v_voucher` | 字符串 | 验证码凭证 |
| `csrf` | 字符串 | 可选的 csrf token |
| `challenge` | 字符串 | 验证 challenge |
| `token` | 字符串 | 验证 token |
| `validate` | 字符串 | 验证 validate 值 |
| `seccode` | 字符串 | 验证 seccode |

## 6. 抖音命令参考

调用前缀:

```bash
amagi run douyin <TASK> ...
```

| 任务 | 说明 | 状态 | 必填位置参数 | 可选参数 |
| --- | --- | --- | --- | --- |
| `parse-work` | 解析单个抖音作品 | 已测试可用 | `<aweme_id>` ||
| `video-work` | 获取单个抖音视频作品 | 已测试可用 | `<aweme_id>` ||
| `image-album-work` | 获取单个抖音图文作品 | 已测试可用 | `<aweme_id>` ||
| `slides-work` | 获取单个抖音图集作品 | 已测试可用 | `<aweme_id>` ||
| `text-work` | 获取单个抖音文字作品 | 已测试可用 | `<aweme_id>` ||
| `work-comments` | 获取单个抖音作品的评论列表 | 已测试可用 | `<aweme_id>` | `--number <u32>``--cursor <u64>` |
| `comment-replies` | 获取单个抖音评论的回复列表 | 已测试可用 | `<aweme_id> <comment_id>` | `--number <u32>``--cursor <u64>` |
| `user-profile` | 获取单个抖音用户资料 | 已测试可用 | `<sec_uid>` ||
| `user-video-list` | 获取单个抖音用户的视频列表 | 已测试可用 | `<sec_uid>` | `--number <u32>``--max-cursor <string>` |
| `user-favorite-list` | 获取单个抖音用户的收藏列表 | 已测试,当前实现失败 | `<sec_uid>` | `--number <u32>``--max-cursor <string>` |
| `user-recommend-list` | 获取单个抖音用户的推荐列表 | 已测试,当前实现失败 | `<sec_uid>` | `--number <u32>``--max-cursor <string>` |
| `search` | 搜索抖音内容 | 已测试可用 | `<query>` | `--type <search_type>``--number <u32>``--search-id <string>` |
| `suggest-words` | 获取抖音搜索联想词 | 已测试可用 | `<query>` ||
| `music-info` | 获取抖音音乐信息 | 已测试可用 | `<music_id>` ||
| `live-room-info` | 获取抖音直播间信息 | 已测试可用 | `<room_id>` | `--web-rid <string>` 必填命名参数 |
| `login-qrcode` | 请求抖音登录二维码 | 已测试,当前实现失败 || `--verify-fp <string>` |
| `emoji-list` | 获取抖音表情列表 | 已测试可用 |||
| `dynamic-emoji-list` | 获取抖音动态表情列表 | 已测试可用 |||
| `danmaku-list` | 获取抖音弹幕列表 | 已测试,有已知偏差 | `<aweme_id>` | `--duration <u64>` 必填,`--start-time <u64>``--end-time <u64>` |

### 6.1 抖音枚举参数

| 参数 | 可选值 |
| --- | --- |
| `search_type` | `general``user``video` |

### 6.2 抖音参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| `aweme_id` | 字符串 | 作品 ID |
| `comment_id` | 字符串 | 评论 ID |
| `sec_uid` | 字符串 | 用户 `sec_uid` |
| `number` | `u32` | 每页数量 |
| `cursor` | `u64` | 分页游标 |
| `max_cursor` | 字符串 | 用户列表分页游标 |
| `query` | 字符串 | 搜索关键词 |
| `search_id` | 字符串 | 搜索游标 ID |
| `music_id` | 字符串 | 音乐 ID |
| `room_id` | 字符串 | 直播间 ID |
| `web_rid` | 字符串 | 直播间 `web_rid` |
| `verify_fp` | 字符串 | 登录二维码使用的 `verify_fp` 覆盖值 |
| `duration` | `u64` | 作品时长,毫秒 |
| `start_time` | `u64` | 弹幕起始时间 |
| `end_time` | `u64` | 弹幕结束时间 |

## 7. 快手命令参考

调用前缀:

```bash
amagi run kuaishou <TASK> ...
```

| 任务 | 说明 | 状态 | 必填位置参数 | 可选参数 |
| --- | --- | --- | --- | --- |
| `video-work` | 获取单个快手作品 | 已测试可用 | `<photo_id>` ||
| `work-comments` | 获取单个快手作品的评论列表 | 已测试可用 | `<photo_id>` ||
| `emoji-list` | 获取快手表情列表 | 已测试可用 |||
| `user-profile` | 获取单个快手用户资料 | 已测试可用 | `<principal_id>` ||
| `user-work-list` | 获取单个快手用户的作品列表 | 已测试可用 | `<principal_id>` | `--pcursor <string>``--count <u32>` |
| `live-room-info` | 获取快手直播间信息 | 已测试可用 | `<principal_id>` ||

### 7.1 快手参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| `photo_id` | 字符串 | 作品 ID |
| `principal_id` | 字符串 | 用户或直播间 `principal_id` |
| `pcursor` | 字符串 | 分页游标 |
| `count` | `u32` | 请求数量 |

## 8. Twitter / X 命令参考

调用前缀:

```bash
amagi run twitter <TASK> ...
```

| 任务 | 说明 | 状态 | 必填位置参数 | 可选参数 |
| --- | --- | --- | --- | --- |
| `search-tweets` | 搜索 Twitter/X 推文 | 已测试可用 | `<query>` | `--search-type <mode>``--count <u32>``--cursor <string>` |
| `search-users` | 搜索 Twitter/X 用户 | 已测试可用 | `<query>` | `--count <u32>``--cursor <string>` |
| `user-profile` | 获取单个 Twitter/X 用户资料 | 已测试可用 | `<screen_name>` ||
| `user-timeline` | 获取单个 Twitter/X 用户时间线 | 已测试可用 | `<screen_name>` | `--count <u32>``--cursor <string>` |
| `user-replies` | 获取单个 Twitter/X 用户回复流 | 已测试,有已知偏差 | `<screen_name>` | `--count <u32>``--cursor <string>` |
| `user-media` | 获取单个 Twitter/X 用户媒体流 | 已测试,有已知偏差 | `<screen_name>` | `--count <u32>``--cursor <string>` |
| `user-followers` | 获取单个 Twitter/X 用户粉丝列表 | 已测试可用 | `<screen_name>` | `--count <u32>``--cursor <string>` |
| `user-following` | 获取单个 Twitter/X 用户关注列表 | 已测试可用 | `<screen_name>` | `--count <u32>``--cursor <string>` |
| `user-likes` | 获取当前已登录 Twitter/X 账户的点赞列表 | 已测试可用 || `--count <u32>``--cursor <string>` |
| `user-bookmarks` | 获取当前已登录 Twitter/X 账户的书签列表 | 已测试可用 || `--count <u32>``--cursor <string>` |
| `user-followed` | 获取当前已登录 Twitter/X 账户的关注时间线 | 已测试可用 || `--count <u32>``--cursor <string>` |
| `user-recommended` | 获取当前已登录 Twitter/X 账户的推荐时间线 | 已测试可用 || `--count <u32>``--cursor <string>` |
| `tweet-detail` | 获取单条 Twitter/X 推文详情 | 已测试可用 | `<tweet_id>` ||
| `tweet-replies` | 获取单条 Twitter/X 推文的回复列表 | 已测试,有已知偏差 | `<tweet_id>` | `--cursor <string>``--sort-by <sort_by>` |
| `tweet-likers` | 获取点赞单条 Twitter/X 推文的用户列表 | 已测试可用 | `<tweet_id>` | `--count <u32>``--cursor <string>` |
| `tweet-retweeters` | 获取转推单条 Twitter/X 推文的用户列表 | 已测试可用 | `<tweet_id>` | `--count <u32>``--cursor <string>` |
| `space-detail` | 获取单个 Twitter/X Space 详情 | 未单独复测 | `<space_id>` ||

CLI 实测状态说明:

- `已测试可用`:命令链路已实际验证,可作为当前可用接口使用
- `已测试,有已知偏差`:命令能跑通,但当前结果与命令语义还存在偏差
- `已测试,需要有效登录态`:命令链路已实际执行,但当前环境缺少可用登录态,接口返回上游鉴权失败
- `已测试,当前实现失败`:本轮已经实际执行,但当前实现报错,修复代码前不可作为可用接口使用
- `未单独复测`:文档已列出接口,但这轮 CLI 样例未单独覆盖

当前已知偏差:

- `user-replies`:当前结果会混入普通推文,不是严格的“仅回复”列表
- `danmaku-list`:已对 `danmaku_cnt = 1` 的抖音作品实测,当前响应仍返回 `total = 0` 且没有弹幕条目
- `user-media`:当前结果里可能包含 `media: []` 的项目,媒体过滤或媒体实体解析仍需收敛
- `tweet-replies`:当前结果会包含根推文本身,不是严格的“仅回复”列表

### 8.1 Twitter / X 枚举参数

| 参数 | 可选值 |
| --- | --- |
| `search_type` | `latest``top` |

### 8.2 Twitter / X 参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| `query` | 字符串 | 搜索关键词 |
| `search_type` | 枚举 | 搜索模式 |
| `count` | `u32` | 请求数量 |
| `cursor` | 字符串 | 分页游标 |
| `screen_name` | 字符串 | 用户 `screen_name` |
| `tweet_id` | 字符串 | 推文 ID |
| `space_id` | 字符串 | Space ID |

## 9. 小红书命令参考

调用前缀:

```bash
amagi run xiaohongshu <TASK> ...
```

| 任务 | 说明 | 状态 | 必填位置参数 | 可选参数 |
| --- | --- | --- | --- | --- |
| `home-feed` | 获取小红书首页推荐流 | 已测试可用 || `--cursor-score <string>``--num <u32>``--refresh-type <u32>``--note-index <u32>``--category <string>``--search-key <string>` |
| `note-detail` | 获取单个小红书笔记详情 | 已测试可用 | `<note_id>` | `--xsec-token <string>` 必填命名参数 |
| `note-comments` | 获取单个小红书笔记的评论列表 | 已测试可用 | `<note_id>` | `--xsec-token <string>` 必填,`--cursor <string>` |
| `user-profile` | 获取单个小红书用户资料 | 已测试可用 | `<user_id>` | `--xsec-token <string>` 必填,`--xsec-source <string>` 可选 |
| `user-note-list` | 获取单个小红书用户的笔记列表 | 已测试可用 | `<user_id>` | `--xsec-token <string>` 必填,`--xsec-source <string>` 可选,`--cursor <string>``--num <u32>` |
| `emoji-list` | 获取小红书表情列表 | 已测试可用 |||
| `search` | 搜索小红书笔记 | 已测试可用 | `<keyword>` | `--page <u32>``--page-size <u32>``--sort <sort>``--note-type <note_type>` |

### 9.1 小红书枚举参数

| 参数 | 可选值 |
| --- | --- |
| `sort` | `general``time_descending``popularity_descending` |
| `note_type` | `all``video``image` |

### 9.2 小红书参数说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| `cursor_score` | 字符串 | 首页流游标分数 |
| `num` | `u32` | 请求数量 |
| `refresh_type` | `u32` | 刷新类型 |
| `note_index` | `u32` | 笔记索引 |
| `category` | 字符串 | feed 分类 |
| `search_key` | 字符串 | feed 搜索关键字 |
| `note_id` | 字符串 | 笔记 ID |
| `xsec_token` | 字符串 | 笔记 `xsec_token` |
| `cursor` | 字符串 | 分页游标 |
| `user_id` | 字符串 | 用户 ID |
| `keyword` | 字符串 | 搜索关键词 |
| `page` | `u32` | 页码 |
| `page_size` | `u32` | 每页数量 |

## 10. `serve` 命令参考

调用形式:

```bash
amagi serve [OPTIONS]
```

| 参数 || 默认值 | 环境变量 / `.env` | 说明 |
| --- | --- | --- | --- | --- |
| `--host <HOST>` | 主机名或 IP | `127.0.0.1` | `AMAGI_HOST` | 服务绑定地址 |
| `--port <PORT>` | `u16` | `4567` | `AMAGI_PORT` | 服务绑定端口 |
| `--proxy-timeout-ms <MS>` | `u64` | `15000` | `AMAGI_PROXY_TIMEOUT_MS` | 节点间代理请求超时时间 |
| `--proxy-max-hops <COUNT>` | `u32` | `1` | `AMAGI_PROXY_MAX_HOPS` | 单次请求允许的最大代理跳数 |
| `--douyin-mode <MODE>` | `enabled``local``upstream``disabled` | `local` | `AMAGI_PLATFORM_DOUYIN_MODE` | 抖音服务模式;`enabled` 映射为本地处理 |
| `--douyin-upstream <URL>` | URL || `AMAGI_PLATFORM_DOUYIN_UPSTREAM` | 抖音处于 `upstream` 模式时使用的上游节点地址 |
| `--bilibili-mode <MODE>` | `enabled``local``upstream``disabled` | `local` | `AMAGI_PLATFORM_BILIBILI_MODE` | Bilibili 服务模式;`enabled` 映射为本地处理 |
| `--bilibili-upstream <URL>` | URL || `AMAGI_PLATFORM_BILIBILI_UPSTREAM` | Bilibili 处于 `upstream` 模式时使用的上游节点地址 |
| `--kuaishou-mode <MODE>` | `enabled``local``upstream``disabled` | `local` | `AMAGI_PLATFORM_KUAISHOU_MODE` | 快手服务模式;`enabled` 映射为本地处理 |
| `--kuaishou-upstream <URL>` | URL || `AMAGI_PLATFORM_KUAISHOU_UPSTREAM` | 快手处于 `upstream` 模式时使用的上游节点地址 |
| `--xiaohongshu-mode <MODE>` | `enabled``local``upstream``disabled` | `local` | `AMAGI_PLATFORM_XIAOHONGSHU_MODE` | 小红书服务模式;`enabled` 映射为本地处理 |
| `--xiaohongshu-upstream <URL>` | URL || `AMAGI_PLATFORM_XIAOHONGSHU_UPSTREAM` | 小红书处于 `upstream` 模式时使用的上游节点地址 |
| `--twitter-mode <MODE>` | `enabled``local``upstream``disabled` | `local` | `AMAGI_PLATFORM_TWITTER_MODE` | Twitter/X 服务模式;`enabled` 映射为本地处理 |
| `--twitter-upstream <URL>` | URL || `AMAGI_PLATFORM_TWITTER_UPSTREAM` | Twitter/X 处于 `upstream` 模式时使用的上游节点地址 |

## 11. 环境变量总表

dotenv、进程环境变量和显式命令行参数的优先级为:

```text
命令行参数 > 进程环境变量 > 当前目录 .env > 用户级配置 .env > 内置默认值
```

用户级配置 dotenv 路径:

- Linux/macOS:`~/.config/amagi/.env`
- Windows:`%APPDATA%\\amagi\\.env`

覆盖变量:

- `AMAGI_USER_ENV_FILE`

当前支持的变量如下:

| 变量名 | 作用 |
| --- | --- |
| `AMAGI_LANG` | CLI 帮助语言 |
| `AMAGI_OUTPUT` | CLI 输出格式 |
| `AMAGI_USER_ENV_FILE` | 覆盖用户级 dotenv 路径 |
| `AMAGI_OUTPUT_FILE` | CLI 输出文件路径 |
| `AMAGI_OUTPUT_PRETTY` | JSON 美化输出 |
| `AMAGI_OUTPUT_APPEND` | 输出文件追加模式 |
| `AMAGI_OUTPUT_CREATE_DIRS` | 自动创建输出目录 |
| `AMAGI_DOUYIN_COOKIE` | 抖音 Cookie |
| `AMAGI_BILIBILI_COOKIE` | Bilibili Cookie |
| `AMAGI_KUAISHOU_COOKIE` | 快手 Cookie |
| `AMAGI_XIAOHONGSHU_COOKIE` | 小红书 Cookie |
| `AMAGI_TWITTER_COOKIE` | Twitter/X Cookie |
| `AMAGI_TIMEOUT_MS` | 请求超时 |
| `AMAGI_MAX_RETRIES` | 最大重试次数 |
| `AMAGI_LOG_FORMAT` | 日志格式 |
| `AMAGI_LOG` | 日志级别 |
| `AMAGI_HOST` | 服务端监听地址 |
| `AMAGI_PORT` | 服务端监听端口 |
| `AMAGI_PROXY_TIMEOUT_MS` | 节点间代理超时 |
| `AMAGI_PROXY_MAX_HOPS` | 最大代理跳数 |
| `AMAGI_PLATFORM_DOUYIN_MODE` | 抖音服务模式 |
| `AMAGI_PLATFORM_DOUYIN_UPSTREAM` | 抖音上游节点地址 |
| `AMAGI_PLATFORM_BILIBILI_MODE` | Bilibili 服务模式 |
| `AMAGI_PLATFORM_BILIBILI_UPSTREAM` | Bilibili 上游节点地址 |
| `AMAGI_PLATFORM_KUAISHOU_MODE` | 快手服务模式 |
| `AMAGI_PLATFORM_KUAISHOU_UPSTREAM` | 快手上游节点地址 |
| `AMAGI_PLATFORM_XIAOHONGSHU_MODE` | 小红书服务模式 |
| `AMAGI_PLATFORM_XIAOHONGSHU_UPSTREAM` | 小红书上游节点地址 |
| `AMAGI_PLATFORM_TWITTER_MODE` | Twitter/X 服务模式 |
| `AMAGI_PLATFORM_TWITTER_UPSTREAM` | Twitter/X 上游节点地址 |

## 12. 维护规则

新增 CLI 能力时,同步更新以下位置:

- `src/cli/args/*.rs`
- `locales/cli/zh-CN.json`
- `locales/cli/en-US.json`
- `docs/reference/cli-reference.md`
- `docs/reference/cli-reference.zh-CN.md`