ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Windows下彻底关闭Trae Work自动更新:保留老版本避免积分版

Windows下彻底关闭Trae Work自动更新:保留老版本避免积分版 1. 为什么老版本 Trae Work 值得折腾保留先把结论摆在前面Trae Work 这类工具一旦从“功能版”滑向“积分版”对重度用户的体验是断崖式的。我最早用 Trae Work 是在它还没引入积分体系的时候那时候打开就能干活AI 补全、对话、代码生成基本没有次数焦虑。后来新版本开始走积分制免费额度肉眼可见地缩水很多原本顺手的功能被拆成了“消耗积分才能用”的模块。这不是说积分版一定不好而是对于已经形成固定工作流的人来说强制升级等于把一套跑顺的流程推倒重来。我身边不少做开发的朋友都遇到过这个情况某天早上打开 Trae Work弹出一个更新提示手一抖点了“立即更新”结果发现界面变了、功能入口挪了、原本免费的操作用一次扣一次积分。更麻烦的是Trae Work 的自动更新在 Windows 上做得比较“积极”它不一定会给你一个明确的“跳过此版本”选项有时候后台静默就把新版本拉下来了。等你发现的时候旧版本已经被覆盖安装想回退都找不到安装包。所以这篇内容要解决的问题很具体在 Windows 环境下如何让老版本的 Trae Work 不再自动更新把当前能用的版本稳定留住。核心手段围绕两个配置文件展开——settings.json和manifest.json再配合 Windows 层面的更新拦截策略。适合的人群是已经装好了某个用着顺手的 Trae Work 老版本、不想被强制升级到积分版、又不想每次都手动点“取消更新”的 Windows 用户。Mac 用户的情况不太一样热词里提到“trae work mac12上不能运行”那是另一个话题本篇主要讲 Windows。需要提前说明的是下面所有操作都基于“你已经拥有一个可正常运行的 Trae Work 老版本安装包”这个前提。如果你现在装的就是最新积分版那得先想办法找回旧版安装包这一步不在本文范围内。另外操作涉及修改程序目录下的配置文件动手前务必备份这是铁律。2. 自动更新到底藏在哪先搞清楚 Trae Work 的更新触发链路2.1 更新检测的三个可能入口很多人以为“关闭自动更新”就是去设置里找个开关关掉但 Trae Work 这类基于 Electron 或类似框架构建的桌面应用更新逻辑往往不在显眼的设置面板里。根据我对这类工具的实际拆解经验Trae Work 的更新触发通常有三个入口第一个是应用启动时的版本检查。程序启动后会向更新服务器发一个请求带上当前版本号服务器返回最新版本信息如果发现有新版本就弹窗或者静默下载。这个逻辑一般写在主进程的启动脚本里受配置文件控制。第二个是定时轮询检查。有些应用会每隔几小时检查一次更新这个定时器可能藏在后台服务里即使你没打开主窗口它也可能在跑。第三个是手动触发但被“诱导”。比如更新提示弹窗的默认按钮是“更新”取消按钮做得很小或者文案模糊用户容易误点。我们要做的就是把前两个入口堵死。而堵死的方式就是修改控制这些行为的配置文件。2.2 settings.json 和 manifest.json 各自管什么这两个文件是本次操作的核心但它们的职责完全不同搞混了会白忙活。settings.json通常是用户级或应用级的运行时配置里面会记录更新相关的开关比如autoUpdate、checkForUpdates、updateChannel这类字段。它的位置一般在用户目录下的应用数据文件夹里比如C:\Users\你的用户名\AppData\Roaming\Trae Work\settings.json也可能在安装目录的resources文件夹下。具体位置取决于 Trae Work 的打包方式。manifest.json则更像是应用元信息与更新策略的声明文件它可能定义了当前版本号、更新服务器地址、更新包校验方式等。在某些 Electron 应用里manifest.json还会控制update字段下的enabled状态。如果这个文件里写死了更新地址那光改settings.json可能不够还得把manifest.json里的更新源指向一个无效地址或者直接把更新开关置为false。我实测下来的经验是先改settings.json关掉主动检查再改manifest.json断掉更新源双管齐下最稳。只改一个的话某些版本会在下次启动时把配置重置回去。2.3 为什么直接删更新模块不可取有人可能会想既然更新这么烦直接把更新相关的可执行文件或脚本删掉不就行了我试过结论是风险极高不推荐。原因在于Trae Work 的更新模块往往和主程序、崩溃上报、甚至部分功能模块耦合在一起。你删掉一个update.exe或者updater.js可能导致主程序启动时报错或者某些依赖更新模块初始化的功能直接崩溃。更麻烦的是程序可能会检测到文件缺失触发自我修复机制反而把整个应用搞坏。所以正确的思路不是“删除”而是“欺骗”和“拦截”——让程序以为没有更新可用或者让更新请求发不出去。这也是为什么我们要在配置文件层面动手而不是动二进制文件。3. 动手前的准备备份、定位与权限3.1 找到 Trae Work 的真实安装路径在改任何东西之前先确认你的 Trae Work 到底装在哪。Windows 上常见的位置有几个C:\Users\你的用户名\AppData\Local\Programs\Trae WorkC:\Program Files\Trae WorkC:\Program Files (x86)\Trae Work如果你不确定可以右键点击桌面上的 Trae Work 快捷方式选“打开文件所在的位置”就能跳到真实目录。还有一种方法是在任务管理器里找到正在运行的 Trae Work 进程右键选“打开文件所在的位置”。找到安装目录后重点看两个地方一个是安装根目录下的resources文件夹里面通常有app.asar或app文件夹配置文件可能在里面另一个是用户数据目录路径一般是C:\Users\你的用户名\AppData\Roaming\Trae Work。这两个地方都要翻一遍因为不同版本的 Trae Work 放配置文件的位置可能不一样。3.2 备份是保命符别省这一步我见过太多人改配置文件改出问题最后连原版都回不去。所以在你打开任何配置文件之前先把整个 Trae Work 的配置目录复制一份到桌面或者别的盘。具体操作完全退出 Trae Work确保任务管理器里没有相关进程。找到AppData\Roaming\Trae Work文件夹整个复制到D:\Backup\TraeWork_Config_Backup。如果安装目录下也有settings.json或manifest.json同样复制一份。备份完之后如果改坏了直接把备份覆盖回去就能恢复。这个习惯我强烈建议养成不只是改 Trae Work改任何应用的配置文件都一样。3.3 权限问题为什么你改了没生效Windows 下有个很常见的坑你用记事本打开C:\Program Files\Trae Work\settings.json改完保存提示“拒绝访问”。这是因为Program Files目录默认需要管理员权限才能写入。解决办法有两个一是用管理员身份运行你的文本编辑器比如 Notepad 或 VS Code然后再打开文件编辑二是先把文件复制到桌面改完再复制回去复制回去的时候会弹 UAC 提示点“继续”就行。还有一种情况是文件被设置为只读。右键文件 → 属性 → 取消勾选“只读” → 确定。如果取消不了说明权限不够得先获取所有权。这个稍微复杂一点但一般 Trae Work 的配置文件不会做得这么绝多数情况下管理员权限就够了。提示改配置文件之前务必确认 Trae Work 已经完全退出。如果程序还在后台跑它可能在退出时把内存里的配置写回文件把你的修改覆盖掉。4. 改 settings.json把自动更新开关逐个关掉4.1 先读懂 settings.json 里的更新字段用文本编辑器打开settings.json如果你看到的是压缩成一行的 JSON建议先用格式化工具比如 VS Code 的“格式化文档”功能把它展开方便阅读。然后搜索关键词update、auto、check、upgrade。常见的字段名有这么几种字段名含义建议值autoUpdate是否自动更新falseautoCheckUpdates是否自动检查更新falsecheckForUpdates启动时检查更新falseupdateChannel更新通道改成disabled或留空enableUpdate更新功能总开关falseupdateUrl更新服务器地址改成无效地址或留空不同版本的 Trae Work 字段名可能略有差异但核心逻辑是一样的找到控制“是否检查”和“是否自动下载”的布尔值全部改成false。4.2 改完之后程序又改回来怎么办这是最让人头疼的情况你明明把autoUpdate改成了false重启 Trae Work 之后发现又变回true了。原因通常是程序在启动时从服务器拉了一份“推荐配置”或者从内置的默认配置里覆盖了你的修改。对付这种情况有几个办法办法一把文件设为只读。改完settings.json后右键文件 → 属性 → 勾选“只读” → 确定。这样程序想写也写不进去。但要注意某些程序发现写不进去可能会报错或者崩溃所以这个办法要测试一下。办法二改安装目录下的默认配置。如果AppData下的settings.json会被覆盖那就去安装目录的resources文件夹里找同名的默认配置文件把里面的更新开关也改掉。这样即使程序重置用户配置默认值也是关闭的。办法三用文件锁。高级一点的做法是用 Windows 的attrib命令把文件锁住或者用第三方工具监控文件变化一旦被改回来自动再改回去。这个稍微折腾适合对稳定性要求极高的场景。我个人的做法是办法一加办法二组合先改安装目录的默认配置再改用户目录的配置最后把用户目录的settings.json设为只读。实测下来Trae Work 老版本基本就不会再自动更新了。4.3 一个容易忽略的细节更新缓存目录即使你关掉了更新检查之前已经下载到本地的更新包可能还在。这些更新包通常放在AppData\Roaming\Trae Work\updates或者AppData\Local\Trae Work\updates这样的目录里。如果程序检测到本地有已下载的更新包可能会直接提示安装跳过检查步骤。所以改完配置后顺手把updates文件夹清空或者整个删掉。删掉之后程序下次想更新还得重新下载而下载入口已经被你关了它就没办法了。5. 改 manifest.json从源头断掉更新源5.1 manifest.json 里跟更新相关的字段manifest.json的结构通常比settings.json更“硬”它里面可能包含这样的字段{ version: 1.2.3, update: { enabled: true, url: https://update.example.com/trae-work, channel: stable } }你要做的就是把update.enabled改成false把update.url改成一个无效地址比如http://127.0.0.1:1或者直接留空字符串如果channel有值改成disabled或者删掉这个字段改完之后保存同样建议把文件设为只读。5.2 更新地址改成什么最安全有人会问更新地址改成什么最好我的建议是改成一个本机绝对不会响应的地址比如http://127.0.0.1:9。端口 9 是废弃的 discard 端口基本不会有服务在跑请求会立刻失败程序拿不到更新信息自然就不会更新。不要改成0.0.0.0或者空字符串因为有些程序对空值的处理是“回退到默认地址”反而弄巧成拙。也不要用localhost万一你本机跑了什么 Web 服务可能会误打误撞返回点什么。5.3 manifest.json 被校验怎么办部分应用会对manifest.json做完整性校验比如计算哈希值跟内置的值对比发现不一致就拒绝启动或者重新下载。Trae Work 老版本我实测没有这么严格但如果你改完发现程序启动报错说“配置文件损坏”之类的那就说明它做了校验。遇到这种情况有两个应对思路一是只改 settings.json不动 manifest.json。如果 settings.json 里的开关足够关掉更新那就没必要冒险改 manifest。二是用 hosts 文件拦截更新域名。这个办法更底层找到 Trae Work 更新服务器的域名在C:\Windows\System32\drivers\etc\hosts里把它指向127.0.0.1。这样无论配置文件怎么改更新请求都发不出去。缺点是得先知道更新域名是什么可以通过抓包或者看程序日志找到。注意改 hosts 文件需要管理员权限而且改完之后要刷新 DNS 缓存命令行运行ipconfig /flushdns。另外如果 Trae Work 用了多个更新域名或者 CDNhosts 拦截可能不全得配合配置文件一起用。6. Windows 层面的兜底让系统帮你拦住更新6.1 用防火墙出站规则阻断更新请求配置文件改完之后理论上 Trae Work 已经不会自动更新了。但为了保险可以在 Windows 防火墙上加一条出站规则禁止 Trae Work 的可执行文件访问网络。这样即使配置文件被重置更新请求也发不出去。操作步骤按Win R输入wf.msc打开“高级安全 Windows Defender 防火墙”。左侧选“出站规则”右侧点“新建规则”。规则类型选“程序”下一步。程序路径选 Trae Work 的主可执行文件比如C:\Users\你的用户名\AppData\Local\Programs\Trae Work\Trae Work.exe。操作选“阻止连接”下一步。配置文件全勾上域、专用、公用下一步。起个名字比如“Block Trae Work Update”完成。这条规则会阻止 Trae Work 的所有出站连接。如果你还需要用 Trae Work 的在线功能比如 AI 对话那就不能这么干得改成只阻止特定 IP 或端口。但如果你只是本地用或者能接受离线使用这条规则是最彻底的。6.2 任务计划程序里有没有更新任务有些应用会注册 Windows 任务计划定时触发更新检查。打开“任务计划程序”taskschd.msc在任务计划库里面搜“Trae”或者“Update”看看有没有相关任务。如果有直接禁用或者删除。这个步骤很多人会忽略但实测中确实遇到过应用通过任务计划来绕过配置文件检查的情况。花两分钟翻一下能省掉后面很多麻烦。6.3 别用“关闭 Windows 自动更新”那套思路热词里出现了很多“关闭 Windows 自动更新”“win11 永久关闭自动更新”之类的词但我要提醒一句Trae Work 的自动更新和 Windows 系统更新是两码事。你把 Windows Update 关了Trae Work 该更新还是更新。所以不要在这上面浪费时间聚焦在 Trae Work 自己的更新机制上就行。当然如果你本来就想关 Windows 自动更新那是另一个话题网上教程很多这里不展开。但别指望关了系统更新就能拦住 Trae Work。7. 验证与排查怎么确认真的不更新了7.1 重启三次观察版本号改完配置后别急着下结论。我的验证方法是连续重启 Trae Work 三次每次间隔几分钟观察版本号有没有变化。版本号可以在“关于”页面或者安装目录的manifest.json里看到。如果三次重启后版本号没变也没有弹出更新提示说明配置生效了。如果还是弹提示那就得回去检查是不是有字段没改全或者配置文件被覆盖了。7.2 看日志里还有没有更新请求Trae Work 通常会在AppData\Roaming\Trae Work\logs下写日志。打开最新的日志文件搜索update、check、download这些关键词。如果日志里还有“checking for update”或者“update available”之类的记录说明更新检查还在跑配置没完全生效。根据日志里的时间戳和请求地址可以进一步定位是哪个模块在发起更新检查然后针对性地去改对应的配置。7.3 更新提示又弹出来了怎么办如果改完一切正常用了几天之后突然又弹更新提示大概率是以下几种情况程序自动重置了配置文件。回去检查settings.json和manifest.json是否还是你改过的样子只读属性是否还在。有新的更新通道被激活。比如你关了 stable 通道但 beta 通道还在跑。检查所有跟channel相关的字段。Windows 任务计划里有漏网之鱼。再去任务计划程序里翻一遍。更新包已经下载到本地。清空updates目录然后确认防火墙规则还在。排查的时候按这个顺序来先看配置文件再看日志再看任务计划和防火墙。基本上 90% 的情况都能定位到。8. 几个我踩过的坑和最后的小技巧第一个坑用记事本改 JSON 导致格式错误。记事本有时候会加 BOM 头或者把换行符搞乱导致程序读不了配置文件。建议用 VS Code、Notepad 或者 Sublime Text 这类编辑器改完顺手格式化一下确保 JSON 合法。第二个坑只改了一个配置文件就以为万事大吉。我最早只改了settings.json结果manifest.json里的更新地址还在程序绕过 settings 直接按 manifest 的地址去检查。后来两个都改才彻底安静。第三个坑忘了清更新缓存。有一次改完配置更新提示还是弹查了半天发现updates文件夹里躺着一个之前下载好的安装包程序直接拿本地包来提示安装。删掉之后就好了。最后分享一个小技巧如果你实在搞不定配置文件可以用文件夹权限来兜底。把AppData\Roaming\Trae Work整个文件夹的写入权限去掉只保留读取和执行权限。这样程序想改配置也改不了想下载更新包也写不进去。缺点是 Trae Work 可能没法保存你的正常使用配置比如窗口大小、最近打开的文件等。所以这个办法适合“只要能跑就行”的场景不适合日常重度使用。另外一个思路是用沙盒或虚拟机跑老版本 Trae Work把网络完全断掉这样更新请求根本发不出去。但这样也就没法用在线功能了看你的取舍。我个人在实际操作中的体会是配置文件修改加防火墙拦截这两招组合起来最稳。单靠任何一个都有被绕过的可能两个一起上老版本就能安安稳稳地留在你机器上。至于能留多久取决于 Trae Work 后续版本会不会加强更新检测逻辑但至少目前这套方法是管用的。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进