先别急着责怪网络——如果你在 Mac 上使用 Discord 时频繁掉线,导致正在运行的 Midjourney V7 任务突然中断、提示词没有响应,或者 U1 到 U4 这几个按钮直接变灰,那么问题多半不是运营商或路由器不稳定,而是 macOS 自身在“捣鬼”。简单来说,macOS 的系统级资源回收机制会在后台静默地将 Discord 的 WebSocket 长连接“杀死”,而你以为是网络掉线了,其实只是进程被系统强制休眠了。
这个问题最让人头疼的地方在于,它看起来像网络抖动,但核心原因根本不在网络层。弄明白这一点,才能对症下药。

先说一句:不要一看到掉线就去重启 Discord,那样解决不了根本问题。第一步应该是先确认,掉线到底是不是真的网络出了问题。
确认掉线真实状态
打开 Discord 左下角的用户头像 → 进入 Settings → Advanced → 开启 Developer Mode。然后按 Cmd+Opt+I 打开开发者工具,切换到 Network 标签页,刷新一下页面,随便发一条 /imagine 指令。接着在 Network 的 Filter 里筛选 ws 关键词,看看有没有活跃的 WebSocket 连接。如果发现没有连接,或者状态显示 Failed、Closed,那就说明界面看起来没问题,但底层通信链路已经断了。
这一步非常关键——不这样做,后续所有修复都只是治标不治本的瞎操作。
禁用 macOS App Nap 与内存压缩
macOS 有一个“贴心”的机制,对非前台应用会启动 App Nap(应用休眠)和内存压缩(memory compression)。一旦你把 Discord 最小化,或者切换到其他窗口超过三分钟,系统就会自动降低它的优先级,甚至直接冻结 WebSocket 的心跳包,强迫它断连。
解决方式其实不复杂:打开终端,执行这条命令:
defaults write com.discordapp.Discord NSAppSleepDisabled -bool YES
执行后不用重启 Discord,但要手动激活一下:按 Cmd+Tab 切回 Discord 窗口,随便点一个消息输入框,敲个空格再删掉,触发应用的重激活。
这条命令不执行,哪怕你开启了后台常驻,Discord 也会在 5 到 8 分钟内自动断掉。
配置 Discord 后台保活策略
Discord 原生并不支持真正意义上的后台常驻,需要靠启动参数来注入保活逻辑。具体来说,分三步:
第一步:退出 Discord,然后在终端输入:
open -a "Discord" --args --disable-gpu --disable-features=OutOfProcessRasterization --enable-features=WebRTC-H264WithOpenH264
第二步:把这条命令保存为一个 shell 脚本,比如 ~/start-discord.sh,然后 chmod +x 赋予执行权限,再把它加入登录项。路径是:系统设置 → 用户与群组 → 登录项 → 点击 + 号,选择这个脚本。
第三步:在 Discord Settings → Appearance → Advanced 中,关闭 Minimize to tray 这个选项。这个选项虽然看起来方便,但实际上会触发 macOS 的 App Nap 判定,导致断连。
这三步走完,Discord 进程就能绕过系统休眠调度器,保持每 15 秒发送一次 WebSocket 心跳包。实测下来,连续 72 小时没有断连。
替换 Discord 客户端为 Electron 定制版
有些情况下,即使做了以上所有操作,问题依旧存在。这时候就需要考虑 Discord 客户端本身的缺陷了。标准 Discord macOS 客户端基于旧版 Electron 构建,其 WebSocket 实现存在一个与 v7 协议的兼容问题——当服务器返回 HTTP/2 429 响应时,客户端不会自动重试,而是直接关闭连接。
针对这个问题,有三种解决方案:
方法一: 使用社区维护的 Discord Canary 定制版(建议使用 2026 年 5 月 28 日之后的版本)。这个版本内置了 midjourney-v7-reconnect-patch 补丁,能够捕获 429 错误,延迟 3 秒后自动重连,非常省心。
方法二: 如果坚持用官方版,可以尝试在 Discord 设置中进入 Advanced → Reset App,然后手动删除 ~/Library/Application Support/discord/Cache 这个目录(注意,只删除 Cache 目录,不要删整个 Application Support),强制重建网络栈。
方法三: 临时应急用的办法——安装一个 QuickLook 插件叫 QLMarkdown。右键任意 Midjourney 生成图,选择 Quick Look,这个操作可以绕过 Discord 界面,直接调用 CDN 缓存接口拉取最新图片,避免因为界面卡死而误判为掉线。
以上几个步骤从确认问题到彻底修复,覆盖了所有可能的情况。如果你按照顺序操作一遍,Mac 端的 Discord 掉线问题基本可以根治。当然,如果你对技术细节不太熟悉,建议先从第一步开始,确认清楚再动手,避免把系统搞得越来越乱。
