桌面应用
Multica Desktop 是什么、和 Web 有什么区别、什么时候值得用。
Multica Desktop 是原生桌面应用——macOS / Windows / Linux 三个平台。对它当前配置的环境来说,它和 Web 版连同一个后端、看到的数据完全一样。Desktop 默认使用 Multica Cloud;自部署实例可以通过本地运行时配置文件接入。它还给了几个 Web 做不到的能力:工作区 独立的多标签页、自动启动 守护进程、一键升级。
Desktop 和 Web 该用哪个
| Web | Desktop | |
|---|---|---|
| 访问方式 | 浏览器打开 URL | 装一个本地应用 |
| 多标签页 | 浏览器自己的标签页(不区分工作区) | 每个工作区一组独立标签页 |
| 守护进程 | 要你自己跑 multica daemon start | 启动时自动拉起 |
| 升级 | 刷新页面就是最新 | 应用自动检查 + 下次启动安装 |
| 登录后的数据 | 完全一样 | 完全一样 |
选 Web:临时用、在别人电脑上、不想装应用的场景。
选 Desktop:每天用 Multica、会同时操作多个工作区、不想自己管守护进程的场景。
多 tab:工作区之间切换怎么表现
Desktop 为每个你加入的工作区独立维护一组标签页。切换工作区时,当前工作区的标签页会被整体隐藏,上次那个工作区的标签页会原样恢复——像 VSCode 的多 workspace 行为或 Slack 的 workspace 切换。
举例:你在工作区 A 打开了 3 个 issue 标签页,切到工作区 B,A 的那 3 个标签页消失,B 里显示你上次在 B 留下的标签页;切回 A,那 3 个原样回来。不同工作区的标签页不会互相串到对方。
登出会清空所有工作区的标签页状态,防止多用户共用同一台机器时的数据泄露。
Desktop 怎么自动更新
Desktop 启动时会去 GitHub Releases 检查新版本。检查到新版本:
- 在后台静默下载新版本
- 提示你「准备就绪,下次启动时安装」
- 你点击退出(或下次重启)时,应用关闭前把新版本装好
- 再次打开时就是新版本
整个过程不中断你正在做的事。
Windows 的 ARM64 和 x64 是独立的更新通道——装错架构会识别不到更新。安装时下载对应你机器架构的那个 .exe(带 arm64 后缀的是 ARM 版)。
macOS 版本已经签名 + 公证,第一次打开不会有"未知开发者"的警告。Linux 版是 .AppImage——自动更新机制依赖 electron-updater,在某些发行版可能不稳定,不工作时手动下载新版本覆盖。
还要单独装 CLI 和守护进程吗
不用。Desktop 包里内置了同一个 multica CLI 二进制——Desktop 启动时会自动启动守护进程的独立 profile(和你命令行手动跑的守护进程互不干扰)。
如果你已经装过 CLI 并手动跑过 multica daemon start,Desktop 不会抢占你那个守护进程——它起自己的,用不同的 profile 隔离。两边注册的是不同的运行时,在 UI 里能看到两个独立运行时。
想在终端里跑 CLI 命令,Desktop 不提供特殊方式——照常用系统的 CLI(如果你单独装了),或者用 Desktop 自带的版本(在应用的资源目录里,resources/bin/multica)。
怎么下载安装
去 多卡下载页 拿对应平台的安装包:
| 平台 | 文件 |
|---|---|
| macOS(Intel 或 Apple Silicon) | .dmg |
| Windows x64 | .exe(常规) |
| Windows ARM64 | .exe(带 arm64 后缀) |
| Linux | .AppImage |
安装后第一次打开需要登录——和 Web 版一样的 email + 验证码流程。登录成功后 Desktop 自动把工作区列表同步下来。
Desktop 默认连接 Multica Cloud,但可以通过本地配置文件指向自部署实例。 应用内仍然没有“连接自部署”的切换入口。Desktop 会在 renderer 启动前读取 ~/.multica/desktop.json;如果这个文件不存在,就使用 Cloud 默认值。
最小自部署配置:
{
"schemaVersion": 1,
"apiUrl": "https://api.your-domain"
}apiUrl 是必填项,必须使用 http 或 https。Desktop 会自动从它推导 wsUrl(同源 /ws,https 对应 wss,http 对应 ws)和 appUrl(API 的同源地址)。如果你的部署使用不同域名,可以显式设置:
{
"schemaVersion": 1,
"apiUrl": "https://api.your-domain",
"wsUrl": "wss://api.your-domain/ws",
"appUrl": "https://your-domain"
}如果 desktop.json 存在但内容无效,Desktop 会 fail closed,显示阻塞式配置错误,而不是悄悄回退到 Cloud。开发构建里,electron-vite dev 仍然优先使用 VITE_API_URL / VITE_WS_URL / VITE_APP_URL。Desktop 运行时自部署配置能力对应 issue #1371。
下一步
- Cloud Quickstart —— Desktop 版的 Cloud 接入流程
- Self-Host Quickstart —— 自部署后端,并通过 CLI 或 Desktop 运行时配置连接
- 守护进程与运行时 —— 守护进程机制(Desktop 自动起它,但行为一样)