一台约8GB内存的服务器,既要跑官网,也要承载几个项目的演示环境。如果某个 Demo 一天只有几次访问,它还需要一直占着资源吗?Episode 008 记录了我用 Codex 辅助开发 XichuGeek Forge 的过程:先让一个受控副本能够安全休眠,再让访客确认后按需唤醒。
画面说明:本期使用2026年10月的历史截图、验收记录和流程示意,并非一段从头到尾连续录制的操作录像。
为什么需要 Demo 自动休眠
演示项目越来越多,服务器的常驻开销也会增加。官网、数据库和正在使用的业务需要持续运行,但供观众偶尔体验的演示网站,可以考虑在没有人使用时暂停,把资源留给更需要它的服务。
难点在于判断“没人使用”。只看最后一次 HTTP 请求,可能把轮询当成访客;只看某一刻的内存,又不能保证下一次启动安全。休眠和唤醒必须同时考虑可信活动、访问中的请求、资源预算和失败恢复。
Forge 实际解决了什么问题
Forge 把状态查看、身份验证、受控启停和操作记录串起来,让“按一个按钮启动 Demo”有明确的对象与结果。管理操作需要身份验证和新的第二因素校验,执行前后也要确认控制的是同一个容器,而不是名称相似的旧副本。
本次自动启停只覆盖 Project001 的唯一新副本。官网、数据库、Finance、FlowHearth、Quant 及其他既有对象都受保护,不会因为它们看起来空闲就被自动停止。Forge 目前是作者自用的真实工程案例,没有发布源码下载、一键部署包或面向公众的管理服务。
30分钟可信空闲,与访客确认唤醒
30分钟并非简单的倒计时:只有连续没有可信访客活动,并通过其他保护检查,Demo 才具备自动休眠条件。还在使用页面的访客、有效的活动保护、正在交接或尚未完成的操作,都可能让休眠暂缓;状态不明时拒绝动作。
休眠后,浏览器导航先进入等待页。访客明确确认唤醒,系统才提交一次受控启动请求;服务真正就绪后,再回到原页面。等待页和状态查询本身不等于一次启动,也不应凭空制造“有人一直在使用”的活动记录。
这条链路经历了真实空闲约1810秒后的自动休眠验收。它证明当时那个副本在既定条件下完成了一次闭环,不代表所有项目、所有负载或无限期授权都已经验证。
Codex 辅助开发:把一个目标拆成可检查的小步骤
我的做法是先让 Codex 阅读现有环境和边界,再分步完成状态查看、手动启停、身份验证、访客保护与有限自动调度。每一段都先在隔离环境中验证,再核对真实部署对象、备份和回滚条件。
代码能运行之后,仍要问几个具体问题:重复点击会不会执行两次?原来的业务会不会被误停?页面还开着能否保护访问?失败后能否知道动作究竟有没有执行?这些问题决定了功能能否进入真实环境。
三个真实案例,比“编译通过”更有价值
1. 502:服务存在,不代表代理能连接
一次502并不是应用没有启动,而是代理到 Adapter 的连接被防火墙拦截。排查需要沿着真实访问路径确认监听地址、网络和访问许可,而不是反复重建应用。修复采用精确访问范围,不能为了消除错误就开放整个 Docker 网段或公网控制端口。
2. 访客保护:页面有人用,就不能只盯着计时器
演示站的价值是给人体验。可信访客活动与请求保护必须先于空闲判定,不能在访问交接时把正在使用的服务停掉。反过来,后台轮询和失效记录也不能永远阻止休眠。这里需要验证的是活动是否可信、是否仍有效,以及状态是否一致。
3. SQLite:文件上限和内存上限是两回事
上线后,Controller 的指标数据库遇到了旧的256MiB单文件上限。处理时先保全主库、WAL、SHM和故障日志,再检查完整性、保留清理与检查点。确认属于存储限制与既有预算不匹配后,才把单文件上限调整至1GiB。
Controller 的内存仍保持64MiB,swap仍为0。这次修复不是给进程增加内存,也不是允许数据库无限增长;后续还要继续观察清理、检查点和数据库体积。
正式上线结果,以及现在仍有的限制
Forge 已完成真实 VPS 部署、WordPress MFA、手动控制、可信空闲自动休眠和访客确认唤醒的验证。8GB服务器上的结论限定于 Forge 自身新增负载和这个新副本,保留80%准入与70%恢复保护,不认证原有业务的所有未来增长或全站同时异常恢复。
自动调度使用有期限、有限次数的授权,不自行续期。长期无人值守仍需要独立批准、到期退出和失败恢复安排,不能把一次测试通过写成永久运行承诺。
发布后状态说明(2026年10月19日):只读复核发现,本轮有限授权的退出恢复未完成,Demo仍可能显示等待页,暂不承诺能够随时唤醒。官网和其他业务入口正常。本篇记录已完成的历史闭环与工程经验,不把尚未成功的退出恢复写成已完成。
相关源码、Demo 与前一段实践
- Project001:AI 企业官网模板源码 ↗。这是已经公开的企业官网项目,和 Forge 的管理平台源码不同。
- Project001 在线 Demo ↗。可能进入休眠等待页,当前恢复状态见上方说明;不需要提交私人资料。
- Project001 项目介绍与部署文档 →
- 相关视频:IT小白如何从零利用AI搭建企业官网 ↗
如果你也有一台8GB服务器,最想让它解决什么问题?欢迎到本期视频评论区交流。