2026.07.03 Release v0.5.0
CubeSandbox 0.5.0 带来了四大核心特性:AutoPause/AutoResume 沙箱生命周期自动化(闲置沙箱自动暂停并在请求到达时毫秒级唤醒)、ARM64 (aarch64) 全栈原生支持(从 hypervisor 到 CI/CD 的完整适配)、腾讯云 Terraform 一键集群部署(生产级 IaC 部署方案),以及网络安全性增强(入向流量令牌鉴权、CubeEgress 启动期 Fail-Closed、出向策略路由)。其他重要更新包括:纯 Go 原生 rootfs 导出管线(绕过 Docker/skopeo/umoci,显著降低内存与构建时间开销)、快照运行时锁重构(消除高并发回滚死锁)、镜像 uid/gid 保留修复(修复非 root 镜像权限问题)、E2B SDK 对齐(完整的文件系统与 PTY API),以及一键升级模式(三路配置合并)。共计 116 个提交,来自 26 位贡献者。
🎯 核心特性
AutoPause / AutoResume:沙箱生命周期自动化
Agent 工作流中的沙箱大部分时间处于闲置状态——等待用户输入、回调、或 RL 的下一轮 rollout。AutoPause/AutoResume 让平台自动暂停闲置沙箱,并在新请求到达时原地唤醒,将物理资源在闲置期间完全释放。这是一个平台侧承担、per-sandbox 粒度的能力,语义与 E2B 的 lifecycle 参数对齐。
- AutoPause 机制:新增的
cube-proxy-sidecar组件内建 sweeper,通过 CubeProxy 的log_phase.lua上报的last_active时间戳跟踪沙箱活跃状态。当idle >= timeout_seconds时,sweeper 通过 CubeMaster → Cubelet 触发暂停:将 MicroVM 的完整状态(内存 + 文件系统)快照到/data/cubelet/root/pausevm/<sandbox>,然后关闭沙箱。BootstrapWarmup窗口可防止 sidecar 刚启动时的误暂停。 - AutoResume 机制:当数据面请求到达已暂停的沙箱时,CubeProxy 的
sandbox_state.lua门控拦截请求,向 sidecar 的/internal/resume发起内部子请求。Sidecar 通过 CubeMaster → Cubelet → containerd 驱动恢复流程,从暂停快照中原地恢复 VM。数据面请求会阻塞等待恢复完成(受 nginxproxy_read_timeout约束)。同沙箱的并发恢复请求在进程内合并(singleflight 模式);跨副本协调通过 Redis SETNX 分布式锁。 - 可配置资源释放比例 (#553):节点级配置
host.quota.paused_resource_release_ratio(float[0, 1],默认0)控制暂停沙箱向调度器释放多少 CPU/内存配额。设为1.0时,暂停资源全部释放,实现最大调度密度;设为0时,保留完整配额,确保恢复链路绝对可靠。恢复前会进行本地准入检查——若节点容量不足,返回 HTTP 409 并附带精确的容量诊断信息。 - 入向流量令牌门控 (#639):以
network.allow_public_traffic=false创建的沙箱会获得一个 per-sandbox 的traffic_access_token(UUID v4)。CubeProxy 在每个入站请求(包括冷路径和缓存命中路径)强制校验此令牌,缺失或错误令牌返回 HTTP 403。令牌值在所有日志中均被脱敏。兼容e2b-traffic-access-token和cube-traffic-access-token两种请求头。 - Kill 路径:
on_timeout="kill"的沙箱走闲置超时 Kill 路径(task.Kill)。新增POST /cube/sandbox/timeout和POST /cube/sandbox/refreshAPI,暴露end_at实现确定性的生命周期管理。CubeProxy 门控对 killing/killed 状态返回410 Gone。
新增文件:CubeProxy/sidecar/(Go 二进制——sweeper、resumer、registry、stream consumer、last-active poller、Redis 协调);CubeProxy Lua 模块(sandbox_state.lua、admin_phase.lua);CubeMaster 生命周期端点;Cubelet pause/resume RPC。
ARM64 (aarch64) 全栈原生支持
CubeSandbox 现已支持在 ARM64 主机上全栈原生运行,覆盖 hypervisor、guest agent、shim、网络(BPF)、构建系统、CI/CD 和部署工具。这是 Arm 工程团队与 Cube 项目组的深度联合研发成果,项目状态已从可行性验证推进到正式 Enablement。
- Hypervisor 适配 (4dc72757):SysCtrl 设备(guest 到 host 的信号通道:关机、重启、vsock-ready)从 PIO 端口 I/O(x86 专用)重写为 MMIO 内存映射 I/O,在
mmio_bus的LEGACY_SYS_CTRL_MAPPED_IO_START地址注册。KVM 寄存器访问(get_one_reg)适配上游 API 变更。Seccomp 过滤规则按 ARM64 系统调用号差异对齐(SYS_lstatvsSYS_fstatat/SYS_newfstatat)。热迁移功能保持 x86_64 专属。 - Guest Agent (cb5706a8):RPC 就绪信号从 x86 的
ioperm()+ PIO 端口写入(端口0x680)改为 ARM64 的/dev/mem在物理地址0x0903_0000(SysCtrl MMIO 区域)处 mmap +ptr::write_volatile。构建目标自动检测宿主机架构。 - CubeShim (fe3044cf, 4feab884):内核命令行按架构自适应——
console=ttyAMA0,115200(ARM PL011 UART)vsconsole=hvc0(virtio-console)。x86 专用参数(no_timer_check、noreplace-smp)通过#[cfg(target_arch = "x86_64")]条件编译。Seccomp 白名单对齐:ARM64 上SYS_mkdir→SYS_mkdirat;补充缺失的SYS_faccessat2(ARM64 glibc 路径解析所用)。 - BPF / CubeNet (cb263f24):BPF
//go:generate指令中的硬编码-target amd64替换为-target $GOARCH。按架构提供vmlinux.h(amd64 + arm64 BTF 导出)。BPF 目标文件改为构建时生成;预编译.o文件从 git 中移除。需要 clang ≥ 14(已通过apt.llvm.org加入构建镜像)。 - Multi-Arch 镜像构建 (c6bb3762, 475b4885):
Dockerfile.builder通过TARGETARCH参数化 Go、protoc、Rust 工具链下载。CubeEgress、CubeAPI 和 envd 镜像支持 Multi-Arch Manifest List。容器化make guest-kernel目标支持本地和交叉构建,使用架构特定的内核配置(kernel-oc9.x86_64.config、kernel-oc9.aarch64.config)。 - CI/CD (#720):Builder image、VMLinux、one-click release 工作流均产出分架构制品。Release 工作流拆分为
release_amd64和release_arm64两个 Job,分别在原生 Runner 运行,上传到同一个 GitHub Release。 - 部署 (cb52bc72):开发环境(
run_vm.sh)自动检测架构——ARM64 使用machine virt+ UEFI 固件(qemu-efi-aarch64)。Release 打包脚本按架构选择合适的mkcert二进制。 - 已知限制(已在文档中标明):PVM(嵌套 KVM)仅支持 x86_64;ARM64 需使用裸金属物理机原生 KVM。热迁移仅支持 x86_64。
腾讯云 Terraform 集群化部署
一套面向腾讯云的生产级、一键式 Terraform IaC 集群部署方案。只需一份 release bundle,执行 create.sh 作为唯一入口,即可自动拉起完整的 CubeSandbox 集群——包含受管控制面、高可用中间件和弹性计算节点。
- 基础设施自动编排 (#629):Terraform 自动创建私有 VPC(
10.0.0.0/16)及按可用区的子网、NAT 网关(含弹性公网 IP)、安全组、以及一台跳板机(jumpserver)。云上托管服务自动创建:- MySQL(TencentDB 8.0):多可用区半同步复制,4GB 内存 / 200GB 磁盘,创建
cube应用账号及数据库级权限。 - Redis(TencentDB 7.0):标准主从架构,可配置内存(默认 1GB),密码保护。
- CFS(云文件存储):NFS 共享文件系统,供 cube-master 多副本挂载共享持久化存储(
/data/CubeMaster/storage),ReadWriteMany 模式。可选——开启后启用多副本高可用模式。 - TCR(腾讯云容器镜像服务):私有容器镜像仓库,VPC 内网链路打通,按部署创建命名空间,生成长期访问凭证。
- MySQL(TencentDB 8.0):多可用区半同步复制,4GB 内存 / 200GB 磁盘,创建
- TKE 控制面 (#629):托管 Kubernetes 集群(v1.34.1,GlobalRouter 网络,containerd 运行时),apiserver 仅限内网。四项控制面组件以 Deployment + CLB Service 形式部署:
- cube-master:共享 CFS NFS 卷,CubeEgress 中间人 CA(ECDSA P-256,Terraform 自动生成),内网 CLB 端口 8089。
- cube-api:公网 CLB 端口 3000,通过集群 DNS 代理到 cube-master。
- cube-proxy:公网 CLB 端口 80/443,Redis 和 TLS 凭证以 Secret 注入。
- cube-webui:公网 CLB 端口 80,nginx 反向代理到 cube-api 和 cube-proxy。
- 可配置副本数 (#658):
cubemaster_replicas、cube_api_replicas、cube_proxy_replicas、cube_webui_replicas变量(POC 模式默认 1 副本)。当TENCENTCLOUD_USE_CFS=true时,cube-master 支持多副本高可用,副本数同时驱动spec.replicas和调度器并发分配。 - 弹性计算节点:私有 VPC 内可配置一台或多台 CVM 实例(PVM 或裸金属),通过 TKE 节点池弹性扩缩容。默认 1 节点,支持自定义数量和实例规格。
- 一键升级模式 (#538):
install.sh --mode=upgrade自动检测已有安装,执行三路.env配置合并(新默认值 + 旧自定义值 + 显式覆盖值),fail-fast 预检(磁盘空间、语义化版本兼容性、CIDR 冲突),并在任何破坏性操作前备份配置。用户自定义修改被保留,密钥值在 diff 报告中脱敏但在实际合并文件中保留。 - 外部 MySQL/Redis 支持 (#514):一键安装器支持通过
CUBE_EXTERNAL_MYSQL_*/CUBE_EXTERNAL_REDIS_*变量接入已有的外部 MySQL 和 Redis 实例。本地 Docker 容器被 mask,所有组件(CubeMaster、CubeAPI、CubeProxy)使用外部端点。 - 其他安装器改进:废弃
CUBE_PROXY_HOST_PORT,拆分为CUBE_PROXY_HTTP_PORT/CUBE_PROXY_HTTPS_PORT(#588)。移除手动 SQL 初始化,改用 CubeMaster 内嵌 goose migration (#628)。CubeEgress 集成到计算节点启动流程 (#707)。改进外部依赖兼容性(Shell 安全的 env 持久化、redis-cli 超时兼容检测)(#673)。腾讯云部署配置了 cubelet 上报间隔与多节点调度器评分 (b8f22421)。镜像默认值更新为 v0.5.0 标签 (#719)。
新增文件:deploy/one-click/terraform/tencentcloud/(create.sh、destroy.sh、main.tf、variables.tf、tke-addons.tf、outputs.tf、lib-state-sync.sh、env.example);docs/guide/tencentcloud-terraform-deploy.md(中英文各一份)。
网络安全增强
入向、出向、数据面三个维度的关键网络安全补丁。
- Per-sandbox 流量访问令牌 (#639):已在 AutoPause/AutoResume 章节详述。CubeProxy 在
AllowPublicTraffic=false时对每个入向请求强制校验traffic_access_token,缺失或错误返回 403。令牌值不会被记录到任何日志中。 - CubeEgress 启动期 Fail-Closed (c5f811d8):在 CubeEgress 启动期间、L7 策略尚未从 CubeMaster 加载完毕时(bootstrap_status ≠ "ready"),CubeEgress 对所有非审计类流量返回 403,而非此前的 Fail-Open 放行行为。这消除了沙箱出向流量在 Egress 重启窗口内绕过所有域名/SNI/方法/路径控制的敞口。
- 策略路由 / cube-router (7c514e9d):可选的
cube-router内核 dummy 网卡允许沙箱出向流量走宿主机 Linux 路由栈,而非被硬性重定向到主网卡。流量可从任意可路由设备(eth0、eth1、GRE 隧道、VXLAN、WireGuard)发出,无缝对接现有网络基础设施。已有的 CubeEgress L7 策略、DNS 白名单和端口映射全部保留。 - BPF TCP 校验和修复 (7c2dd1ff):修复跨节点端口映射沙箱回包 TCP 校验和错误。
snat_tcp()函数在仅 TCP 端口值变化的情况下错误使用了BPF_F_PSEUDO_HDR参数,导致多节点部署下校验和损坏。 - from_world 清理 (5b919466):移除 loopback 接口上无效的
from_worldTC filter 挂载,减少不必要的 eBPF 挂载点。 - 宿主机服务访问 (48d080e6):沙箱到宿主机自身 IP 的出向流量现在通过 BPF 快捷路径转发,允许沙箱内代码访问宿主机上的本地服务。
- 网络安全加固指南 (#663):中英文运维安全指南,覆盖控制面默认攻击面、绑定策略(私有网卡 vs 防火墙白名单)、CubeAPI 认证回调的 path+method 双重校验、以及 TLS/凭证轮换指引。
✨ 功能增强
SDK
- E2B 文件系统 API 对齐 (#678):Go 和 Python SDK 现已实现完整的 E2B 文件系统 API:
list、stat、exists、remove、rename、mkdir、watch。含全面集成测试。 - Python SDK PTY API (250d248a):Python SDK 新增完整 PTY(伪终端)接口——
create、connect、kill、send_stdin、resize,通过PtyHandle迭代器提供流式输出。直接通过 httpx 与 envd 的 Connect-JSON RPC 通信,不依赖 e2b Python 包。 - Python SDK E2B network.rules 转换 (#568):兼容 E2B 的 per-host
{transform: {headers: {...}}}凭据注入格式,翻译为 CubeEgress L7action.inject规则。使用 E2B per-host 凭据注入的代码可零改动切换。 - Python SDK 双重编码修复 (#572):修复执行日志和错误的双重编码问题。
性能
- 纯 Go 原生 rootfs 导出 (#558):无守护进程、纯 Go 实现的 rootfs 导出管线,完全绕过 Docker、skopeo 和 umoci。核心优化包括并发预取、loop 挂载流式写入 ext4 块设备、逐层解压即删除策略,显著降低了峰值内存占用与构建时间开销。默认启用。
- VirtIO Block 性能 (#575):在 Hypervisor 的 virtio-blk 设备中启用
VIRTIO_BLK_F_SEG_MAX(多段请求)和VIRTIO_RING_F_INDIRECT_DESC(间接描述符),fio 基准测试中顺序写入吞吐从 2888 MiB/s 提升至 3293 MiB/s。
模板管理
- 镜像拉取进度 TUI (#580):基于 Redis 持久化的实时拉取进度跟踪。新增
template watch和template build-watchCLI 命令,提供交互式 bubbletea TUI(显示下载速度、逐层完成度、步骤清单),非 TTY 终端自动降级为纯文本输出。 - 模板列表暴露最新 Job ID (#546):模板列表和详情 API 暴露每个模板的最新 create/rebuild job ID。Web UI 在查看有活跃(running/pending/building)job 的模板时自动打开构建日志。
- 制品资源泄漏修复 (#631):引入
t_cube_artifact_node_placement表,独立于 Replica 生命周期跟踪节点级制品放置。周期性制品 GC,以 MySQLGET_LOCK保证高可用协调。加固 CubeMaster、Cubelet、CubeAPI 级联清理链路。AgentHub 快照级联清理增加路径穿越保护。
Web UI
- 模板创建重构 (#675):全新的多步骤模板创建表单,支持镜像源选择、实例规格配置、网络设置和高级选项。改进了表单校验和字段组织。
AgentHub
- LLM 环境变量回退移除 (#602):所有 AgentHub LLM 密钥和设置现在仅存储在数据库中,使用按安装实例的 CSPRNG 生成主密钥加密。环境变量回退路径全部移除。一键升级脚本主动删除过时的环境变量密钥。
decrypt_or_passthrough对不可解密的负载采取 Fail-Closed 策略。 - 助理状态持久化 (#582):认证信息、OpenClaw 运行时状态、模板继承关系和快照恢复行为持久化到数据库。包含 bcrypt 密码哈希、企微 Secret 解密、认证入口限流。支持数字助理的备份/恢复和安全克隆。
部署与安装器
- 一键升级模式 (#538):已在集群部署章节详述。
--mode=upgrade+ 三路 env 合并 + 升级前备份 + fail-fast 预检。 - 外部 MySQL/Redis (#514):已在集群部署章节详述。支持接入已有外部数据库实例。
- CUBE_PROXY 端口拆分 (#588):
CUBE_PROXY_HOST_PORT废弃;拆分为CUBE_PROXY_HTTP_PORT(默认 80)和CUBE_PROXY_HTTPS_PORT(默认 443)。 - 静态编译 (#583):
cube-api、cubemaster和cubemastercli现为完全静态二进制(Go CGO_ENABLED=0 / Rust musl 目标),消除宿主机 glibc 依赖和版本偏差风险。 - 内嵌 Migration (#628):移除手动 SQL 初始化;CubeMaster 内嵌 goose migration 自动处理单节点种子数据。消除控制节点对 mysql 客户端的依赖。
- CubeEgress 计算节点集成 (#707):CubeEgress 集成到计算节点启动和停止脚本,Egress 策略执行覆盖所有节点。
- resolvectl 兼容 (#703):容忍旧版本 systemd(v240 以下)缺少
resolvectl default-route,防止 RHEL 8.3 等系统安装失败。
基础设施
- Redis Key 统一 (#609):所有 Redis Key 集中在
pkg/base/rediskey中,采用统一命名规范。移除读写/元数据连接池分离,简化为单连接池,降低多节点部署配置复杂度。 - Migration 身份固化 (#620):三层防线防止 migration 静默跳过:新 migration 必须使用 14 位 UTC 时间戳前缀(而非整数序号),支持乱序应用(out-of-order),以及启动时 SHA-256 内容指纹校验。CI 强制禁止修改已合入的 migration 文件。
- 节点标签管理 API (#633):
POST /nodes/{id}/labels和DELETE /nodes/{id}/labels端点用于管理员标签管理。K8s 兼容命名(DNS1123 子域名前缀),SELECT FOR UPDATE 竞争保护,每节点 64 标签上限,系统保留命名空间保护(kubernetes.io、beta.kubernetes.io、cube.cloud.tencentcloud.com)。 - envd 版本上报 (#650):实际采集到的 envd 版本作为沙箱注解传播,使 E2B SDK 能根据真实运行时版本进行特性门控,替代硬编码的版本常量。
- 可配置 HTTP 监听地址 (#662):
CUBEMASTER_HTTP_BIND使 HTTP 监听地址可配置,支持绑定到私有网卡以进行网络安全加固。 - 腾讯云调度器评分 (b8f22421):多节点调度器评分配置
real_time_weighted_average插件,平衡 mvm_num、local_create_num、cpu_usage、quota_mem_usage 权重。priority_select_num动态上限为min(compute_node_count, 3)。
🐛 Bug 修复
以下修复针对 v0.4.0 中存在的问题:
- 高并发回滚死锁修复 (#693):快照运行时活跃绑定重构为独立的
t_cube_snapshot_runtime_active表,引入沙箱级和资源级分布式锁,从根本上消除了 MySQL 1213 死锁错误。 - 镜像 uid/gid 保留修复 (#671、#608):两个互补的镜像权限保留修复:
- Native Export 路径 (#671):移除
WithNoSameOwner()选项——此前该选项会将所有文件的 uid/gid 压缩为提取用户,破坏镜像原始权限。 - Template Center (#608):
umoci unpack --rootless现在仅在 euid ≠ 0 时传递(root 身份运行时不再传递)。Docker-export 回退路径增加--same-owner --numeric-owner。修复 Browser 沙箱中 Chromium profile 写入失败和 CDP 不可达、以及 Python 镜像 envd exec 因/home/user权限导致 EACCES 的问题。
- Native Export 路径 (#671):移除
- Hostdir 挂载超时保护 (#691):Hostdir bind 和 remount 操作通过有界子进程执行,每步 3 秒超时。此前,卡住的 NFS 等宿主机挂载点会导致沙箱创建无限期阻塞。
- CubeProxy envd 流式缓冲修复 (#647):对 envd 服务端流式端点禁用 nginx 响应缓冲。此前 nginx 会缓存早期的流帧,破坏后台命令和 Watch 流的即时返回语义。
- MSI-X Table/PBA 鲁棒性加固 (#619):VMM 中 MSI-X table/PBA 读写路径上 guest 可触发的 panic 替换为优雅错误处理。恶意或有缺陷的 guest 不再能通过无效 MSI-X 访问导致 VMM 进程崩溃。
- CubeProxy 实现细节泄露修复 (#653):移除暴露内部故障码的
X-Cube-Retcode响应头和$cube_retcode访问日志字段。错误响应统一为不透明 HTTP 状态码 + 标准 JSON Body,防止通过区分错误码枚举沙箱 ID 或探测基础设施弱点。 - Auth Callback 方法转发 (#315):
X-Request-Method现在转发到认证回调,实现(路径 + 方法)粒度的鉴权。此前,仅路径白名单无法区分同一路径的 GET 和 DELETE 操作,只读凭证可访问破坏性端点。 - CubeEgress 计算节点 CA 刷新 (#614):计算节点上的 CubeEgress 现在从 CubeMaster 刷新中间人 CA,修复主节点 CA 轮换后的 CA 不匹配问题。
- 模板信息回填 (#594):回填模板详情响应中缺失的
created_at和image_info字段。 - 快照删除 Job 清理 (#559):快照删除后清理孤儿 job 行,防止失效构建 job 引用。
- 跨副本节点状态同步 (#542):启动 Nodemeta 定期重载协程,实现跨副本节点状态同步,修复多副本 CubeMaster 部署中节点状态过期问题。
- BPF 内层 Map BTF (#595):CubeVS 内层 map 现在带 BTF key/value 创建,修复高版本内核上的 BPF map 兼容性。
- 一键安装根目录加固 (#649):移除可配置的安装根路径;安装前缀安全性断言加强,防止误擦除系统目录。
- 一键安装 MIRROR 持久化 (#622):MIRROR 环境变量持久化到
.one-click.env,确保重启后镜像仓库选择一致。 - 一键安装相同 CIDR 重装 (#586):区分相同 CIDR 重装与 CIDR 变更场景,使用 systemd 优雅停止服务。
- 一键安装计算节点 Quickcheck 启动竞态 (#637):计算节点启动后检查容错短暂启动竞态。
- 一键安装 DATABASE_URL 持久化 (#611):
DATABASE_URL持久化到本地 MySQL 的安装和 systemd 启动路径。 - Python SDK 流式文件体 (377a99dc):
IPOverrideTransport中请求体拷贝前先缓冲,修复 multipart 上传失败。 - CubeProxy 日志清理 (#593):移除 CubeProxy 中的无效日志字段和失效后端桩代码。
- envd 命令环境变量传递修复 (#566):修复通过
commands.run启动 envd 时 create-time 环境变量丢失的问题。 - Sandbox Preview 路由修复 (#570):修复缺失的
/cube/sandbox/preview路由处理器,此前cubemastercli tpl render会静默失败。 - 一键升级 Bundle 完整性修复 (#597):修复一键升级包中缺失
scripts/common/目录导致升级预检脚本不可用的问题。 - Template 创建 Cube CA 转发修复 (#652):修复创建模板时
with_cube_ca参数未正确转发的问题,确保客户端能够控制是否将 CubeEgress 根 CA 注入模板 rootfs。 - 腾讯云部署 semver 辅助函数 (#587):增加
semver_compare和version_lt函数,确保升级决策逻辑正确。
📚 文档
- ARM64 部署指南 (64931ff2):所有部署指南(快速入门、裸金属、开发环境、多节点、自构建)更新中英文,增加架构特定说明,标注 ARM64 PVM 限制。
- 网络安全加固指南 (#663):中英文运维安全指南,覆盖控制面攻击面、绑定策略、认证回调配置、TLS/凭证指引。
- 腾讯云 Terraform 部署指南 (ae81121d):中英文完整 Terraform 集群部署指南。
- 快照/克隆/回滚深度解析 (#680):中英文技术深度解析博客,介绍快照、克隆和回滚机制。
- 沙箱日志指南 (#692):新增
cubecli logs使用指南及示例。 - 多节点调度器评分指引 (#672):配置多节点调度器评分以实现工作负载均衡分布的指引。
- Host Mount 权限修复 (#560):Host Mount 权限处理说明文档。
- v0.4.0 发布博客 (#585):中英文版本发布公告和 Agent 友好服务技术博客。
- 网络深度解析博客 (#627):中英文 CubeSandbox 网络技术深度解析。
- README 优化 (#640、#666、#646):产品亮点、v0.4 展示、基准测试报告链接、架构图更新、主页标语优化。
- 文档优化 (#665):交叉文档链接修复、快照/回滚/克隆侧边栏导航、本地化文档流保持 (#668、#664)。
- 安装指南链接 (#475、#466):基准测试博客中增加安装指南引导,安装错误消息中增加问题排查链接。
⚙️ 工程改进
- Multi-Arch CI (#720):Builder image、VMLinux、one-click release 工作流均支持 amd64 + arm64,产生分架构制品和 Multi-Arch Manifest。
- Python SDK 发布工作流 (#700):GitHub Actions 工作流,由
python-sdk-v*标签触发 PyPI 发布。版本交叉校验(tag vspyproject.tomlvs__init__.py),智能变更检测(跳过无变化的发布),twine check验证。 - Cubelet 上报默认间隔 (#722):上报告间隔默认值改为 1s,提供更灵敏的指标。
- CI Release 工作流加固 (#724):为
gh release命令添加--repo参数,确保正确的仓库指向。