沙箱是一台不关机、能隔离、可交接的云端 Linux。

本文所有技术细节都是作者在沙箱里真实跑出来的——部署 Ubuntu 桌面、装 1Panel、WorkBuddy 签到积分、验证休眠存活。三个可直接照抄的提示词放在文末。


一、本机 Agent 为什么不够用

OpenClaw、Hermes 这类单机 Agent 很能干,但都要求你自己准备一台机器,于是三个问题绕不开。

1. 关机就停。 合上笔记本,数字员工就下班。想 7×24,得自己买 VPS、配开机自启、搞定断电恢复。

合上笔记本,数字员工就下班

2. 权限等于你本人。 Agent 跑在真实系统上,权限和你一样大。放到沙箱里跑,安全得多。

3. 上下文只属于一个人。 Skills、记忆、配置都在本机,同事要接手时,你只能把电脑递过去。

WorkBuddy 的云端沙箱补的就是这三块短板。腾讯官方给出的对照表,其实说明两者是分工而非替代:

维度本地任务(本机模式)云端任务(云上模式)
执行位置本机腾讯云隔离沙箱
是否需开机需保持开机、客户端在线无需
可访问资源本机文件夹、已装软件、企业内网云端资料库、上传文件
数据存放本地云端
自定义模型/工作空间支持不支持
协同只能分享成果(上传到资料库)项目可多人同时和 AI 对话
适用场景本地批量处理、内网资源轻量任务、跨设备、定时/后台运行

本地模式 = 一个人有一双会干活的手;云端沙箱 = 一个团队有一群不关机的数字员工。


二、沙箱的规格与用法

规格:一台什么配置的机器

项目实际值说明
CPU4 核配额X_IDE_CPU_LIMIT=4
内存8G 配额X_IDE_MEMORY_LIMIT=8G
磁盘250GX_IDE_DISK_QUOTA=250G,/workspace、/root、/opt 共用
GPU无—
系统Ubuntu Linux,root 权限本身是 Docker 容器,可嵌套跑 docker-compose
网络国内链路腾讯 DNS,镜像源已预置

⚠️ 在沙箱里 nproc 会看到 32 核、free -h 看到 123Gi,那是宿主机的物理规格,不是你的。规划任务一律以 X_IDE_CPU_LIMIT / X_IDE_MEMORY_LIMIT 为准,超出的部分会被限流甚至抢占。

配额 4 核,实测却看到 32 核

开箱即用的工具链:git、node 22、pnpm、python 3.11(pyenv 管理)、docker 27、rustc、openjdk 20。

用法:三件事就够了

① 把任务放到云端。 在 WorkBuddy 里选云端任务(入口在项目里,手机或浏览器也能开),活儿就在沙箱里跑——不用开着电脑,也不用占本机资源。代价是不能用本地配的第三方模型,只能消耗积分或使用免费模型。

② 当普通 Linux 用。 bash、apt、pip、docker 都是正常的,唯一例外是"让服务长期活着":沙箱没有 systemd,得写一份 supervisord 配置丢进 /usr/local/share/supervisor/,沙箱重启时会自动加载并拉起。

③ 从公网访问。 端口必须绑 0.0.0.0,然后按下面的格式拼地址:

https://<X_IDE_SPACE_KEY>--<端口>.<X_IDE_SPACE_REGION>.sandbox.cloudstudio.club

改了端口,记得同步改 URL。

端口绑 0.0.0.0,服务才能从公网访问

注意事项

  • 没有 systemd:systemctl、1pctl 全部无效,服务保活只能靠 supervisord。
  • 没有 crontab:定时任务用 supervisord 托管循环脚本,或者用自动化技能。
  • Docker 别重装:复用自带的(PANEL_INSTALL_DOCKER=n),镜像源已配好别改;它默认不启网桥,compose 里自定义网络要显式创建,否则容器间不通。
  • 网络:节点随机分配,有北京、广州、上海等,实测上海的能访问 Google 和 GitHub(自贸区特权)。装包用预置的腾讯镜像,代码托管用 cnb.cool。
  • 持久化有边界:/workspace、/root、/opt 写入即持久,沙箱运行时目录可能重置;Docker 容器要等守护进程就绪才启动,唤醒后检查一次。
  • 运行:沙箱 180 秒无活动就休眠,在云端任务会话里随便打开一个文件或输入提示词就能唤醒。唤醒后文件还在,但内存里的东西会消失。

沙箱睡了,文件还在

  • 定时任务:云端定时任务每次运行都会新建一个沙箱,所以令牌、配置这类东西要先传到资料库或项目资产,运行时再读取,否则调不通。

三、小结

沙箱的价值不在"又一个云主机",而在三点:

  1. 不关机——supervisord 托管 + 云端调度,休眠唤醒自动恢复,定时任务随用随建
  2. 真隔离——一次性环境,Agent 搞坏东西伤不到你的本机
  3. 成体系——项目、任务、资料库、技能协同,数字员工从"个人玩具"变成"团队资产"

适合放进沙箱的场景:

场景说明关键点
常驻服务运维面板、机器人、API、Webhook 接收端supervisord 保活
定时任务每日签到、报表抓取、数据同步无 cron,用 supervisord 或云端定时任务
云端桌面GUI 自动化、截图测试、老软件兼容端口绑 0.0.0.0,noVNC 认证
编译构建农场并行跑多个构建任务以配额为准,别信 nproc
一次性实验试跑危险脚本、装完即弃的依赖沙箱本身就是隔离层,成本低
内网工具箱内网访问不到的第三方工具自托管注意合规与授权

单机 Agent 解决的是个人效率,云端沙箱解决的是组织能力。两者不是替代关系:要摸本机文件、要进企业内网,仍然得用本地模式。

选型一句话:访问本机和内网,用本地任务;要公网访问、要团队共享,用云端沙箱。


三个沙箱应用实战提示词

下面三段可以直接复制到 WorkBuddy 对话框里用,都经过实测。

提示词一:安装 Ubuntu 桌面版

帮我部署 https://cnb.cool/aican.do/workbuddy-devtop,用里面的 DEPLOY.md 来部署。

实测:约 4 分钟完成,容器内 xfce4-session 在 DISPLAY=:1 正常运行,通过浏览器能访问 Ubuntu 桌面。

提示词二:安装 1Panel

安装 1Panel V2 版本。

执行以下安装脚本,使用脚本自带的 -y 参数,以中文、默认配置、复用已有 Docker 完成安装:

bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"

配置安全入口为 1panel,用户名 admin,密码 1Panel@2026,然后把管理端口暴露到沙箱公网:获取沙箱变量 X_IDE_SPACE_KEY、X_IDE_SPACE_REGION 和端口,拼接公网 URL。

形如 https://<X_IDE_SPACE_KEY>–<端口>.<X_IDE_SPACE_REGION>.sandbox.cloudstudio.club/1panel

安装成功后,用沙箱自带的 supervisord(PID 1)保活:在 /usr/local/share/supervisor/ 下新增一个 conf 配置文件,避免 1Panel 进程因休眠或重启而挂掉。

实测:按此提示词一次安装成功。然后用浏览器登录 1Panel,就能管理沙箱服务器。

提示词三:沙箱云端签到(资料库持久化)

我要在沙箱里搭建一套每天让 WorkBuddy 自动签到领积分的机制,用沙箱常驻运行来换积分。请按下面做:

第一步:安装技能
把 WorkBuddy 签到助手(totorosir-workbuddy-checkin)和积分助手(totorosir-workbuddy-score)技能装到沙箱里。这个技能自带 scripts/auto_checkin.py,会自动在三条授权通道间择一。

第二步:判断该走哪条通道
先跑 python3 auto_checkin.py --probe 探测(只读,不签到)。在 Linux 沙箱里预期结果是:

  • 通道 A(本机登录态):不可用,沙箱里没有桌面客户端的登录态文件
  • 通道 B(网页授权):需要我人工操作,沙箱里没法完成
  • 通道 C(长效令牌自续期):这是唯一适合云端沙箱的路径

所以请引导我走通道 C:我需要在自己已登录的客户端里导出长效令牌(refreshToken)。

第三步:解决持久化问题(关键)
令牌先写入沙箱的 ~/.workbuddy/checkin-rt.json(权限 0600),同时上传到资料库做持久化。请告诉我:

  • 资料库里存的是什么、放在哪个路径。
  • 沙箱重建后如何自动恢复(下次运行时从资料库下载回 ~/.workbuddy/checkin-rt.json)

第四步:配置每日定时执行
配置云端定时任务,每天早上8点38分在沙箱中完成积分任务。

第五步:验证
立刻手动跑一次签到,告诉我:是否签到成功、获得了多少积分、当前连续签到天数、积分余额。

要点:凭据文件 checkin-rt.json 必须放在资料库中,沙箱自带读取资料库的接口,不用专门配置。