llm-content-creator 0.1.0 → 0.1.1

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 (91) hide show
  1. package/dist/application/workflow/SyncExecutor.d.ts.map +1 -1
  2. package/dist/application/workflow/SyncExecutor.js +1 -0
  3. package/dist/application/workflow/SyncExecutor.js.map +1 -1
  4. package/dist/config/index.d.ts +2 -2
  5. package/dist/config/index.js +3 -3
  6. package/dist/config/index.js.map +1 -1
  7. package/dist/domain/repositories/TaskRepository.d.ts +1 -0
  8. package/dist/domain/repositories/TaskRepository.d.ts.map +1 -1
  9. package/dist/infrastructure/database/MemoryTaskRepository.d.ts +17 -1
  10. package/dist/infrastructure/database/MemoryTaskRepository.d.ts.map +1 -1
  11. package/dist/infrastructure/database/MemoryTaskRepository.js +76 -1
  12. package/dist/infrastructure/database/MemoryTaskRepository.js.map +1 -1
  13. package/dist/infrastructure/database/SQLiteQualityCheckRepository.d.ts +27 -0
  14. package/dist/infrastructure/database/SQLiteQualityCheckRepository.d.ts.map +1 -0
  15. package/dist/infrastructure/database/SQLiteQualityCheckRepository.js +80 -0
  16. package/dist/infrastructure/database/SQLiteQualityCheckRepository.js.map +1 -0
  17. package/dist/infrastructure/database/SQLiteResultRepository.d.ts +31 -0
  18. package/dist/infrastructure/database/SQLiteResultRepository.d.ts.map +1 -0
  19. package/dist/infrastructure/database/SQLiteResultRepository.js +77 -0
  20. package/dist/infrastructure/database/SQLiteResultRepository.js.map +1 -0
  21. package/dist/infrastructure/database/SQLiteTaskRepository.d.ts +12 -0
  22. package/dist/infrastructure/database/SQLiteTaskRepository.d.ts.map +1 -1
  23. package/dist/infrastructure/database/SQLiteTaskRepository.js +69 -2
  24. package/dist/infrastructure/database/SQLiteTaskRepository.js.map +1 -1
  25. package/dist/infrastructure/database/index.d.ts +23 -2
  26. package/dist/infrastructure/database/index.d.ts.map +1 -1
  27. package/dist/infrastructure/database/index.js +33 -2
  28. package/dist/infrastructure/database/index.js.map +1 -1
  29. package/dist/infrastructure/redis/connection.d.ts.map +1 -1
  30. package/dist/infrastructure/redis/connection.js +14 -3
  31. package/dist/infrastructure/redis/connection.js.map +1 -1
  32. package/dist/presentation/cli/commands/cancel.d.ts.map +1 -1
  33. package/dist/presentation/cli/commands/cancel.js +1 -0
  34. package/dist/presentation/cli/commands/cancel.js.map +1 -1
  35. package/dist/presentation/cli/commands/create.d.ts.map +1 -1
  36. package/dist/presentation/cli/commands/create.js +29 -14
  37. package/dist/presentation/cli/commands/create.js.map +1 -1
  38. package/dist/presentation/cli/commands/list.d.ts +8 -0
  39. package/dist/presentation/cli/commands/list.d.ts.map +1 -0
  40. package/dist/presentation/cli/commands/list.js +154 -0
  41. package/dist/presentation/cli/commands/list.js.map +1 -0
  42. package/dist/presentation/cli/commands/result.d.ts.map +1 -1
  43. package/dist/presentation/cli/commands/result.js +33 -3
  44. package/dist/presentation/cli/commands/result.js.map +1 -1
  45. package/dist/presentation/cli/commands/retry.d.ts +8 -0
  46. package/dist/presentation/cli/commands/retry.d.ts.map +1 -0
  47. package/dist/presentation/cli/commands/retry.js +203 -0
  48. package/dist/presentation/cli/commands/retry.js.map +1 -0
  49. package/dist/presentation/cli/commands/status.d.ts.map +1 -1
  50. package/dist/presentation/cli/commands/status.js +3 -2
  51. package/dist/presentation/cli/commands/status.js.map +1 -1
  52. package/dist/presentation/cli/index.js +4 -0
  53. package/dist/presentation/cli/index.js.map +1 -1
  54. package/dist/presentation/cli/utils/cleanup.d.ts +1 -3
  55. package/dist/presentation/cli/utils/cleanup.d.ts.map +1 -1
  56. package/dist/presentation/cli/utils/cleanup.js.map +1 -1
  57. package/dist/presentation/monitor-cli.js +2 -4
  58. package/dist/presentation/monitor-cli.js.map +1 -1
  59. package/dist/presentation/worker-cli.js +8 -5
  60. package/dist/presentation/worker-cli.js.map +1 -1
  61. package/dist/schedulers/TaskScheduler.d.ts.map +1 -1
  62. package/dist/schedulers/TaskScheduler.js +13 -5
  63. package/dist/schedulers/TaskScheduler.js.map +1 -1
  64. package/dist/workers/TaskWorker.d.ts.map +1 -1
  65. package/dist/workers/TaskWorker.js +39 -21
  66. package/dist/workers/TaskWorker.js.map +1 -1
  67. package/docs/cli-reference.md +623 -0
  68. package/docs/quick-start.md +47 -0
  69. package/docs/user-guide.md +191 -24
  70. package/package.json +3 -1
  71. package/src/application/workflow/SyncExecutor.ts +1 -0
  72. package/src/config/index.ts +3 -3
  73. package/src/domain/repositories/TaskRepository.ts +1 -0
  74. package/src/infrastructure/database/MemoryTaskRepository.ts +89 -1
  75. package/src/infrastructure/database/SQLiteQualityCheckRepository.ts +102 -0
  76. package/src/infrastructure/database/SQLiteResultRepository.ts +95 -0
  77. package/src/infrastructure/database/SQLiteTaskRepository.ts +80 -2
  78. package/src/infrastructure/database/index.ts +39 -2
  79. package/src/infrastructure/redis/connection.ts +16 -3
  80. package/src/presentation/cli/commands/cancel.ts +1 -0
  81. package/src/presentation/cli/commands/create.ts +30 -14
  82. package/src/presentation/cli/commands/list.ts +172 -0
  83. package/src/presentation/cli/commands/result.ts +33 -3
  84. package/src/presentation/cli/commands/retry.ts +241 -0
  85. package/src/presentation/cli/commands/status.ts +3 -2
  86. package/src/presentation/cli/index.ts +4 -0
  87. package/src/presentation/cli/utils/cleanup.ts +1 -1
  88. package/src/presentation/monitor-cli.ts +2 -4
  89. package/src/presentation/worker-cli.ts +8 -5
  90. package/src/schedulers/TaskScheduler.ts +13 -5
  91. package/src/workers/TaskWorker.ts +47 -22
@@ -0,0 +1,623 @@
1
+ # Content Creator CLI 使用参考
2
+
3
+ **版本**: 0.1.0
4
+ **更新日期**: 2026-01-24
5
+
6
+ ---
7
+
8
+ ## 📖 目录
9
+
10
+ 1. [快速开始](#快速开始)
11
+ 2. [主 CLI 命令](#主-cli-命令)
12
+ 3. [Worker CLI](#worker-cli)
13
+ 4. [Monitor CLI](#monitor-cli)
14
+ 5. [Scheduler CLI](#scheduler-cli)
15
+ 6. [使用示例](#使用示例)
16
+ 7. [常见问题](#常见问题)
17
+
18
+ ---
19
+
20
+ ## 🚀 快速开始
21
+
22
+ ### 安装依赖
23
+
24
+ ```bash
25
+ pnpm install
26
+ ```
27
+
28
+ ### 配置环境变量
29
+
30
+ 创建 `.env` 文件并配置所需的 API 密钥和数据库连接信息。
31
+
32
+ ### 创建第一个任务
33
+
34
+ ```bash
35
+ pnpm run cli create \
36
+ --topic "人工智能的未来" \
37
+ --requirements "写一篇关于 AI 未来发展的文章" \
38
+ --mode sync
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 💻 主 CLI 命令
44
+
45
+ 主 CLI 提供了任务管理的核心功能:创建、查询、获取结果和取消任务。
46
+
47
+ ### 调用方式
48
+
49
+ ```bash
50
+ # 使用 npm script(推荐)
51
+ pnpm run cli <command> [options]
52
+
53
+ # 直接调用
54
+ tsx src/presentation/cli/index.ts <command> [options]
55
+ ```
56
+
57
+ ### create - 创建任务
58
+
59
+ 创建一个新的内容创作任务。
60
+
61
+ ```bash
62
+ pnpm run cli create [options]
63
+ ```
64
+
65
+ #### 参数说明
66
+
67
+ | 参数 | 简写 | 说明 | 必填 | 默认值 |
68
+ |------|------|------|------|--------|
69
+ | `--topic` | `-t` | 文章主题 | ✅ | - |
70
+ | `--requirements` | `-r` | 创作要求 | ✅ | - |
71
+ | `--audience` | `-a` | 目标受众 | ❌ | 普通读者 |
72
+ | `--keywords` | - | 关键词(逗号分隔) | ❌ | - |
73
+ | `--tone` | - | 语气风格 | ❌ | 专业 |
74
+ | `--min-words` | - | 最小字数 | ❌ | 500 |
75
+ | `--max-words` | - | 最大字数 | ❌ | 2000 |
76
+ | `--mode` | - | 执行模式 (sync\|async) | ❌ | sync |
77
+ | `--priority` | - | 优先级 (low\|normal\|high\|urgent) | ❌ | normal |
78
+
79
+ #### 执行模式说明
80
+
81
+ **sync(同步模式)**:
82
+ - 任务在当前进程中执行
83
+ - 实时显示执行进度
84
+ - 等待任务完成后返回结果
85
+ - 适用于测试和快速验证
86
+
87
+ **async(异步模式)**:
88
+ - 任务被添加到队列
89
+ - 需要独立的 Worker 进程处理
90
+ - 立即返回任务 ID
91
+ - 适用于生产环境和批量处理
92
+
93
+ #### 示例
94
+
95
+ ```bash
96
+ # 基本示例
97
+ pnpm run cli create \
98
+ --topic "TypeScript 5.0 新特性" \
99
+ --requirements "详细介绍 TypeScript 5.0 的新特性" \
100
+ --mode sync
101
+
102
+ # 完整参数示例
103
+ pnpm run cli create \
104
+ --topic "健康生活方式" \
105
+ --requirements "提供实用的健康生活建议" \
106
+ --audience "普通读者" \
107
+ --tone "亲切友好" \
108
+ --keywords "健康,生活,养生" \
109
+ --min-words 800 \
110
+ --max-words 1200 \
111
+ --mode sync \
112
+ --priority normal
113
+
114
+ # 异步模式
115
+ pnpm run cli create \
116
+ --topic "云计算趋势" \
117
+ --requirements "分析云计算的发展趋势" \
118
+ --mode async
119
+ ```
120
+
121
+ ### status - 查询任务状态
122
+
123
+ 查询指定任务的执行状态。
124
+
125
+ ```bash
126
+ pnpm run cli status --task-id <taskId>
127
+ ```
128
+
129
+ #### 参数说明
130
+
131
+ | 参数 | 简写 | 说明 | 必填 |
132
+ |------|------|------|------|
133
+ | `--task-id` | `-t` | 任务 ID | ✅ |
134
+
135
+ #### 输出信息
136
+
137
+ - 任务 ID
138
+ - 当前状态(待处理/运行中/已完成/失败/已取消)
139
+ - 当前步骤
140
+ - 执行模式
141
+ - 优先级
142
+ - 创建/开始/完成时间
143
+ - 重试统计
144
+ - 错误信息(如有)
145
+
146
+ #### 示例
147
+
148
+ ```bash
149
+ pnpm run cli status --task-id 550e8400-e29b-41d4-a716-446655440000
150
+ ```
151
+
152
+ ### result - 获取任务结果
153
+
154
+ 获取已完成任务的执行结果。
155
+
156
+ ```bash
157
+ pnpm run cli result --task-id <taskId> [options]
158
+ ```
159
+
160
+ #### 参数说明
161
+
162
+ | 参数 | 简写 | 说明 | 必填 | 默认值 |
163
+ |------|------|------|------|--------|
164
+ | `--task-id` | `-t` | 任务 ID | ✅ | - |
165
+ | `--format` | - | 输出格式 (text\|json) | ❌ | text |
166
+
167
+ #### 输出格式
168
+
169
+ **text 格式**:
170
+ - 可读性强的文本输出
171
+ - 包含文章内容和配图 URL
172
+
173
+ **json 格式**:
174
+ - JSON 格式输出
175
+ - 便于程序处理
176
+
177
+ #### 示例
178
+
179
+ ```bash
180
+ # 文本格式
181
+ pnpm run cli result --task-id 550e8400-e29b-41d4-a716-446655440000
182
+
183
+ # JSON 格式
184
+ pnpm run cli result --task-id 550e8400-e29b-41d4-a716-446655440000 --format json
185
+ ```
186
+
187
+ ### cancel - 取消任务
188
+
189
+ 取消正在执行或等待中的任务。
190
+
191
+ ```bash
192
+ pnpm run cli cancel --task-id <taskId>
193
+ ```
194
+
195
+ #### 参数说明
196
+
197
+ | 参数 | 简写 | 说明 | 必填 |
198
+ |------|------|------|------|
199
+ | `--task-id` | `-t` | 任务 ID | ✅ |
200
+
201
+ #### 注意事项
202
+
203
+ - 只能取消状态为 "运行中" 或 "等待中" 的任务
204
+ - 已完成或失败的任务无法取消
205
+ - 取消操作不可逆
206
+
207
+ #### 示例
208
+
209
+ ```bash
210
+ pnpm run cli cancel --task-id 550e8400-e29b-41d4-a716-446655440000
211
+ ```
212
+
213
+ ### list - 查看历史任务列表
214
+
215
+ 查看系统中创建的所有任务,支持筛选和分页。
216
+
217
+ ```bash
218
+ pnpm run cli list [options]
219
+ ```
220
+
221
+ #### 参数说明
222
+
223
+ | 参数 | 简写 | 说明 | 必填 | 默认值 |
224
+ |------|------|------|------|--------|
225
+ | `--status` | `-s` | 筛选状态 (pending\|running\|completed\|failed\|cancelled) | ❌ | - |
226
+ | `--mode` | `-m` | 筛选执行模式 (sync\|async) | ❌ | - |
227
+ | `--limit` | `-l` | 显示数量 | ❌ | 20 |
228
+ | `--offset` | `-o` | 偏移量(分页) | ❌ | 0 |
229
+ | `--json` | - | JSON 格式输出 | ❌ | false |
230
+
231
+ #### 显示信息
232
+
233
+ - 任务主题
234
+ - 任务 ID(完整 UUID)
235
+ - 当前状态(彩色标识)
236
+ - 执行模式(同步/异步)
237
+ - 创建时间(智能相对时间)
238
+ - 执行耗时
239
+ - 错误信息(如果失败)
240
+
241
+ #### 示例
242
+
243
+ ```bash
244
+ # 查看最近 20 个任务
245
+ pnpm run cli list
246
+
247
+ # 查看最近 10 个任务
248
+ pnpm run cli list --limit 10
249
+
250
+ # 只查看已完成的任务
251
+ pnpm run cli list --status completed
252
+
253
+ # 只查看失败的任务
254
+ pnpm run cli list --status failed
255
+
256
+ # 只查看异步任务
257
+ pnpm run cli list --mode async
258
+
259
+ # 查看第 2 页(分页)
260
+ pnpm run cli list --offset 20
261
+
262
+ # 以 JSON 格式输出(方便脚本处理)
263
+ pnpm run cli list --json
264
+ ```
265
+
266
+ #### 使用场景
267
+
268
+ - 监控任务执行情况
269
+ - 查找失败任务进行重试
270
+ - 统计任务完成率
271
+ - 导出任务数据用于分析
272
+
273
+ ### retry - 重新执行任务
274
+
275
+ 将数据库中已有的任务重新添加到队列中进行处理。
276
+
277
+ ```bash
278
+ pnpm run cli retry [options]
279
+ ```
280
+
281
+ #### 参数说明
282
+
283
+ | 参数 | 简写 | 说明 | 必填 |
284
+ |------|------|------|------|
285
+ | `--task-id` | `-t` | 重新执行指定任务 | ❌ | - |
286
+ | `--all` | - | 批量重新执行所有等待任务 | ❌ | - |
287
+ | `--status` | `-s` | 按状态筛选 (pending\|failed\|cancelled) | ❌ | pending |
288
+ | `--limit` | `-l` | 处理数量限制 | ❌ | 10 |
289
+ | `--dry-run` | - | 模拟运行(不实际执行) | ❌ | false |
290
+
291
+ #### 使用场景
292
+
293
+ **场景 1: 重新执行单个失败任务**
294
+
295
+ ```bash
296
+ pnpm run cli retry --task-id 913efd41-d3d1-478a-9b37-77f2de73b694
297
+ ```
298
+
299
+ **场景 2: 批量重试所有失败任务**
300
+
301
+ ```bash
302
+ # 模拟运行,预览操作
303
+ pnpm run cli retry --all --status failed --dry-run
304
+
305
+ # 确认后实际执行
306
+ pnpm run cli retry --all --status failed
307
+ ```
308
+
309
+ **场景 3: Worker 停止后恢复处理**
310
+
311
+ ```bash
312
+ # 1. 启动 Worker
313
+ pnpm run worker
314
+
315
+ # 2. 重新执行所有等待任务
316
+ pnpm run cli retry --all
317
+ ```
318
+
319
+ **场景 4: 分批处理大量任务**
320
+
321
+ ```bash
322
+ # 每次处理 5 个
323
+ pnpm run cli retry --all --limit 5
324
+ ```
325
+
326
+ #### 注意事项
327
+
328
+ - 确保 Worker 正在运行
329
+ - 已完成的任务不建议重试
330
+ - 使用 `--dry-run` 预览后再实际执行
331
+ - 大量任务使用 `--limit` 分批处理
332
+
333
+ #### 与其他命令的配合
334
+
335
+ ```bash
336
+ # 1. 查看失败任务
337
+ pnpm run cli list --status failed
338
+
339
+ # 2. 重新执行失败任务
340
+ pnpm run cli retry --all --status failed
341
+
342
+ # 3. 查看重试后的状态
343
+ pnpm run cli status --task-id <taskId>
344
+ ```
345
+
346
+ ---
347
+
348
+ ## 👷 Worker CLI
349
+
350
+ Worker 负责处理异步队列中的任务。
351
+
352
+ ### 调用方式
353
+
354
+ ```bash
355
+ # 使用 npm script(推荐)
356
+ pnpm run worker [options]
357
+
358
+ # 开发模式(带热重载)
359
+ pnpm run worker:dev [options]
360
+
361
+ # 直接调用
362
+ tsx src/presentation/worker-cli.ts start [options]
363
+ ```
364
+
365
+ ### 参数说明
366
+
367
+ | 参数 | 简写 | 说明 | 必填 | 默认值 |
368
+ |------|------|------|------|--------|
369
+ | `--worker-id` | `-w` | Worker ID | ❌ | 自动生成 |
370
+ | `--concurrency` | `-c` | 并发处理任务数 | ❌ | 2 |
371
+
372
+ ### 启动 Worker
373
+
374
+ ```bash
375
+ # 基本启动
376
+ pnpm run worker
377
+
378
+ # 指定 Worker ID
379
+ pnpm run worker --worker-id worker-1
380
+
381
+ # 设置并发数
382
+ pnpm run worker --concurrency 4
383
+
384
+ # 完整参数
385
+ pnpm run worker --worker-id worker-1 --concurrency 4
386
+ ```
387
+
388
+ ### 注意事项
389
+
390
+ - 确保 Redis 和数据库服务正常运行
391
+ - Worker 需要保持运行状态以处理队列中的任务
392
+ - 可以启动多个 Worker 实例以提高处理能力
393
+ - 使用 `Ctrl+C` 停止 Worker
394
+
395
+ ---
396
+
397
+ ## 📊 Monitor CLI
398
+
399
+ Monitor 提供了基于 Web 的队列监控面板(使用 Bull Board)。
400
+
401
+ ### 调用方式
402
+
403
+ ```bash
404
+ # 使用 npm script(推荐)
405
+ pnpm run monitor [options]
406
+
407
+ # 直接调用
408
+ tsx src/presentation/monitor-cli.ts start [options]
409
+ ```
410
+
411
+ ### 参数说明
412
+
413
+ | 参数 | 简写 | 说明 | 必填 | 默认值 |
414
+ |------|------|------|------|--------|
415
+ | `--port` | `-p` | 监控面板端口 | ❌ | 3000 |
416
+
417
+ ### 启动监控面板
418
+
419
+ ```bash
420
+ # 基本启动
421
+ pnpm run monitor
422
+
423
+ # 指定端口
424
+ pnpm run monitor --port 8080
425
+ ```
426
+
427
+ ### 访问监控面板
428
+
429
+ 启动后访问: `http://localhost:3000/admin/queues`
430
+
431
+ ### 功能特性
432
+
433
+ - 查看待处理任务
434
+ - 查看已完成/失败任务
435
+ - 手动重试失败任务
436
+ - 查看任务详情
437
+ - 清空队列
438
+
439
+ ---
440
+
441
+ ## ⏰ Scheduler CLI
442
+
443
+ Scheduler 负责定时调度和管理任务。
444
+
445
+ ### 调用方式
446
+
447
+ ```bash
448
+ # 使用 npm script(推荐)
449
+ pnpm run scheduler
450
+
451
+ # 直接调用
452
+ tsx src/presentation/scheduler-cli.ts
453
+ ```
454
+
455
+ ### 注意事项
456
+
457
+ - Scheduler 需要保持运行状态
458
+ - 确保配置了正确的调度规则
459
+ - 使用 `Ctrl+C` 停止 Scheduler
460
+
461
+ ---
462
+
463
+ ## 💡 使用示例
464
+
465
+ ### 场景 1: 快速测试
466
+
467
+ ```bash
468
+ # 同步执行,立即查看结果
469
+ pnpm run cli create \
470
+ --topic "远程工作的优势" \
471
+ --requirements "分析远程工作的优势和挑战" \
472
+ --mode sync
473
+ ```
474
+
475
+ ### 场景 2: 批量生产
476
+
477
+ ```bash
478
+ # 1. 启动 Worker
479
+ pnpm run worker --concurrency 4
480
+
481
+ # 2. 在另一个终端批量创建任务
482
+ pnpm run cli create \
483
+ --topic "AI发展" \
484
+ --requirements "介绍 AI 的发展历程" \
485
+ --mode async
486
+
487
+ pnpm run cli create \
488
+ --topic "区块链应用" \
489
+ --requirements "讨论区块链的实际应用" \
490
+ --mode async
491
+
492
+ pnpm run cli create \
493
+ --topic "云计算趋势" \
494
+ --requirements "分析云计算的发展趋势" \
495
+ --mode async
496
+ ```
497
+
498
+ ### 场景 3: 监控任务
499
+
500
+ ```bash
501
+ # 1. 启动监控面板
502
+ pnpm run monitor
503
+
504
+ # 2. 浏览器访问 http://localhost:3000/admin/queues
505
+
506
+ # 3. 查看任务状态
507
+ pnpm run cli status --task-id <task-id>
508
+
509
+ # 4. 查看结果
510
+ pnpm run cli result --task-id <task-id>
511
+ ```
512
+
513
+ ### 场景 4: 错误处理
514
+
515
+ ```bash
516
+ # 1. 查询失败任务
517
+ pnpm run cli status --task-id <task-id>
518
+
519
+ # 2. 如果需要,取消任务
520
+ pnpm run cli cancel --task-id <task-id>
521
+
522
+ # 3. 重新创建任务
523
+ pnpm run cli create \
524
+ --topic "主题" \
525
+ --requirements "要求" \
526
+ --mode sync
527
+ ```
528
+
529
+ ---
530
+
531
+ ## ❓ 常见问题
532
+
533
+ ### Q1: sync 和 async 模式有什么区别?
534
+
535
+ **sync(同步)**:
536
+ - 在当前进程中执行
537
+ - 等待完成并显示结果
538
+ - 适合测试和调试
539
+
540
+ **async(异步)**:
541
+ - 任务加入队列
542
+ - 需要 Worker 处理
543
+ - 适合生产环境
544
+
545
+ ### Q2: 为什么异步模式的任务没有执行?
546
+
547
+ 确保:
548
+ 1. Worker 正在运行: `pnpm run worker`
549
+ 2. Redis 服务正常运行
550
+ 3. 数据库连接正常
551
+ 4. 使用 `pnpm run cli status --task-id <id>` 查看任务状态
552
+
553
+ ### Q3: 如何提高任务处理速度?
554
+
555
+ 1. 增加并发数: `pnpm run worker --concurrency 4`
556
+ 2. 启动多个 Worker 实例
557
+ 3. 优化 LLM 调用配置
558
+ 4. 启用缓存
559
+
560
+ ### Q4: 任务失败后如何重试?
561
+
562
+ 方式 1 - 使用监控面板:
563
+ 1. 访问 `http://localhost:3000/admin/queues`
564
+ 2. 找到失败的任务
565
+ 3. 点击 "重试" 按钮
566
+
567
+ 方式 2 - 重新创建:
568
+ ```bash
569
+ pnpm run cli create \
570
+ --topic "主题" \
571
+ --requirements "要求" \
572
+ --mode sync
573
+ ```
574
+
575
+ ### Q5: 如何查看 Worker 日志?
576
+
577
+ Worker 日志会输出到控制台和日志文件:
578
+ ```bash
579
+ # 查看实时日志
580
+ tail -f logs/app.log
581
+
582
+ # 查看错误日志
583
+ tail -f logs/error.log
584
+ ```
585
+
586
+ ### Q6: 可以同时运行多个 Worker 吗?
587
+
588
+ 可以!每个 Worker 需要:
589
+ 1. 唯一的 Worker ID: `--worker-id worker-1`
590
+ 2. 独立的终端窗口
591
+ 3. 共享的 Redis 和数据库连接
592
+
593
+ ```bash
594
+ # 终端 1
595
+ pnpm run worker --worker-id worker-1 --concurrency 2
596
+
597
+ # 终端 2
598
+ pnpm run worker --worker-id worker-2 --concurrency 2
599
+ ```
600
+
601
+ ### Q7: 如何停止正在执行的任务?
602
+
603
+ ```bash
604
+ # 取消任务
605
+ pnpm run cli cancel --task-id <task-id>
606
+
607
+ # 或停止 Worker
608
+ # 在 Worker 终端按 Ctrl+C
609
+ ```
610
+
611
+ ---
612
+
613
+ ## 📚 相关文档
614
+
615
+ - [用户操作手册](./user-guide.md)
616
+ - [快速开始指南](./quick-start.md)
617
+ - [架构设计文档](./architecture-complete.md)
618
+
619
+ ---
620
+
621
+ **文档版本**: 1.0
622
+ **最后更新**: 2026-01-24
623
+ **维护者**: Content Creator Team
@@ -200,6 +200,53 @@ npm test
200
200
 
201
201
  ## 📊 监控和调试
202
202
 
203
+ ### Monitor 监控面板
204
+
205
+ **启动监控面板**:
206
+
207
+ ```bash
208
+ # 启动 Bull Board 监控面板
209
+ pnpm run monitor
210
+ ```
211
+
212
+ **访问地址**: http://localhost:3000/admin/queues
213
+
214
+ **主要功能**:
215
+ - 查看任务队列状态(等待中、执行中、已完成、失败)
216
+ - 手动重试失败的任务
217
+ - 查看任务详情和日志
218
+ - 暂停/恢复队列
219
+ - 清空队列
220
+
221
+ **测试 API 端点**:
222
+
223
+ ```bash
224
+ # 健康检查
225
+ curl http://localhost:3000/health
226
+
227
+ # 获取队列统计
228
+ curl http://localhost:3000/api/stats
229
+ ```
230
+
231
+ **完整使用流程**:
232
+
233
+ ```bash
234
+ # 1. 启动监控面板(终端 1)
235
+ pnpm run monitor
236
+
237
+ # 2. 启动 Worker(终端 2)
238
+ pnpm run worker
239
+
240
+ # 3. 创建异步任务(终端 3)
241
+ pnpm run cli create \
242
+ --topic "Web 开发最佳实践" \
243
+ --requirements "写一篇关于现代 Web 开发的文章" \
244
+ --mode async
245
+
246
+ # 4. 在浏览器中访问 http://localhost:3000/admin/queues
247
+ # 观察任务从创建到完成的整个流程
248
+ ```
249
+
203
250
  ### 查看日志
204
251
 
205
252
  系统使用 Winston 日志,输出到控制台和文件。