|
1 | 1 | # v1.3.0 |
2 | 2 |
|
3 | 3 | ## 发布日期 |
4 | | -2026 年 2 月 3 日 |
5 | | - |
| 4 | +2026 年 3 月 4 日 |
6 | 5 |
|
7 | 6 | --- |
8 | 7 |
|
9 | 8 | ## SDK |
10 | 9 |
|
11 | 10 | ### 新功能 |
12 | 11 |
|
13 | | -#### 运行时环境(Runtime Environment) |
14 | | -**[运行时环境参考文档](../References/Python%20SDK%20References/runtime-env.md)** |
15 | | - |
16 | | -- **新增**:通过 `extra_symlink_dir` 和 `extra_symlink_executables` 支持可执行文件符号链接,可将运行时可执行文件暴露到系统路径 |
17 | | - |
18 | | -#### Model Service(实验性) |
19 | | -**[Model Service 参考文档](../References/Python%20SDK%20References/model-service.md)** |
20 | | - |
21 | | -处理 Agent 与 LLM 推理服务之间的模型调用通信: |
22 | | -- Local 模式:Agent 与 Roll 运行时之间的文件通信,基于文件的通信协议,实现请求-响应机制 |
23 | | -- Proxy 模式:支持请求转发到外部 LLM 服务,具备路由和重试功能 |
| 12 | +#### Sandbox 客户端 |
| 13 | +- **新增**: Sandbox 客户端中的 `close_session` 方法,用于显式管理会话生命周期 ([#451](https://github.com/alibaba/ROCK/pull/451)) |
24 | 14 |
|
25 | | -- SDK 支持 `anti_call_llm`,用于代理 Agent 请求 |
26 | | -- **新增**:完整的 CLI start 命令参数(`--config-file`、`--host`、`--port`、`--proxy-base-url`、`--retryable-status-codes`、`--request-timeout`) |
27 | | -- **新增**:轨迹(traj)日志记录 - 将 LLM 请求/响应记录到 JSONL 文件(`ROCK_MODEL_SERVICE_DATA_DIR`、`ROCK_MODEL_SERVICE_TRAJ_APPEND_MODE`) |
28 | | -- **新增**:服务端 `ModelServiceConfig` 配置(`host`、`port`、`proxy_base_url`、`proxy_rules`、`retryable_status_codes`、`request_timeout`) |
| 15 | +#### 评测示例 |
| 16 | +- **swe_bench**: 集成 iFlow 的 SWE-bench Verified 评测示例 ([#508](https://github.com/alibaba/ROCK/pull/508)) |
29 | 17 |
|
30 | | -#### Agent 示例 |
31 | | -**[示例目录](https://github.com/Modelized/ROCK/tree/master/examples/agents)** |
| 18 | +## Admin |
32 | 19 |
|
33 | | -演示 ROCK Agent 与各种 AI 框架集成的实践示例: |
| 20 | +### 新功能 |
34 | 21 |
|
35 | | -- **claude_code/**: Claude Code Agent 集成示例(使用 Node.js 运行时) |
36 | | - - 命令:`claude -p ${prompt}` |
37 | | - - 依赖:`npm install -g @anthropic-ai/claude-code` |
38 | | - - 通过 `rock_agent_config.yaml` 配置 |
| 22 | +#### Kubernetes Operator |
| 23 | +- **新增**: 支持 K8s Operator,用于基于 Kubernetes 的沙箱编排 ([#423](https://github.com/alibaba/ROCK/pull/423)) |
| 24 | +- 将 `extensions` 重命名为 `extended_params` 以保持一致性 ([#470](https://github.com/alibaba/ROCK/pull/470)) |
39 | 25 |
|
40 | | -- **iflow_cli/**: iFlow CLI Agent 集成示例(使用 Node.js 运行时) |
41 | | - - 命令:`iflow -p ${prompt} --yolo` |
42 | | - - 依赖:`npm i -g @iflow-ai/iflow-cli@latest` |
| 26 | +#### Docker 镜像仓库登录 |
| 27 | +- **新增**: 支持 Docker 镜像仓库登录,以便从私有镜像仓库拉取镜像 ([#537](https://github.com/alibaba/ROCK/pull/537)) |
43 | 28 |
|
44 | | -- **swe_agent/**: SWE Agent 集成示例 |
45 | | - - 演示标准 ROCK Agent 设置模式 |
| 29 | +#### Sandbox |
46 | 30 |
|
47 | | -- **iflow_cli/integration_with_model_service/**: Model Service 集成示例 |
48 | | - - **local/**: Local 模式示例,包含自定义 LLM 后端 |
49 | | - - 展示 `anti_call_llm` 用法和服务循环模式 |
50 | | - - **proxy/**: Proxy 模式示例,配合 iFlow CLI 使用 |
51 | | - - 演示 `rock model-service start --type proxy --proxy-base-url` 用法 |
| 31 | +- **新增**: 沙箱镜像元数据中新增 `image_os` 字段 ([#510](https://github.com/alibaba/ROCK/pull/510)) |
| 32 | +- **新增**: 支持 Kata 容器运行时,增强沙箱隔离性 ([#474](https://github.com/alibaba/ROCK/pull/474)) |
| 33 | +- **新增**: 命名空间级别的指标采集 ([#427](https://github.com/alibaba/ROCK/pull/427)) |
| 34 | +- **新增**: 支持指定端点的监控 ([#469](https://github.com/alibaba/ROCK/pull/469)) |
| 35 | +- **新增**: 沙箱配置中新增自动清理秒数参数 ([#458](https://github.com/alibaba/ROCK/pull/458)) |
| 36 | +- **新增**: `get_status` 遇到超时或失败阶段时上报指标 ([#552](https://github.com/alibaba/ROCK/pull/552)) |
52 | 37 |
|
| 38 | +--- |
53 | 39 |
|
54 | | -## Admin |
| 40 | +### Enhancements |
55 | 41 |
|
56 | | -### 新功能 |
| 42 | +#### 性能优化 |
| 43 | +- 判断 `get_status` 方法通过ray实现还是rocklet实现的逻辑移动到了ray operator中,避免相关判断逻辑对其他operator的实现造成干扰。 ([#487](https://github.com/alibaba/ROCK/pull/487)) |
57 | 44 |
|
58 | | -#### 任务调度器(Task Scheduler) |
59 | | -一个灵活的任务调度系统,用于管理 Ray Worker 节点上的周期性维护任务。 |
60 | | - |
61 | | -**内置任务:** |
62 | | -- **ImageCleanupTask**:使用 [docuum](https://github.com/stepchowfun/docuum) 进行 Docker 镜像清理,支持可配置的磁盘阈值 |
63 | | - |
64 | | -**配置示例:** |
65 | | -```yaml |
66 | | -scheduler: |
67 | | - enabled: true |
68 | | - worker_cache_ttl: 3600 |
69 | | - tasks: |
70 | | - - task_class: "rock.admin.scheduler.tasks.image_cleanup_task.ImageCleanupTask" |
71 | | - enabled: true |
72 | | - interval_seconds: 3600 |
73 | | - params: |
74 | | - threshold: "1T" |
75 | | -``` |
76 | | -
|
77 | | -**可扩展性:** |
78 | | -通过继承 `BaseTask` 并实现 `run_action(runtime: RemoteSandboxRuntime)` 方法来创建自定义任务。 |
79 | | - |
80 | | -#### Entrypoints |
81 | | - |
82 | | -- **新增**: 批量查询沙箱状态 API (`POST /sandboxes/batch`) |
83 | | - - 在单个请求中高效检索多个沙箱的状态信息 |
84 | | - - 接受包含 `sandbox_ids` 列表的 `BatchSandboxStatusRequest` 请求 |
85 | | - - 返回包含所有请求沙箱状态详情的 `BatchSandboxStatusResponse` 响应 |
86 | | - - 支持可配置的最大数量限制(默认值来自 `batch_get_status_max_count` 配置) |
87 | | - |
88 | | -- **新增**: 沙箱列表和过滤 API (`GET /sandboxes`) |
89 | | - - 使用灵活的查询参数查询和过滤沙箱 |
90 | | - - 通过 `page` 和 `page_size` 参数支持分页 |
91 | | - - 返回包含条目列表、总数和 `has_more` 标识的 `SandboxListResponse` 响应 |
92 | | - - 支持按沙箱属性过滤(例如:部署类型、状态、自定义元数据等) |
93 | | - - 最大页面大小可通过 `batch_get_status_max_count` 配置 |
| 45 | +#### 架构重构 |
| 46 | +- 将沙箱生命周期管理操作(启动/停止/销毁)委托至 operator 层 ([#423](https://github.com/alibaba/ROCK/pull/423)) |
| 47 | +- 将非管理类方法移回 proxy 服务,使服务边界更清晰 ([#433](https://github.com/alibaba/ROCK/pull/433)) |
| 48 | +- 将调度器从独立进程重构为独立线程,降低资源开销 ([#507](https://github.com/alibaba/ROCK/pull/507)) |
94 | 49 |
|
95 | | -#### Sandbox |
| 50 | +#### 部署 |
| 51 | +- 部署格式化方法中支持 `${}` 和 `<<>>` 模板语法 ([#485](https://github.com/alibaba/ROCK/pull/485)) |
| 52 | +- 在不需要时跳过对运行命令的包装 ([#483](https://github.com/alibaba/ROCK/pull/483)) |
| 53 | +- 沙箱代理 HTTP 支持 ([#453](https://github.com/alibaba/ROCK/pull/453)) |
96 | 54 |
|
97 | | -- 修改 Sandbox 日志格式:时间戳使用 ISO 8601 格式,默认时区为 Asia/Shanghai(亚洲/上海) |
98 | | -- 丰富 SandboxInfo:添加 create_time、start_time、stop_time |
99 | | -- 添加计费日志:当 sandbox 关闭时记录计费日志 |
| 55 | +#### 配置 |
| 56 | +- 将 `/tmp` 作为 `ROCK_SERVICE_STATUS_DIR` 的默认值 ([#522](https://github.com/alibaba/ROCK/pull/522)) |
| 57 | +- 支持阿里云 MSE 的 `server_addresses` 以集成 Nacos ([#521](https://github.com/alibaba/ROCK/pull/521)) |
100 | 58 |
|
101 | 59 | --- |
102 | 60 |
|
103 | | -### 增强 |
| 61 | +### 缺陷修复 |
| 62 | + |
| 63 | +- 修复自定义安装命令未设置工作目录的问题 ([#505](https://github.com/alibaba/ROCK/pull/505)) |
| 64 | +- 修复模型服务 CLI 命令中 Python 警告未被抑制的问题 ([#503](https://github.com/alibaba/ROCK/pull/503)) |
| 65 | +- 修复本地 admin 启动失败的问题 ([#494](https://github.com/alibaba/ROCK/pull/494)) |
| 66 | +- 修复调度器任务文件检测问题 ([#465](https://github.com/alibaba/ROCK/pull/465)) |
| 67 | +- 修复抛出异常时 `count.total` 指标未上报的问题 ([#527](https://github.com/alibaba/ROCK/pull/527)) |
104 | 68 |
|
105 | | -#### 性能优化 |
106 | | -- 实现 get_status 接口逻辑与 Ray 的解耦:将 API 响应耗时从 1s 以上显著降低至 100ms 级别;支持新旧逻辑的动态在线切换。 |
107 | | -- 将ray相关操作从sandbox manager中下沉至ray service。 |
0 commit comments