博客

Discord 桌面版:官方客户端,以及网站自己的窗口

常用网站 · · 约 9 分钟

后台语音用 Discord 官方的 Mac、Windows 或 Linux 客户端。discord.com 是同一个账号的浏览器版,用 Pake 把这个网站做成窗口,能做的事仍以浏览器版为准。Discord 的帮助页写明,浏览器里的 Push to Talk 只在窗口处于前台时生效,Keybinds 页和 Windows 上的游戏内覆盖层属于桌面客户端,共享时的应用声音则记在 Windows 桌面版、macOS 桌面版、Chrome 和手机上。

Discord 自己的桌面客户端

Discord 的下载页写着桌面版有 Windows、macOS 和 Linux,安装指南也建议用这些客户端。2026 年 11 月 5 日,下载页上的 Mac 有两份,分别标着 Intel 和 Apple Silicon,Windows 有两份,分别标着 x64 和 ARM64,Linux 有四种包,标着 deb、tar.gz、rpm 和 pkg.tar.zst,Linux 那几行没有写 CPU 架构,四个链接最后拿到的都是 x64 版本,同一个下载地址换成 arm64 会直接报错。

系统要求更新于 2026 年 7 月 21 日,桌面最低是 Windows 10、macOS 12(Monterey),Linux 则是 Ubuntu 20.04、Debian 11、openSUSE 16.2 和 Fedora Linux 32,都含之后的版本。同一页给网站列的浏览器下限是 Chrome 108、Firefox 142、Opera 72、Edge 86 和 Safari 15.4。

安装指南里,Windows 是点 Download for Windows,再运行 DiscordSetup.exe。Mac 是点 Download for Mac,打开 Discord.dmg,把 Discord 拖进应用程序文件夹。Linux 是点 Download for Linux,指南里写出的命令只有在 Debian 系上对下载的 deb 执行 sudo dpkg -i 或 sudo apt install。tar.gz、rpm 和 pkg.tar.zst 只出现在下载页的名称里,指南没有逐步写怎么装。

32 位 Windows的桌面支持在 2024 年 6 月 15 日结束,浏览器只要达到上面的下限就还能用,已经装上的旧客户端可能还能打开,只是不再收到更新。确认系统的办法按那篇文章来,开始菜单里搜 about,打开 About your PC,看 System Type。

浏览器版少了什么

语音输入这篇更新于 2025 年 3 月 25 日,入口是左下角齿轮,然后是 User Settings、Voice & Video、Input Mode。Voice Activity 是你说话它就送出去,Discord 写着这种模式自带 200ms 延迟,还要加上你到服务器的距离。Push to Talk 只在按住 Edit Keybind 录下的那个键时送声音,Push to Talk Release Delay 管的是松手之后声音还留多久。浏览器版里这个键只在窗口处于前台时有用,要全局按键说话,帮助页写的是去装桌面客户端。

快捷键文章最后更新是 2020 年 10 月 2 日,写明浏览器和手机都不能设置 keybinds。用 Add a Keybind 一个一个加,人还停在这一页时这些键是关着的,离开页面才恢复。那一页列出的动作是 Push to Talk、Push To Mute、Toggle Mute、Toggle Deafen、Toggle VAD、Toggle Streamer Mode、Toggle Overlay 和 Toggle Overlay Lock。

游戏内覆盖层更新于 2025 年 4 月 2 日,是桌面客户端的功能,而且只在 Windows 上。文末 FAQ 写的是 Windows 10 和 11,并写明 Mac 和 Linux 上不起作用。开关在 User Settings、Overlay、Enable Overlay,文中的默认热键是 Shift 加反引号那个键。游戏开着的时候,Go Live 文章说可以从覆盖层里点 Stream,再点 Go Live 开始共享。网站本身没有一层东西可以画到游戏上面。

同一篇 Go Live,更新于 2026 年 6 月 19 日,写着应用声音只能由 Windows 桌面版、macOS 桌面版、Chrome 和手机采集,Linux 和其他浏览器都不能共享应用的声音,经浏览器推流也不能调节清晰度。所有人最多推到 720p/30fps,Nitro 和 Nitro Classic 最多到 4k/60fps。所以在 Linux 上,官方客户端相对网站多出来的,是全局 Push to Talk 和 Keybinds 页,应用声音和覆盖层它自己的页面也没给。32 位 Windows 那篇则是 Discord 自己把人指回网站的情形。

Pake 窗口加载的是网页

精选配方 discord 只有地址、名字和一句介绍,地址是 https://discord.com/app,名字是 Discord,中文介绍是语音、视频和文字社区,没有 CSS,没有 JavaScript,也没有自己的窗口尺寸。精选说明写着有些条目还调好了窗口大小、选项、CSS 或 JavaScript,Discord 这条一样都没有,所以用的是创建页的默认尺寸,1200 × 780。

Pake 是在系统网页视图里打开这个地址,外壳是怎么来的可以看 Pake 是怎么工作的。命令行文档写的视图是 Mac 上的 WKWebView、Windows 上的 WebView2、Linux 上的 WebKitGTK,桌面版手册也写明它在 Windows 上装出来的应用跑在 WebView2 Runtime 上。Discord 把 discord.com 称作浏览器版,所以按键说话仍看窗口有没有在前台,覆盖层仍是 Windows 桌面客户端的功能。

不传 --user-agent 时,命令行在 macOS 和 Linux 上用 Safari 字符串,在 Windows 上用 Chrome 字符串。桌面版里 User Agent 留空,Mac 用 Safari,Windows 用 Chrome。Discord 的浏览器表点名的是 Chrome、Firefox、Opera、Edge 和 Safari,采集声音那句点名的是 Chrome,没有写 WebView2 或 WKWebView,所以从这个窗口共享时要不要应用声音,得自己试一次,不能把它当成帮助页里的 Chrome。

Ubuntu、Debian、Fedora 和 openSUSE 在 Discord 的系统要求里,这些发行版上的官方客户端就从下载页拿。Pake 桌面版手册覆盖的是 macOS 14 及以后、Windows 10 版本 2004 及以后的 x64 和 ARM64,以及 Omarchy 这类基于 Arch 的 Linux,处理器是 x86_64。Discord 的 Mac 下限是 12,所以 macOS 12 和 13 上对得上 Discord 自己那张表的是 Discord 的应用。在 Discord 点名的其他发行版上,Pake 窗口要用命令行来做。

把窗口做出来

配好命令行之后,需要 Node.js 20.9 或更高、Rust 1.85 或更高:

pake https://discord.com/app --name Discord --hide-on-close --show-system-tray --microphone --camera

--hide-on-close 让关闭变成隐藏,macOS 上本来就是开的,Windows 和 Linux 上默认关。--show-system-tray 加上菜单栏或托盘图标,怎么把窗口找回来可以看菜单栏这篇。--microphone 和 --camera 给 macOS 加上麦克风和摄像头的权限声明,命令行文档写明这两个参数在 Windows 和 Linux 上会被忽略,不加的话 Mac 上的应用不会去申请这两样。--width 和 --height 用来改掉默认的 1200 × 780,Mac 上再加 --install 会把应用拷进 /Applications。其余参数在 CLI 选项。

Pake 桌面版在上面写过的系统上不用终端也能做。打开创建页,在粘贴网址或搜索下面应用开始创建里输入 Discord,它在社交分类下,找不到就粘贴 https://discord.com/app。打开常驻后台,Linux 上这个选项叫关闭时隐藏到托盘,Windows 上打开它也会打开托盘图标。菜单栏图标和托盘图标默认是关的,默认尺寸一开始就是 1200 × 780。点创建应用。手册里没有麦克风或摄像头的开关,其余选项见创建应用。

登录之后退出再打开一次。无痕浏览(命令行是 --incognito)不保留 Cookie 和登录,想保持登录就不要开。macOS 上 Pake 的 FAQ 写明这些应用用不了通行密钥和 Touch ID,用密码和第二重验证。

先在窗口处于前台时按住 Push to Talk,再点到别的应用上按一次。Discord 写的是第二次在浏览器版里不会送出声音。Windows 上游戏进行中按 Shift 加反引号,不应该弹出覆盖层。从语音状态栏的屏幕图标开始共享,看有没有应用声音这一项。窗口隐藏后再让别人发一条消息,用来看提醒。Pake 会在应用还在运行时把页面的 Notification 调用交给系统,页面已经关掉之后的 web push 它不送,Discord 的上述页面没有写 discord.com 走的是哪一种,所以这条消息就是结果,Pake 这边的路径在网站通知。第二个账号用我的应用里 ⋯ 菜单的添加另一个账号,或者命令行换一个 --name,每个名字有自己的存储,说明在同一个网站两个账号。

不好使的时候

  • 页面空白或登录打转,按 Cmd R 或 Ctrl R,再到 Discord 列出的浏览器里打开同一个账号。Mac 上 Cmd L 会复制当前地址,这两个键都在快捷键表里。
  • Mac 上别人听不见,重新打包并加上 --microphone,要视频再加 --camera。桌面版手册里没有这两个开关。
  • Linux 上通话失败,上面两个参数在这里不起作用,WebKitGTK 也不在 Discord 的浏览器表里,改用 Discord 的安装包,或者表上的某一种浏览器。
  • Pop Out 把频道盖掉了,Go Live 文章里有 Pop Out View,还有一个让这扇串流窗口保持在前的 Stay On Top。Pake 默认把要求新窗口的请求开在当前窗口里,除非打包时加 --new-window,桌面版里这个选项叫新窗口在应用内打开。
  • 链接跑到外面去了,别的主机默认用浏览器打开。--safe-domain 会换掉原本留住本站的规则,要加别的主机时把 discord.com 一起写上。

常见问题

游戏在前台时 Push to Talk 有用吗

Discord 写的是浏览器版没有用。

Linux 上能共享应用的声音吗

Go Live 那页写不能,Linux 桌面客户端也包括在内。它点名能采集的浏览器是 Chrome。