Antigravity发消息无响应
【深度排查】Antigravity M1/M2 Mac 启动卡死、发消息无响应的终极解决方案
0. 前言
如果你在使用 Antigravity (反重力) 这款 AI 编程助手时,遇到了应用双击白屏、转圈、或者是能打开但发送消息后完全没反应,而通过另一台电脑 SSH 远程过来启动却能正常工作,那么恭喜你,你撞上了一个极其隐蔽的钥匙串鉴权死锁 (Keychain Deadlock) 漏洞。
本文将复盘这一问题的排查过程、底层原理,并给出经过验证的保姆级解决步骤。
1. 故障现象 (Symptoms)
- 常规启动必卡死:无论是双击
/Applications里的图标,还是在本地终端执行,应用都会在几秒内陷入不响应状态(Force Quit 显示应用已无响应)。 - 诡异的 SSH 现象:如果你通过
ssh user@m1-mac远程连接到这台机器,再运行同样的启动命令,应用竟然能够完美运行。 - 环境隔离:在本地设置了全局代理或环境变量后,依然无法解决卡死问题。
2. 深度原理分析:为什么本地会卡死,而 SSH 不会?
A. 问题的核心:LSP 子进程的硬编码 Bug
通过审计日志 ~/Library/Application Support/Antigravity/logs/xxxx/ls-main.log,我们发现主进程在启动语言服务器(Language Server)时,命令行参数是正确的:Args: ... --cloud_code_endpoint https://cloudcode-pa.googleapis.com
但是,在接下来的日志中,子进程 language_server_macos_arm 却出现了以下行为:URL: https://daily-cloudcode-pa.googleapis.com/v1internal:loadCodeAssist
结论:该子进程内部存在硬编码。即使外部传入了正式服地址,它在执行某些特定 AI 逻辑时,依然会强行连接谷歌内部的测试服(Daily Staging)。
B. 钥匙串 (Keychain) 带来的“致命一击”
当子进程尝试连接测试服时,它由于缺少权限,会触发 macOS 的系统鉴权。
- 在 GUI 会话下:系统会尝试弹出一个“进程想要访问您的钥匙串”的对话框。由于这个子进程是由 Electron 孵化的后台进程,它没有对应的窗口上下文。此时,主进程在同步等待子进程的响应,而子进程在无限期等待用户在那个“永远弹不出来的对话框”上点击确定。死锁达成。
- 在 SSH 会话下:由于 SSH 是非图形化会话,macOS 安全机制会直接报错:
errSecInteractionNotAllowed (-25308)。程序收到了这个错误,反而不再等待,直接报错退出或跳过该逻辑。这种“报错”反而打破了死锁,让应用得以侥幸启动。
3. 终极解决步骤 (Solution)
第一步:利用 SSH 远程启动(绕过死锁)
你需要通过 SSH 远程进入这台 Mac,或者在本地开启 SSH。
# 1. 清理所有僵死进程(非常重要!)
pkill -9 -f Antigravity
pkill -9 -f Electron
pkill -9 -f language_server
pkill -9 -f node
# 2. 从 SSH 终端启动应用
/Applications/Antigravity.app/Contents/MacOS/Electron --verbose
此时,你应该能看到你的 Mac 屏幕上应用成功打开了。
第二步:精准禁用故障模块
应用打开后,请在图形界面中进行以下操作:
- 点击左下角的 Settings (设置)。
- 在左侧菜单中找到 GLOBAL 分组下的 Customizations (自定义)。
- 在 INSTALLED MCP SERVERS 列表中,找到那个红灯报错或者名称为 AI工具层 的项。
- 将其右侧的开关关闭(变成灰色)。
- 同时建议关闭其他报错的模块,如 docker, fetch, firecrawl。
第三步:验证修复
- 在终端按下
Ctrl+C结束运行。 - 彻底退出 SSH。
- 回到 Mac 屏幕前,直接点击 Antigravity 图标启动。
- 此时应用应该能够瞬间启动,且发消息功能恢复正常。
4. 经验总结:遇到此类问题该怎么办?
- 看日志:Antigravity 的日志通常在
~/Library/Application Support/Antigravity/logs/。重点看ls-main.log(语言服务器)和main.log(主进程)。 - 怀疑环境隔离:如果本地不行远程行,优先考虑是否是 macOS 的 Keychain 弹窗或者是 UI 权限导致的死锁。
- 暴力降级:如果某个实验性功能(如 LSP)导致整体崩溃,最快的方法就是像我们这样通过特殊手段进入设置界面并禁用它。
本文档由 Antigravity 协作排查生成,旨在帮助更多遇到 M1 Mac 兼容性问题的开发者。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)