文件
nahaichuan/docs/agent-version-restoration.md

2.6 KiB

智能体页面版本恢复

原因与证据

2026 年 11 月 5 日 13:53(北京时间)的自动部署执行 git reset --hard origin/master。恢复前,服务器智能体模板修改时间为 2026-11-05 13:53:20 +0800,线上模板 SHA-256 与服务器 HEAD 提交中的模板完全一致,摘要为 9c828e0e2fa24e57da004a577cc79933723f8ed8cbd3e9f26c8d5e54068b1ef9。

服务器 HEAD 为 7ce37ad,reflog 记录了两次 reset: moving to origin/master。此前单独上传的新版模板没有同步到仓库,该操作将其替换为旧模板。配图与独立样式仍在,属于模板被覆盖,不是浏览器缓存。后续软件页发布清单未包含智能体模板。

恢复

恢复本地 service_agent.html 的已确认第二版,使用 service-agent-v2.css?v=20261105c、landscape-v2 与 courtyard-v2 配图。保留同期其他工作更新后的公共入口模板;入口最终版本包括智能体页 viewport、移动端旧轮播隐藏,同时保留 APP 和软件页已有设置。

恢复期间发现另一项部署也在更新资源及入口模板,已重新核对并保留其最新入口设置。备份为 /www/backup/nhc-agent-v2-restore-20261105-150228,入口核对备份为 /www/backup/nhc-agent-wrapper-reconcile-20261105-150428。清单位于 runtime/agent-v2-restore-deployment.json 与 runtime/agent-wrapper-reconcile-deployment.json。

防止重复覆盖

在 deploy.sh 的配置备份、拉取及硬重置之前加入 git diff --quiet HEAD 检查。线上存在尚未同步到仓库的已跟踪文件修改时,记录原因并停止部署。数据库配置维持原有单独保护,部署脚本自身从此检查排除。

未关闭 webhook,未推送仓库,也未触发全站 reset。脚本通过 bash -n;隔离临时仓库验证干净状态、仅配置与脚本调整、未暂存页面修改和已暂存页面修改四种情况。生产只读检查确认当前线上改版可被识别,后续硬重置将被阻止。原脚本备份为 /www/backup/nhc-deploy-guard-20261105-150149/deploy.sh。

后续自动发布前仍需把已确认的线上改版同步到代码仓库,或逐项核对差异;此检查负责阻止误覆盖,不会自动合并版本。外部工具绕开该脚本直接执行 reset 或文件覆盖时,不受此检查保护。

验证

服务页面和文案 11 项检查通过。桌面与 iPhone 请求返回 200,均引用第二版模板、样式和图片;浏览器验证新版标题与主视觉正常。手机轮播已隐藏,页面无横向溢出,问答支持键盘操作,无浏览器错误。软件页、APP 页、首页及案例页均返回 200。