Files
multica/apps/docs/content/docs/desktop-app.zh.mdx
Cong Vu Chi 820d57535e feat(desktop): load runtime self-host config (#2012)
* feat(desktop): load runtime self-host config

Co-authored-by: multica-agent <github@multica.ai>

* docs: document desktop runtime self-host config

Co-authored-by: multica-agent <github@multica.ai>

* fix(desktop): address runtime config review feedback

Co-authored-by: multica-agent <github@multica.ai>

---------

Co-authored-by: Cheese <congvc@congvc-c00.taila6fa8a.ts.net>
Co-authored-by: multica-agent <github@multica.ai>
Co-authored-by: congvc <congvc-dev@gmail.com>
2026-05-06 11:39:36 +08:00

100 lines
5.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 标签页,切到工作区 BA 的那 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) 拿对应平台的安装包:
| 平台 | 文件 |
|---|---|
| macOSIntel 或 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 自动起它,但行为一样)