[Bug] 桌面版 3.10.2 自动化:套餐/模型变更后旧 automations 持有失效模型,全部触发 failed_to_dispatch,报错仅在内部数据库可见
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 22
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
环境
ZCode Desktop 3.10.2(macOS Apple Silicon)。自动化创建于 bigmodel start-plan 时期;其后套餐切换为 coding-plan。
现象
- 套餐切换后,automations 里保存的模型仍为旧 provider(
builtin:bigmodel-start-plan/GLM-5.3-Flash),该 provider 已从账号消失 - 每次定时/手动触发立即失败:UI 仅显示 toast「触发运行失败」+ 卡片「已失败」,无任何原因说明;日志(zcode-*.jsonl)也无相关记录
- 调度器本身正常(Mac 睡眠时的触发记录了
computer_asleep_or_app_not_running,说明定时唤醒与派发链路是通的)
错误定位(内部数据库)
~/.zcode/v2/tasks-index.sqlite → automation_runs.error:
当前会话使用的模型已不可用,请从当前模型列表中选择一个可用模型后继续。
连续 7 次触发(2 次定时 + 5 次手动)全部如此,UI 层完全不可见。
手工修复
备份后 UPDATE automations.model 为当前可用模型(builtin:bigmodel-coding-plan/GLM-5.3-Flash),下一次手动触发立即成功。
建议
- 套餐/模型下线时,自动把 automations.model 迁移到最接近的可用模型;或在自动化卡片上标红「模型已失效,点击修复」
- 触发失败的 run 应在 UI History 中可见并显示 error(类似 Claude Desktop Scheduled 页的 per-run 状态),而不是只存内部数据库
- 「触发运行失败」toast 建议附带原因摘要
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with an automation whose automations.model points to the unavailable provider, then inspect ~/.zcode/v2/tasks-index.sqlite and automation_runs.error. Compare the database error with the automation card, UI History, toast, and zcode-*.jsonl output. Done means the invalid-model failure is surfaced to users with an actionable indication rather than remaining only in the internal database.
Written by the indexing model from the issue text.
Assessment
- Domain
- database, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100