Skip to content

Automatic Updates

quangchibui79-blip edited this page Sep 8, 2026 · 18 revisions

安全自动更新

正式版新安装默认开启安全自动更新,并只跟随 Stable 通道。Guardian 每 60 分钟检查一次,并保留每日检查作为兜底;检测到 Codex 包版本变化时,还会立即触发一次更新检查。愿意提前测试 Alpha/Beta 的用户才需要主动改为 Prerelease。

Codex 更新后会怎样

每个新 Codex 包版本都会使旧兼容证据失效。Guardian 会重新解析安装清单和真实入口、执行至少 60 秒且包含 3 次新鲜关键目标验证的观察,并在 Windows 上重新要求“受管启动参数匹配 + 新进程真实代理流量”。缓存证据和旧进程流量不能跨版本复用。

如果通用启动契约仍然成立,Guardian 会自动继续工作;如果无法确认,会保留当前 Codex、停止该组合的自动生命周期操作,并显示 CodexCompatibilityReviewRequired。即时更新检查和每日检查会继续寻找已经发布的适配。

自动更新能安装已经发布的新适配,不能在上游引入未知协议时凭空生成代码。这一边界的目的,是让失败结果可验证、可解释且不打断任务,而不是用反复重启掩盖不兼容。

立即触发更新前,Guardian 还会核对安装标记、项目安装根目录、计划任务动作和准确的 Update.ps1 路径,避免启动被替换或来源不明的任务。适配发布后按版本、标签、资产名、包内 VERSION 与 SHA-256 校验链自动安装。

v1.6.1 起,Windows 更新器优先使用系统自带 curl.exe;代理出口被 GitHub API 限流或返回 403 时,会明确使用 curl --noproxy "*" 直连回退,不把同一个受限代理重复当成默认网络。状态、设置和 Doctor 会显示 NetworkRoute、最终事件与下次重试时间。

Guardian 同时监听 Codex 日志和 update-status.json。监听只是提前唤醒代理复核与更新心跳,不会因为日志出现“重连”就擅自关闭或重启 Codex。

Codex 版本变化只会触发更新任务,不会预先标记为检查成功。Guardian 会读取任务的终态;失败后,同一 Codex 版本也会按间隔重试。新安装默认 15 分钟后重试,升级安装会保留用户已有的自定义间隔。

v1.5.4 起,后台安装成功后会发送一次桌面通知,告诉你从哪个版本更新到了哪个版本,并明确 Codex 无需重启。Windows、macOS 与常见 Linux 桌面环境均已覆盖;同一版本只通知一次。高级用户可把 NotifyAfterAutomaticUpdate 设为 false。

各平台下载什么

  • Windows 已安装版本使用对应 Release ZIP 更新,不需要反复下载 Setup EXE。
  • macOS/Linux 只接受与当前操作系统和 CPU 架构精确匹配的 .tar.gz。

更新器检查什么

更新器固定读取 CH-ZHOU-0512/codex-proxy-guardian 的 GitHub Release,并要求:

  • 通道允许目标版本,且语义版本高于当前版本;
  • Release 标签、资产名称和包内 VERSION 一致;
  • 下载内容与 Release 附带的 .sha256 一致;
  • GitHub 提供资产摘要时,摘要也必须一致;
  • 压缩包没有路径穿越、异常文件类型或超出数量与大小限制的内容。

Windows 会在安装前快照现有文件,失败时尝试恢复原版本并重启原 Guardian。macOS/Linux 通过安全解包后原子替换二进制并执行新版;更新失败会继续使用当前版本或保留 .previous 回退副本。任何平台的更新器都不会修改系统网络配置。

手动检查或安装

Windows 旧版始终说“没有更新”

v1.0.0–v1.3.0 在 Windows PowerShell 5.1 下可能无法枚举 GitHub 返回的 Release 数组,从而误报 update_not_available。请从最新正式版下载 v1.3.1 或更高版本的 Setup EXE 原位安装一次;之后每日自动检查即可恢复。现有配置会被保留。

v1.5.1 没有自动收到 v1.5.2

v1.5.1 的缺陷位于旧更新器自身:如果那台电脑必须经过 Guardian 发现的代理才能访问 GitHub,旧更新器可能无法下载修复它自己的新版。这类机器需要从最新正式版手动运行一次 v1.5.2 Setup EXE 原位升级;配置与日志会保留。完成这一次引导后,后续更新即可使用代理感知与失败重试链路。

Windows:

.\Control.ps1 -Action CheckUpdate
.\Control.ps1 -Action Update

Windows v1.4.4 起,设置窗口的“立即检查更新”会显示本机版本、远端版本、当前选择的 Stable/Prerelease 通道、检查时间和 GitHub Releases 来源。界面刚切换通道时可以直接检查,不必先点“应用”。如果另一个更新任务正在运行,界面会明确说“本次尚未完成检查”,不会把未执行的检查误报成“已经是最新版”。

macOS/Linux:

codex-proxy-guardian update
codex-proxy-guardian update --install

关闭或切换通道

Windows 可打开 Codex Proxy Guardian Settings。macOS/Linux 可编辑各自的 config.json 中的 AutomaticUpdates 与 UpdateChannel:

  • macOS:~/Library/Application Support/CodexProxyGuardian/config.json
  • Linux:${XDG_CONFIG_HOME:-~/.config}/codex-proxy-guardian/config.json

UpdateChannel 只接受 Stable 或 Prerelease。普通用户保持默认 Stable 即可。

.sha256 与程序包来自同一 GitHub Release,因此主要用于发现下载损坏和资产不一致;GitHub 账号与仓库本身仍是信任边界。


返回首页 · 本文档已与正式版 v1.6.1 同步。