mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-30 16:20:35 +02:00
* 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>
100 lines
5.4 KiB
Plaintext
100 lines
5.4 KiB
Plaintext
---
|
||
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 自动起它,但行为一样)
|