Multica 不是"一种语言写完的"。它是 Go 后端(服务器 / 守护进程 / CLI 同一个二进制)负责所有服务端状态与 Agent 调度,加上一套 pnpm + Turborepo 的 TypeScript 前端 monorepo(Web / 桌面 / 移动端共享核心逻辑)。下面把每一端用什么语言、怎么连起来,以及它和 Paseo 的根本区别一次讲清。
箭头 = 数据流 / 调用方向。蓝色块 = Go,蓝紫块 = TypeScript,青色 = React Native,深色 = Electron。
server/cmd/multica + internal/daemon + internal/cli)。前端三端(Web/桌面/移动)共享 @multica/core 的业务逻辑,只是外壳不同。multica login / daemon / issue硬边界:core 零 DOM / 零 localStorage / 零 process.env;ui 不导入 core;views 不碰 next/*,靠 NavigationAdapter 路由。
状态管理规则:React Query 拥有所有服务端状态(issue / agent / inbox…),Zustand 只管客户端视图状态(筛选 / 草稿 / 弹窗)。WS 事件更新 React Query 缓存,而不是直接写 store。
npm workspaces(非 pnpm/turbo)· 工具链用 tsgo(TS 原生编译器预览)+ oxlint / oxfmt(Rust)· 以公开 npm 包 @getpaseo/* 分发 · AGPL-3.0。
点击表头可排序。蓝色 = Multica,橙色 = Paseo。
| 维度 | Multica | Paseo |
|---|---|---|
| 后端语言 | Go 1.26(单二进制) | TypeScript / Node(无 Go) |
| 数据真相之源 | 云端 PostgreSQL 17 + pgvector | 你自己的机器(本地文件),无中心 DB |
| 部署形态 | 云优先多租户 + 可自托管(Docker/Helm) | 本地优先;以 npm 包分发 |
| Server ↔ 你机器 | Daemon 反连云 Server (WS) | Server 就在本机;手机经 E2EE relay 连入 |
| Agent 接入方式 | Go 适配层 shell 调各家 CLI | ACP 协议 + 各家 SDK + node-pty 真实终端 |
| 招牌能力 | 看板/Issue · Squads · Autopilot 定时 · 集成 | 语音控制 · 真实终端 · 端到端加密 |
| 缓存 / 队列 | Redis | 进程内 (lru-cache / ttlcache) |
| 前端 monorepo | pnpm workspaces + Turborepo | npm workspaces(无 turbo) |
| Web 框架 | Next.js 16 (App Router) | Expo Web + website 用 TanStack Start |
| 移动端 | Expo 55 / RN 0.83(iOS 为主) | Expo 54 / RN 0.81(iOS + Android + Web) |
| 桌面端 | Electron 39(前端壳,内嵌 Go CLI) | Electron 41(直接包住 Node server) |
| CLI | Go + cobra(同一二进制) | TS + commander(npm 包) |
| Lint / 格式化 | ESLint + tsc | oxlint + oxfmt(Rust)+ tsgo |
| 开源许可 | 见仓库 LICENSE | AGPL-3.0 |
共享 DNA(两边都有):React 19 · Expo/React Native · Electron · zod · TanStack Query · Zustand · WebSocket 实时 · "守护进程 + CLI + 桌面 + 移动"的四件套形态。
心脏是一个 Go 服务器 + Postgres。它把 Agent 建模成看板上的"同事":有 profile、被指派 issue、汇报进度。你的机器只是它调度出去的一个 Runtime。前端(Web/桌面/移动)都只是这套云 API 的客户端。适合团队协作、多人多 Agent、定时自动化。
并发调度、长连接 WebSocket 扇出、Prometheus 指标、单二进制分发(server=daemon=cli)——这些都是 Go 的强项,也解释了为什么后端不用 TypeScript。
心脏是一个跑在你电脑上的 Node 守护进程,直接开真实 PTY 终端、跑语音识别,通过端到端加密让手机远程遥控你的机器。没有中心数据库,你的机器就是真相之源。适合个人开发者随身控制自己的编码 Agent。
本地单机、无需高并发云调度;ACP/MCP/各家 Agent SDK 生态都在 Node;语音、终端、跨端 UI 复用同一套 TS 类型和 zod schema——一种语言打通守护进程到手机。