基于 NestJS 的自动化任务执行平台。
支持通过 HTTP API 管理定时爬虫与工作流任务,提供增量/全量抓取、指数退避重试、邮件与企业微信通知,以及 Bull Board 任务队列可视化面板。
- 任务调度:BullMQ + Valkey 队列,支持 Cron 表达式动态注册/注销
- Playwright 抓取:并发可控的浏览器池,支持复杂站点的无头抓取
- 增量/全量模式:OA 爬虫可按需全量重跑或仅抓取增量条目
- 分层异常体系:
AppException继承链,域异常按模块独立注册 - 双令牌认证:JWT ES256(Access + Refresh),HttpOnly Cookie
- 结构化日志:Pino JSON 日志 + AsyncLocalStorage 请求链路追踪
- 完整测试覆盖:Service 单元测试 + API E2E 测试(Supertest)
- Automation Dashboard:Vue3 SPA,任务管理、执行历史、数据可视化
cp .env.example .env.development
pnpm install
pnpm db:migrate # 初始化数据库
pnpm start:dev # 启动开发服务(热重载)API 文档:http://localhost:3000/api-doc
Bull Board:http://localhost:3000/admin/queues
cd dashboard && pnpm install && pnpm dev访问 http://localhost:5173,通过 Dashboard 管理任务定义、查看执行历史与数据图表。
docker compose up -d --wait- 后端:
http://localhost:3000 - Dashboard:
http://localhost:4000
更多内容见 docs/。