Multica Docs

桌面应用

Multica Desktop 是什么、和 Web 有什么区别、什么时候值得用。

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

Desktop 和 Web 该用哪个

WebDesktop
访问方式浏览器打开 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. 再次打开时就是新版本

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

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 是必填项,必须使用 httphttps。Desktop 会自动从它推导 wsUrl(同源 /wshttps 对应 wsshttp 对应 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

Windows Defender 把 Multica 报成病毒

现象:Windows 安全中心报出 Trojan:Script/Wacatac.B!ml 之类的威胁,并隔离 Desktop 安装目录里的某个文件。被隔离的通常是内置的 CLI,而不是应用主程序:

C:\Users\<你>\AppData\Local\Programs\@multicadesktop\resources\app.asar.unpacked\resources\bin\multica.exe

这是误报。 !ml 后缀表示这个结论来自 Defender 的机器学习启发式判断,而不是病毒特征库匹配。Multica 的 Windows 构建目前还没有做 Authenticode 代码签名,而一个刚发布、没有签名、又会拉起后台进程并建立网络连接的二进制,正好落在这类启发式最容易判可疑的画像上。所有 Windows 产物都由 GitHub Actions 从本仓库的公开源码构建。

可以自己校验 —— 每个 GitHub release 都发布了覆盖全部 CLI 压缩包的 checksums.txt

Get-FileHash .\multica-cli-<version>-windows-amd64.zip -Algorithm SHA256

把输出的哈希和最新 releasechecksums.txt 对应那一行比对。

怎么解决

  1. 把隔离的文件恢复回来 —— Windows 安全中心 → 病毒和威胁防护保护历史记录 → 选中 Multica 那一条 → 操作还原

  2. 加排除项,避免再次被隔离 —— 病毒和威胁防护管理设置排除项添加或删除排除项文件夹,两个都要加:

    • %LOCALAPPDATA%\Programs\@multicadesktop
    • %APPDATA%\Multica

    两个路径缺一不可:内置 CLI 被删掉后,Desktop 会把替换版本下载到 %APPDATA%\Multica\bin,只排除安装目录的话,下载下来的副本还会再被隔离一次,陷入循环。

  3. 把误报提交给微软 —— 在 Microsoft Security Intelligence 文件提交页选择 Software developerIncorrectly detected as malware。这一步才是让检测对所有用户撤销的办法,一般几天内生效。

只有在你是从下载页GitHub releases 安装、且校验和对得上的前提下,才加这些排除项。排除项会关闭该文件夹内所有文件的实时保护。

下一步