问题
当我们最初构建 Office Claws 时,配置一个新的 AI 代理大约需要 8 分钟。对于一个承诺简单易用的产品来说,让用户等待 8 分钟才能和他们的代理说一声"你好"是不可接受的。
大部分时间花在了:
- 在全新的 Ubuntu Droplet 上安装 Docker 和依赖项(约 5 分钟)
- 配置 Tailscale 网络(约 1 分钟)
- 拉取和启动代理容器(约 2 分钟)
解决方案:基于快照的配置
与其在每个新 Droplet 上从头安装所有内容,我们使用 Packer 预构建了一个 DigitalOcean 快照,其中包括:
- 预安装并配置好的 Docker CE
- 准备好加入网络的 Tailscale 二进制文件
- 所有系统包和依赖项
- 预拉取的代理运行时容器
当用户创建新代理时,我们从这个快照而不是标准 Ubuntu 启动 Droplet。
引导脚本
我们的 bootstrap_vps.sh 脚本通过检查哨兵文件来检测是否在快照上运行:
if [ -f /etc/openclaw-snapshot-version ]; then
echo "Snapshot detected, skipping installation"
# Only configure Tailscale and start agent
else
echo "Fresh install, running full setup"
# Install Docker, Tailscale, dependencies...
fi结果
| 步骤 | 优化前 | 优化后 |
|---|---|---|
| Droplet 创建 | 60秒 | 60秒 |
| 引导(安装) | 5-6 分钟 | 37秒 |
| 代理启动 | 2 分钟 | 45秒 |
| 总计 | 约 8 分钟 | 约 2.5 分钟 |
引导阶段从 5-6 分钟缩短到仅 37 秒 — 减少了 90%。
如何保持快照更新
我们使用 GitHub Actions 工作流每周重建快照。这确保基础镜像始终拥有最新的安全补丁和我们最新的代理运行时。
工作流程:
- 启动一个临时 Droplet
- 运行完整的安装脚本
- 创建快照
- 删除旧快照
- 在配置中更新快照 ID
用户看到的
从用户角度来看,他们点击 "Create Agent" 并看到一个进度条。大约 2 分钟内,他们的代理就会出现在像素艺术办公室的工位上,准备好聊天。
无需终端。无需 SSH。无需等待。
下一步计划
我们正在探索进一步优化的方法:
- 预热 Droplet 池 — 保持空闲的 Droplet 随时可用,将配置时间缩短到 30 秒以内
- 边缘部署 — 使用更小的区域提供商以降低延迟
- 纯容器模式 — 为已有基础设施的用户提供仅代理运行时