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

26 行
2.6 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 智能体页面版本恢复
## 原因与证据
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。