Skip to content

Run / Event

所有一键、定时、手机、渠道、CLI、API 和自动化串联都创建同一种 LocalJob。运行状态以执行电脑为真源。

LocalJob 状态

text
queued
resolving_inputs
waiting_account
running
waiting_network
waiting_user
retrying
succeeded
failed
interrupted
cancelled

source_typemanualschedulechannelmobilecliapiautomation

每个 Job 保存不可变 input_snapshot、最终 output、错误码、来源消息、定时 fire_key 和真实开始/结束时间。

StepRun

每个步骤和尝试单独记录:

  • statusqueuedrunningwaiting_usersucceededfailedcancelledskipped
  • strategyapidomdesktop 或受限 agent
  • 输入、输出、错误和最小证据。
  • side_effect_keyside_effect_status

副作用状态为 not_startedsentconfirmedunknownunknown 时禁止盲目重复执行。

RuntimeEvent

事件按每个 Job 内递增的 sequence 排序。类型包括:

text
job.created          job.started          job.progress
job.waiting          job.completed        job.failed
job.cancelled        step.started         step.completed
step.failed          account.status       interaction.required
agent.progress       artifact.created

Job 与首条 job.created 在同一个 SQLite 事务写入;同一 Job 的 sequence 也在事务中原子递增。local_job_events 是事件的唯一持久真源,桌面 UI、手机状态摘要、只含引用的录制视图和本地日志都是它的分发消费者。连接中断后会从 SQLite 重放,30 秒轮询仅作为恢复兜底。

browser.frame

画面帧仅用于正在打开的远程交互会话。它走独立瞬态二进制通道,不属于 RuntimeEvent,不进入普通业务消息队列或 SQLite;慢客户端只保留最新帧。

取消和崩溃

取消请求会写入 Job,再由执行步骤安全响应。Runtime 崩溃后遗留的 running 会转为 interrupted,只有经过幂等判断的步骤才允许恢复。

Workova 官方文档