三个故障,同一个病根
看看大家对桌面 AI 应用的真实反馈(Claude Desktop 是记录最全的例子,但这是整类应用的问题,不是针对某一家):应用在 Windows 上把自己搞坏、GitHub/文件集成显示「已连接」但文件树是空的、更新后聊天历史像是没了。三个看起来毫不相干的抱怨——但它们共享一个病根:一个托管、被沙盒关着的应用,只能通过它并不完全掌控的窄桥去够你的机器。
这个规律
| 你看到的 | 实际在发生什么 | 本地为什么不会中 |
|---|---|---|
| 装了自损坏 / 「这个应用打不开」 | MSIX 沙盒 + 一个被 Windows 拦的打包 DLL,程序包把自己标成坏的 | 普通(非 MSIX)进程根本没有签名校验可撞 |
| 集成「已连接」却什么都不做 | 连接器能列出仓库,却读不到沙盒桥另一头的文件 | 本地 agent 直接读你真实的文件和文件夹——没有桥可坏 |
| 更新后会话/登录被清 | 新版用的数据目录和旧沙盒的不一样 | 本地数据就在一个你自己的文件夹里,更新不会搬走它 |
1. 会自我损坏的安装
在 Windows 上,一个打包了软件渲染 DLL 的商店/MSIX 版,那个 DLL 会被 Code Integrity 拦,渲染进程崩溃,整个签名包就把自己标记成需要修复。Repair 只是把时钟拨回去。这不是你下载坏了——是打包方式的问题。一个装在普通文件夹里的本地应用根本不面对这种签名级校验,所以没什么可自损坏的。
2. 「已连接」却是空的集成
有人连上一个 GitHub 仓库,应用说已连接,然后文件树是空的——加仓库只是把它的 URL 当文本丢进 chat,引用它的 prompt 也够不到文件。当访问要走一个窄连接器、而不是文件系统,就会这样。本地 agent 不需要连接器就能看到你的代码:它直接读你磁盘上真实的文件和文件夹,就像你在终端里那样。没有桥,也就不存在「连上了却是空的」。
3. 消失的历史
更新之后,你的会话看着像被清空了。通常它们没被删——只是新版指向的数据目录和旧沙盒的不一样,所以看不到旧历史。当你的数据就放在一个你自己的普通文件夹里,更新不过是换个二进制去读同一个文件夹。没什么会弄丢。
本地 agent 有什么不一样
作为普通进程运行
没有 MSIX 沙盒、没有打包 DLL 的签名校验,也就没有那一类自损坏 bug。
读你真实的文件系统
它直接处理你机器上的文件和文件夹——没有会「连上却是空的」连接器。
自己管好自己的数据
配置和历史就在一个你掌控的文件夹里,更新不会把它们搁浅。
自带模型
不绑死某个账号/套餐,所以某一家的授权或额度出问题不会把你锁在外面。
老实说说代价
本地 agent 不是魔法——你要给它指一个模型(你自己的 key,或本地模型),这套配置得你自己负责。换来的是:一整类「应用又把自己搞坏了」的问题干脆就不存在。如果你跟桌面 AI 应用较劲的时间比真正用它的时间还多,这个交换通常是值的。
常见问题
Claude Desktop(或类似应用)为什么老在 Windows 上坏?
多半是打包问题:商店/MSIX 版打包了一个被 Windows Code Integrity 拦的 DLL,导致渲染进程崩溃、程序包被标记为坏。Repair 只能顶一会,因为它没移除触发原因。
我的 AI 应用显示 GitHub/文件集成已连接,但文件不出现,为什么?
访问走的是一个窄连接器,它能列出仓库却读不到沙盒另一头的文件。本地 agent 靠直接读你真实的文件系统来避开这个问题,而不是依赖连接器。
更新真的删了我的聊天历史吗?
通常没有——新版只是用了和旧沙盒不同的数据目录,所以看不到旧历史。它往往还在旧文件夹里。
本地 agent 有什么缺点?
你得自己带一个模型(自己的 API key 或本地模型)并管好这套配置。作为交换,「应用自损坏/集成坏掉/历史消失」这一整类问题都不适用。