FEATURED · 精选文章

Atlas 自动更新机制解析:4 阶段后台渐进式更新,如何快速跟上最新 Agent 功能

发布时间 / 2026/9/18 13:24:08
来源 / 创域科博编辑部
栏目 / 资讯中心
Atlas 自动更新机制解析:4 阶段后台渐进式更新,如何快速跟上最新 Agent 功能 Atlas 自动更新机制解析4 阶段后台渐进式更新如何快速跟上最新 Agent 功能【免费下载链接】atlasSource control for agents. Use multiple coding agents, track their changes and query them in one place项目地址: https://gitcode.com/GitHub_Trending/atlas115/atlas如果你在用Atlas 多 Agent 版本控制桌面应用Source control for agents让多个 coding agent 协同编码、统一追踪并查询它们的改动你一定关心一个问题应用如何跟上不断迭代的 Agent 功能Atlas 的答案是一套自动更新auto-updater机制后台检查、静默下载、签名校验、渐进式安装staged update全程不打断你的编码流。下面用通俗语言拆解它背后的 4 个阶段。更新体验为什么它不打扰你传统更新要么弹框打断要么直接替换运行中的程序风险高。Atlas 借鉴了 Figma、VSCode、Zed 的后台渐进式更新思路源码注释中明确提到这一点见 updater.rs下载阶段应用照常使用只有标题栏出现一个小小的进度弧线准备就绪后才弹出Restart to update重启以更新小卡片提供「Restart now」或「Later」两个选择选择 Later本次退出应用时自动完成安装下次启动即为新版本。整个流程的状态机只有 5 个阶段idle → downloading → ready → applying → error定义在 updater-store.ts。阶段一后台检查更新每 2 小时一次启动时与之后每2 小时RECHECK_INTERVAL见 updater.rsAtlas 会发起一次非阻塞的后台检查入口在 lib.rs读取auto_update设置默认开启与已忽略版本通过遥测客户端的远程配置接口拉取{version, uri}两个值——最新版本号与 DMG 下载地址实现见 fetch_remote_config用语义化版本semver判断远程是否严格更新且未被用户手动忽略才触发下载。值得注意检查更新走的是远程配置独立于遥测开关——即使你关闭了数据上报更新检查依然有效。阶段二8 路并行下载快且可降级下载是整个流程中最工程化的部分download_to先用一个 1 字节的 Range 请求探测文件大小并确认服务器支持分段下载文件大于 4 MB 时拆成8 个并行字节区间同时拉取每个区间精确写回磁盘对应偏移——这能有效打满被限速的 CDN 带宽源码注释提到单连接时曾观测到 20 MB 仅约 67 KB/s若分段下载失败某些 CDN 的 Range 行为异常自动降级为单连接流式下载保证正确性优先文件先写入.part临时文件完整后原子重命名为正式 DMG避免半成品被误用。下载期间前端通过atlas:update-progress事件收到进度updater-api.ts只用来画标题栏弧线绝不抢占焦点。阶段三三重签名校验 渐进式安装DMG 下载完成后进入安全关键的一步——验证verify_signature三道关卡必须全部通过校验项命令作用代码签名完整性codesign --verify --deep --strict确保 DMG 内容未被篡改签名团队 IDcodesign -dvvv比对EXPECTED_TEAM_ID只接受官方团队签名防止伪造更新源公证Notarizationspctl --assess通过 macOS Gatekeeper 评估校验通过后用ditto把.app解包到独立的staged暂存目录此时正在运行的旧版本完全不动。暂存状态持久化到staging.json清单updater.rs即使中途退出应用下次启动也不会丢失进度或重复下载。阶段四重启应用 或 退出时自动安装用户看到Update Ready弹窗update-available-modal.tsx后有两个选择Restart now立即交换。交换策略见 swap_app——先把当前应用备份为.app.bak优先尝试同卷原子目录重命名近乎瞬间失败则回退ditto拷贝若安装失败自动回滚到原版本Later本次不重启应用在下一次自然退出时执行 apply_on_exit退出事件钩子挂在 lib.rs下次启动即新版本并在启动时弹出已更新提示、清理暂存目录。此外设置页中的「Check for updates」手动检查update_check_now会绕过自动更新开关与忽略版本方便你主动催更。上手与延伸阅读作为用户你几乎不需要操心这套机制——保持auto_update开启默认值见 app_state.rsAtlas 就会在后台安静地帮你保持最新。若你想知道更新时到底发生了什么可以按这条线索阅读源码更新器核心逻辑updater.rs启动接线与退出钩子lib.rs远程配置版本与地址来源telemetry/mod.rs前端事件桥接updater-api.ts更新弹窗 UIupdate-available-modal.tsx一句话总结Atlas 的自动更新 定时检查 并行下载 三重签名验证 渐进式安装 失败回滚让多 Agent 编码工作流永远跑在最新的功能之上而你几乎感觉不到它的存在。【免费下载链接】atlasSource control for agents. Use multiple coding agents, track their changes and query them in one place项目地址: https://gitcode.com/GitHub_Trending/atlas115/atlas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻