最近 ClawCloud Run 发布了公告:[Important Notice] Update on Idle Resource Reclamation Policy for Free Plan Users(https://question.run.claw.cloud/questions/10010000000002545)。
简单理解:免费套餐如果长期没有访问,资源可能会被回收。对想长期保留免费实例的用户来说,需要有一个稳定、自动的“定期访问”。
这篇文章用最简单的方式介绍一个开源方案:
- 项目地址:https://github.com/Ken2626/claw-keepalive-vercel
- 作用:每周自动触发一次 GitHub 登录 ClawCloud Run,形成“有访问”的保活行为。
这套方案在做什么
整体流程只有三步:
- Val Town 按你设置的 cron(例如每周一次)触发。
- Val Town 调用 Vercel 的
POST /api/keepalive。 - Vercel 在函数里启动浏览器自动化,用你的 GitHub 账号登录 ClawCloud Run 登录页。
这不是“绕过规则”,而是在规则内定期访问你的实例,降低被判定长期空闲的概率。
开始前你要准备什么
- 一个 GitHub 账号(必须开启 2FA 的 Authenticator)
- 一个 Vercel 账号
- 一个 Val Town 账号
重点:必须先拿到 GITHUB_OTP_SECRET(base32)
GitHub 开启 2FA 时,请按这个顺序:
- 打开
Settings -> Password and authentication -> Two-factor authentication。 - 选择
Authenticator app。 - 在二维码页面先显示并复制 setup key(base32),保存为
GITHUB_OTP_SECRET。 - 再扫码绑定认证器并完成验证。
如果你先扫码但没保存 setup key,后面就很难在自动化里生成 TOTP 验证码。
一步步部署
1) Fork 并导入 Vercel
- Fork 仓库到你自己的 GitHub。
- 在 Vercel 导入这个仓库并先部署一次。
2) 配置 Vercel 环境变量(建议都设为 Sensitive)
至少配置这些:
CRON_SECRET:Val Town 调用 API 的鉴权密钥(自己生成长随机字符串)GITHUB_USERNAME:你的 GitHub 用户名或邮箱GITHUB_PASSWORD:你的 GitHub 密码GITHUB_OTP_SECRET:上一步拿到的 base32 setup keyCLAW_SIGNIN_URL:你的机房登录地址(例如https://eu-central-1.run.claw.cloud/signin)
保存后按提示 Redeploy。
3) 配置 Val Town cron
- 新建 Val,把
main.ts内容替换为仓库里的valtown/main.ts。 - 在 Val Town 环境变量中设置:
VERCEL_URL=https://<your-project>.vercel.app/CRON_SECRET=<和 Vercel 中一致>
- 在 Val Town UI 里把计划任务设为每周执行一次。
如何确认已经生效
你可以看两侧日志:
- Val Town:应看到
main.ts定时触发记录 - Vercel:
/api/keepalive返回200
如果你看到 401,通常是 CRON_SECRET 不一致。如果你看到 500,通常是 GitHub 登录信息、2FA 密钥或 CLAW_SIGNIN_URL 配置错误。
安全注意事项
- 不要把
.env提交到仓库。 - 所有敏感变量在 Vercel/Val Town 中都标记为 Sensitive。
- 如果你曾把密钥打到公开日志里,立即轮换:
CRON_SECRETGITHUB_PASSWORDGITHUB_OTP_SECRET
结论
如果你正在受这个新空闲回收策略影响,这个项目的优势是:
- 免费可用
- 配置简单
- 自动化稳定
对大多数免费用户来说,这是当前“低成本、可维护”的保活实践。


