chore: 去掉 generic_steps 的默认步骤 + 重试失败带上真实原因

- tasks/generic/task.py:DEFAULT_PARAMS 只留 max_duration,**不再内置示例步骤**
  (步骤只能由前端编辑器产出;此前默认的"打开抖音→循环看视频"只有后端在用,
  编辑器新建任务本来就是空的,等于埋了个和界面不一致的隐性默认值)
- 空步骤不再静默空跑:worker 立即抛错「通用步骤任务没有可执行步骤…」,
  设备表「最近错误」能看到(此前会走完 0 步当成功)
- core/task_manager.py:重试耗尽的 last_error 现在带上最后一次的真实失败原因,
  不再只有"重试N次失败"(用户看不到为什么失败);max_attempts=1 显示"执行失败"
  而非费解的"重试1次失败";长度截断 200 字符
- 文档:TASK_DEV §2.10 说明无默认步骤 + 空步骤会报错;API.md 的 task_types 示例
  改 default_params={"max_duration":0},POST /api/jobs 补「steps 要一起传」提示

自测(全通过):default_params 无 steps;无步骤任务真跑一次 → 设备错误信息完整含原因;
有步骤任务(wait 1s)真跑一次 → status=done 无错误;临时任务验完已删,任务集合复原
This commit is contained in:
2026-09-10 21:50:18 +08:00
parent 98cdc39224
commit f4b5316436
4 changed files with 24 additions and 17 deletions
+5 -1
View File
@@ -222,7 +222,7 @@
"task_type": "generic_steps",
"name": "通用步骤",
"description": "通过步骤编辑器编排...",
"default_params": {"steps": [...]}
"default_params": {"max_duration": 0}
}
]
}
@@ -305,6 +305,10 @@
{"ok": true, "msg": "任务已创建", "job": {"id": "abc123", "...": "..."}}
```
> **`params.steps` 要一起传**:`generic_steps` 的执行内容全在 `params.steps`,后端**不提供默认步骤**、
> 也不做参数校验(编辑器是参数正确性的唯一关卡)。不传 steps 的任务能建成功,但执行时会立即报错
> 「通用步骤任务没有可执行步骤」,请在「任务」页用步骤编辑器补步骤。
`schedule` 字段格式:
| 字段 | 说明 |
|------|------|