SuperAPI AI 工具集

eve-job-debugging

部署与运维

查看项目

更新于 10-15 14:31

技能介绍

Eve Job Debugging 是一套围绕 Eve 作业(Job)的监控与调试方法,核心原则是仅通过 Eve CLI 进行调试。资料指出,这样做是为了复现客户端体验——客户端没有 kubectl 或宿主机访问权限。因此每一项调试能力都必须能通过 CLI 获得;如果诊断某个作业问题需要系统工具,那就说明 CLI 存在缺口,应当修复。

用途与定位 该技能用于监控和调试 Eve 作业,典型场景是作业卡住、失败,或需要快速获取状态。它既覆盖日常的日志查看与结果获取,也覆盖较深入的诊断,例如时间线、错误摘要、尝试次数、阶段和依赖阻塞。

主要能力与命令 监控方面:

  • eve job follow <id>:流式输出日志。
  • eve job wait <id> --timeout 300 --json:等待作业完成。
  • eve job result <id> --format text:获取最新结果。

诊断方面:

  • eve job diagnose <id>:查看时间线与错误摘要。
  • eve job show <id> --verbose:查看尝试(attempts)与阶段(phase)。
  • eve job dep list <id>:查看依赖阻塞情况。

作业级 Harness 覆盖 当调试到意外的 harness 行为时,应先怀疑作业级覆盖,而不是智能体默认值。作业可能在创建时携带内联覆盖:

  • --harness-override-file <path.json>:内联的 {harness, model?, reasoning_effort?, variant?, temperature?} 组合,其优先级高于 harness_profile。
  • --env-override KEY=VALUE(可重复):作业级环境变量值,可包含 ${secret.KEY} 占位符,在 spawn 时解析。

这两个字段会持久化在作业记录上(harness_profile_override、env_overrides),也会记录在每次尝试上(harness_profile_source、harness_profile_hash)。可通过 eve job show <id> --json 检查,并查看该尝试上的路由日志条目,确认解析后的 harness_profile_source(agent_default、string_ref、inline_override 或 workflow_template)。缺失密钥插值会快速失败,错误码为 missing_secret_override。

卡住的作业 资料说明,编排器现在可以自愈 agent-runtime pod 丢失的情况,这类情况不再导致作业卡住:

  • 执行中途 pod 死亡:recoverActiveJobsWithTerminatedAttempts 清扫会回收那些尝试已被外部终结的活跃作业,释放限流槽位,并关闭工作流根。
  • 优雅关闭:agent-runtime 的 preStop 会把运行中的尝试标记为 pod_terminated,并将 pod 状态设为 draining,使新的路由不再落到该 pod。
  • 陈旧恢复:覆盖所有 assignee 类型(不只是 orchestrator),因此 agent 分配的作业(例如 map-generator、pm-coordinator)对看门狗可见。

如果作业仍在 active 状态且无心跳超过 5 分钟,可运行 eve job diagnose <id> 并检查 pod 状态;如果 pod 处于 draining 或缺失,下一次清扫会将其回收。

环境门控与临时智能体 环境门控(项目级串行化)只对 action 作业生效(设置了 action_type:deploy、build、migrate)。仅携带 env_name 的临时智能体运行不再通过 env 互斥锁串行化——同一环境中的多个临时作业现在可以并行运行。如果需要互斥,应添加显式的 action_type。

多尝试的智能体运行 编排器会在每次尝试进入终态(成功、失败、编排器错误)时发出 system.job.attempt.completed。可用它驱动学习循环或会话后复盘工作流。写入智能体记忆的延续上下文(learnings、decisions、runbooks、context、conventions、user)可供同一智能体的后续尝试使用。

系统健康 可使用 eve system health 确认 API 是否可达。

适用场景与限制 该技能适用于需要通过 CLI 排查 Eve 作业状态、失败原因、依赖阻塞和 harness 覆盖问题的场景。其限制在于:调试必须通过 Eve CLI 完成,不依赖 kubectl 或宿主机访问;资料未提供图形界面、价格、平台支持范围或安装步骤等信息。