---
title: 桌面应用
description: Multica Desktop 是什么、和 Web 有什么区别、什么时候值得用。
---

import { Callout } from "fumadocs-ui/components/callout";

Multica Desktop 是原生桌面应用——macOS / Windows / Linux 三个平台。对它当前配置的环境来说，它和 Web 版连同一个后端、看到的数据完全一样。Desktop 默认使用 Multica Cloud；自部署实例可以通过本地运行时配置文件接入。它还给了几个 Web 做不到的能力：**[工作区](/workspaces) 独立的多标签页**、**自动启动 [守护进程](/daemon-runtimes)**、**一键升级**。

## 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 检查新版本。检查到新版本：

1. 在后台静默下载新版本
2. 提示你「准备就绪，下次启动时安装」
3. 你点击退出（或下次重启）时，应用关闭前把新版本装好
4. 再次打开时就是新版本

整个过程**不中断你正在做的事**。

<Callout type="warning">
**Windows 的 ARM64 和 x64 是独立的更新通道**——装错架构会识别不到更新。安装时下载对应你机器架构的那个 `.exe`（带 `arm64` 后缀的是 ARM 版）。
</Callout>

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`）。

## 怎么下载安装

去 [多卡下载页](https://multica.ai/download) 拿对应平台的安装包：

| 平台 | 文件 |
|---|---|
| macOS（Intel 或 Apple Silicon）| `.dmg` |
| Windows x64 | `.exe`（常规）|
| Windows ARM64 | `.exe`（带 `arm64` 后缀）|
| Linux | `.AppImage` |

安装后第一次打开需要登录——和 Web 版一样的 email + 验证码流程。登录成功后 Desktop 自动把工作区列表同步下来。

<Callout type="info">
**Desktop 默认连接 Multica Cloud，但可以通过本地配置文件指向自部署实例。** 应用内仍然没有“连接自部署”的切换入口。Desktop 会在 renderer 启动前读取 `~/.multica/desktop.json`；如果这个文件不存在，就使用 Cloud 默认值。

最小自部署配置：

```json
{
  "schemaVersion": 1,
  "apiUrl": "https://api.your-domain"
}
```

`apiUrl` 是必填项，必须使用 `http` 或 `https`。Desktop 会自动从它推导 `wsUrl`（同源 `/ws`，`https` 对应 `wss`，`http` 对应 `ws`）和 `appUrl`（API 的同源地址）。如果你的部署使用不同域名，可以显式设置：

```json
{
  "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](https://github.com/multica-ai/multica/issues/1371)。
</Callout>

## 下一步

- [Cloud Quickstart](/cloud-quickstart) —— Desktop 版的 Cloud 接入流程
- [Self-Host Quickstart](/self-host-quickstart) —— 自部署后端，并通过 CLI 或 Desktop 运行时配置连接
- [守护进程与运行时](/daemon-runtimes) —— 守护进程机制（Desktop 自动起它，但行为一样）
