跳到主要内容
版本:1.6.x

v1.6.0

发布日期

2026 年 4 月 17 日


亮点

本次发布的核心是 Job 模块 的重大重构,引入清晰的 Job / Operator / Executor / Trial 分层抽象。在此基础上新增了两类作业类型 — BashJob(含 OSS 产物镜像)与 HarborJob。CLI rock job run 命令也已重写,支持严格 YAML 校验与作业类型自动识别。


Job 模块

新架构

Job / Operator / Executor / Trial 抽象

  • 新增: 将 Job 模块重构为分层架构:JobOperatorExecutorTrial。该结构解耦了作业编排、调度、执行与单次尝试逻辑,便于扩展新的作业类型 (#779, #780)

  • on_sandbox_ready backfill 逻辑上提至 AbstractTrial,便于各类 Trial 共享 (#788, #789)

BashJob

  • 新增: BashJob trial 支持 — 通过 SDK 或 CLI 提交 shell 脚本作业。参考 examples/bash/simple_bash_job_demo.sh (#772)

  • 新增: BashJob OSS Mirror — 作业完成后自动上传产物到 OSS (#823)

  • 新增 claw-eval BashJob 示例,位于 examples/evaluation/claw_eval/ (#804)

HarborJob

  • 新增: HarborJob trial 支持,基于新的 Job 抽象提交 agent 风格的作业 (#798)

配置与校验

作业类型自动识别

  • 新增: rock job run 现在通过严格的 Pydantic 模型校验从 YAML 自动识别作业类型 — 无需指定 --type (#814)

双模式输入

  • 新增: rock job run 重写,同时支持 --config(完整 YAML)与命令行参数两种模式,校验更严格、错误信息更清晰 (#818)

Native 模板配置

  • 新增: 在 NativeConfig 中新增 TemplateConfigtemplate 字段,支持基于模板的作业定义 (#786)

自动生成的 job_name

  • 自动生成 job_name 时对过长的路径片段进行截断,避免触发下游长度限制 (#791)

默认超时延长

  • JobConfig 默认超时从 3600s 延长至 7200s,更贴合真实长时作业场景 (#806, #810)

Bug 修复

  • JobConfig.experiment_id 现在优先于 environment.experiment_id,确保调用方拥有显式控制权 (#822)

  • 修复 BashTrial.collect 未正确填充 raw_outputexit_code 的问题 (#808)

  • 移除 BashTrial.build() 中冗余的 shebangset -e 注入,尊重用户脚本 (#816)


EnvHub

重构

  • 破坏性变更: JobEnvironmentConfig 已迁移至 envhub,更名为 EnvironmentConfig。请相应更新 import 路径 (#800)

  • 移除 EnvironmentConfig 中已弃用的 auto_stop 参数 — sandbox 生命周期改由 auto_delete_seconds(v1.5.0 引入)控制 (#820)

  • 重构 EnvHub 上传链路,明确客户端与服务端职责边界 (#802)


Admin

数据库

  • SandboxRecord.image 列长度从 255 扩展至 512 字符,支持更长的镜像路径;同时禁用 asyncpg 的 prepared-statement 缓存以避免 PgBouncer 兼容性问题 (#794)

CLI

  • admin stop 命令中懒加载 psutil,加快无关 CLI 调用的启动速度,并避免 psutil 不可用时的导入期失败 (#831)

测试与 CI

  • pg_container 测试 fixture 中加入 SELECT 1 readiness 探测,避免集成测试 flaky (#778)

  • 全仓应用 ruff format,并将剩余中文注释翻译为英文 (#812)


迁移说明

  • auto_stop 已移除: 请更新依赖 auto_stopEnvironmentConfig 用法,改用 auto_delete_seconds(v1.5.0 引入)。

  • JobEnvironmentConfigEnvironmentConfig: 将 rock.sdk.agent.models.job 的 import 改为 rock.sdk.envhub

  • 默认 Job 超时: 之前会触发 3600s 超时的作业,现在默认可运行至 7200s。如需保持原有行为,请显式设置 JobConfig.timeout

  • rock job run: CLI 现在严格校验 YAML,先前能"静默通过"的未知字段或缺失字段配置会立即失败。