本次实操运行在 OpenCloudOS 9OpenCloud Operating System 9上现场算力由沐曦提供。腾讯云 CVM 和 API Key 也是现场统一发放的所以整个过程可以直接从服务器登录开始。一、本次实操目标三件事第一能不能在腾讯云 CVM 上顺利把环境搭起来第二数字助手这条链路是不是能真正跑通第三快照Snapshot、克隆Clone和回滚Rollback这些能力在实际操作里是不是足够直观。跑完之后的感受是这套东西的重点确实不只是“拉起一个沙箱”而是把实例状态变成了可以保存、复制、恢复的对象。对做 AI Agent、沙箱调试或者并行实验的人来说这个能力比单纯启动一个环境更有价值。核心概念CubeSandbox 的关键不是单次运行而是把 实例状态 做成可管理的能力。二、我的操作步骤Initial Setup1. 登录服务器先通过 SSHSecure Shell连进腾讯云 CVMssh root服务器ip -p 9888连上去之后后面的操作就都在这台机器上完成。2. 先装 PVM 内核CubeSandbox 不是直接装完就能跑它依赖 PVMProtected Virtual Machine相关内核所以我先处理宿主机环境。执行dnf install -y kernel-6.6.69-1.1.cubesandbox.oc9这一步可以理解成先把运行虚拟化沙箱所需要的底层能力补齐。3. 切默认内核并重启内核装完之后还要把它切成默认启动项grubby --set-default /boot/vmlinuz-6.6.69-1.1.cubesandbox.oc9.x86_64如果命令执行成功一般会看到The default is ...这一类回显这不是报错。然后继续配置 PVM 所需启动参数curl -sL https://cnb.cool/CubeSandbox/CubeSandbox/-/git/raw/master/deploy/pvm/grub/host_grub_config.sh | bash做完这一步之后直接重启reboot三、重启之后我先确认宿主机状态Host Verification服务器重启回来之后我没有立刻继续下一步而是先确认宿主机是不是已经切到了正确的内核。1. 验证内核版本执行uname -r预期看到6.6.69-1.1.cubesandbox.oc9.x86_64只要输出里能看到cubesandbox.oc9这一步基本就算对了。2. 加载 KVM 模块然后加载 KVMKernel-based Virtual Machine模块modprobe kvm_pvm再检查是否已经加载成功lsmod | grep kvm_pvm最后把它写到开机自动加载配置里echo kvm_pvm /etc/modules-load.d/kvm-pvm.conf到这里宿主机层面的准备就差不多了。四、正式安装 CubeSandboxInstall CubeSandbox宿主机环境准备完之后我才开始安装 CubeSandbox 本体。执行一键安装脚本curl -sL https://cnb.cool/CubeSandbox/CubeSandbox/-/git/raw/master/deploy/one-click/online-install.sh | CUBE_PVM_ENABLE1 MIRRORcn bash这一步比较直接脚本跑完之后主体服务就已经装上了。1. 我是怎么判断它真的装好的我没有只看安装脚本有没有报错而是直接跑了一次模板创建。cubemastercli tpl create-from-image \ --image cube-sandbox-cn.tencentcloudcr.com/cube-sandbox/sandbox-code:latest \ --writable-layer-size 1G \ --expose-port 49999 \ --expose-port 49983 \ --probe 49999跑完之后再看cubemastercli tpl list。如果模板状态是READY那我才认为这套环境真的能用了。五、进入 WebUI 后我先把数字助手接起来WebUI and Assistant Setup1. WebUI 登录信息WebUIWeb User Interface地址http://机器ip:12088默认账号admin默认密码admin登录进去之后首页可以看到当前的沙箱实例和模板信息。2. 配置模型服务进入数字助手页面后我先配了 LLMLarge Language Model服务。这里填的是现场给的模型接入参数ProviderOpenAI CompatibleLLM Base URLhttps://newapi-2607.cubesandbox.com/v1模型 IDhy3-previewLLM API Key现场签到处发放的 Key凭证交付方式凭证托管推荐保存之后密钥会由 CubeEgress 托管沙箱内部拿不到真实 Key这点对开发环境来说还是很重要的。3. 安装 OpenClaw 镜像配置完成后我关闭弹窗点击“去应用市场”然后在应用市场里选择OpenClaw镜像安装到数字助手。等模板制作完成之后会弹出实例创建窗口。这里我给实例起了一个名字同时把“状态管理模式”设置成完整快照型。继续创建之后等待几秒数字助手就能初始化完成。六、我实际遇到的两个问题Issues I Hit1. OpenClaw 有时候点了不会立即跳转这是我现场最先遇到的一个小问题。实例创建完之后点击 OpenClaw有时候页面不会马上进去。这个时候不用先判断成服务异常我这边实际试下来很多时候只是第一次点击没反应。直接手动再点进去一般就能正常打开。2.sk密钥有时需要重新配置再重新登录 OpenClaw另一个更偏使用层面的问题是OpenClaw 偶尔会出现需要重新配置sk密钥的情况。我的处理方式是重新回到数字助手的模型配置弹窗把 Key 再配置一遍然后重新进入 OpenClaw。如果你已经确认镜像和实例都正常但对话侧还是不工作优先检查一次密钥配置是不是丢了或者没带上。这个问题不一定每次都会出现但既然实操里碰到了我觉得最好直接写进来免得后面的人卡住时没有排查方向。七、我怎么验证快照能力Snapshot WalkthroughOpenClaw 进来之后我先在底部模型选择器里选了hy3-preview然后发了一条简单的命令看看它能不能正常操作文件。1. 先写一个文件我发送的 prompt 是往“/root/a.txt”写入“测试消息111”。然后 cat 一下文件给我。如果这一步返回正常就说明当前对话实例已经具备可操作的工作环境。2. 基于当前状态创建快照确认/root/a.txt已经写进去之后我回到 CubeSandbox 的实例卡片点击“管理”进入“状态管理”然后点击“创建存档”。这一刻我比较直观地理解了快照这个功能的意义不是只保存一个文件而是把这个实例当前的整个状态定格下来。八、我怎么验证克隆能力Clone Walkthrough有了快照之后我接着做的是“创建分身”。1. 从已有实例创建分身在“状态管理”页面点击“创建分身”等它创建完成之后首页会多出一个新的分身卡片。然后我进入分身的“Gateway 管理”页面。2. 验证分身是否独立一进去就能看到历史对话和原始实例是同步的这说明它的起点状态是一致的。为了验证后续是否隔离我在分身里执行往“/root/b.txt”写入“我是分身”。然后 cat 一下文件给我。然后再回到原始实例里输入帮我看看 /root/b.txt 这个文件内容。原始实例里看不到/root/b.txt这就说明虽然分身是从原实例复制出来的但从分叉之后开始两边已经互不影响了。九、我怎么验证回滚能力Rollback Walkthrough最后我验证的是回滚因为这个能力最像开发者日常会遇到的真实场景。1. 先主动制造一次破坏我在原始实例里输入帮我删除 /root/a.txt然后继续确认看看 /root/a.txt 还在不在确认文件确实已经没了。2. 回到快照时刻接着我回到 CubeSandbox 控制台进入原始实例的“状态管理”页面选中之前创建的存档点击右侧“回档”。这个动作很快基本是立即生效。3. 检查回滚结果重新进入原始实例的“Gateway 管理”页面后可以看到对话历史已经退回到了打快照的时间点刚才删除/root/a.txt的记录也不见了。我最后又发了一句帮我看看这个文件 /root/a.txt 在不在这时文件已经恢复了说明整个环境状态确实被还原回去了。十、从这次实操里我比较在意的几个点Developer Notes这次实操让我比较在意的不是“功能有没有”而是这些能力在开发者视角下是不是足够顺手。第一宿主机准备虽然步骤不多但如果完全只给命令、不解释作用第一次上手的人还是容易发懵。所以教程里最好把“为什么做这一步”和“做完之后应该看到什么”一起写出来。第二OpenClaw 的交互偶尔会有一点不稳定比如第一次点击没进去或者需要重新配置skKey 才能恢复可用。这类问题不算致命但它们确实会影响第一次实操体验。第三快照、克隆和回滚这三件事放在一起之后CubeSandbox 才开始真正体现出它的开发工具属性。尤其是在调试 Agent 行为、复现实验结果、做多分支尝试的时候这种状态管理能力会很实用。十一、相关链接ReferencesCubeSandbox 仓库https://github.com/TencentCloud/CubeSandboxOpenCloudOS 仓库https://gitee.com/OpenCloudOS