跳至内容

multica daemon 安装使用

在 Windows / Linux 连接 Odoo
2026年7月26日
multica daemon 安装使用
小智

这是什么

multica daemon 是 multica 的本地智能体运行时:它检测本机的 AI CLI(Claude Code、Codex、Gemini、OpenCode、Kimi 等),向 multica 服务端注册为可用 runtime,并在被分配任务时在本地执行。本文介绍如何在 Windows / Linux 上安装预编译版本,并以 Odoo 作为后端backend_mode = odoo)连接。

backend mode = odoo:daemon 用 Odoo OpenAPI 的 appid/secretaccess_token,后续请求带 X-GALAXY-ACCESS-TOKEN + X-GALAXY-API-KEY,接口路径前缀为 /multica。该模式不需要 multica login 的登录 token,改用应用凭证鉴权。

下载

两个预编译版本,均由 multica 官方源码(commit c3966b27,15 个 Odoo 集成补丁全部已应用)构建:纯 Go、CGO_ENABLED=0-trimpath、符号已剥离(-s -w),内置 version=odoo-dev,无外部依赖。

平台 文件名 大小 SHA256
Windows x64 multica-windows-x64.exe 16.7 MB e86a0077307b5d26f21811e43e91acac28340347354d68d48b485eafeba40d4b
Linux x64 multica-linux-x64 16.1 MB 3320907bdba6f62cc32174eca4c9bf2803c5d827b6974cb1b03bfd19e361fffd

下载后核对完整性:

  • Windows:certutil -hashfile multica-windows-x64.exe SHA256
  • Linux:sha256sum multica-linux-x64

二进制随源任务 TASK-1-18 以附件形式提供;若要在本文直接提供下载链接,由网站编辑在发布时把这两个文件挂到本文附件即可。

从源码编译(可选,最可信)

源码开放,可自行复现构建。前提:本机装好 Go(≥ 3.10 对应 go.mod 的 go 1.26;实测用 Go 1.26),multica 源码里 quilt 补丁栈全部 push(共 15 个,最后到 0015-odoo-daemon-pause-interrupt.patch)。纯 Go 无 CGO,Linux 上可直接交叉编译 Windows 版,无需 mingw。

Windows x64:

cd server
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath \
  -ldflags "-s -w -X main.version=odoo-dev -X main.commit=$(git rev-parse --short HEAD) -X main.date=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  -o bin/multica-windows-x64.exe ./cmd/multica

Linux x64:

cd server
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath \
  -ldflags "-s -w -X main.version=odoo-dev -X main.commit=$(git rev-parse --short HEAD) -X main.date=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  -o bin/multica-linux-x64 ./cmd/multica

准备 Odoo 侧凭证

连接 Odoo 前,需要在 Odoo 侧准备:

  • 一个可访问的 Odoo 实例 URL,如 https://odoo.example.com
  • 数据库名 db
  • 一组 OpenAPI 应用凭证:appid(对应 MULTICA_APP_ID)与 secret(对应 MULTICA_APP_SECRET),在 Odoo 的 OpenAPI / 应用配置里创建

Windows:安装与连接 Odoo

安装

  1. multica-windows-x64.exe 放进某个目录,例如 C:\Tools\multica\
  2. 把该目录加入 PATH(系统属性 → 环境变量 → Path → 新建)。
  3. 新开 PowerShell 验证:multica version(应输出 odoo-dev (commit: c3966b27, …))。

配置目录:%USERPROFILE%\.multica\(即 C:\Users\<你>\.multica\);日志:%USERPROFILE%\.multica\daemon.log

配置(二选一)

方式 A — 环境变量(临时 / 测试): 在启动 daemon 的同一个 PowerShell 窗口里设置(后台 daemon 继承该窗口的环境变量):

$env:MULTICA_BACKEND_MODE = "odoo"
$env:MULTICA_SERVER_URL   = "https://odoo.example.com"
$env:MULTICA_APP_ID       = "<你的 appid>"
$env:MULTICA_APP_SECRET   = "<你的 secret>"
$env:MULTICA_DB_NAME      = "<数据库名>"

要永久生效用系统环境变量,或 setx MULTICA_BACKEND_MODE odoosetx 只对新窗口生效)。

方式 B — config.json(长期): 编辑 C:\Users\<你>\.multica\config.json

{
  "backend_mode": "odoo",
  "server_url":   "https://odoo.example.com",
  "app_id":       "<你的 appid>",
  "app_secret":   "<你的 secret>",
  "db_name":      "<数据库名>"
}

server_url 也可用命令写入:multica config set server_url https://odoo.example.com。优先级:环境变量 > config.json > 默认值

启动与验证

multica daemon start      # 后台运行(已脱离控制台与 Job Object,关掉 PowerShell 不会被杀)
multica daemon status     # 查看 PID / 已检测到的 agent / 监听的工作区
multica daemon logs -f    # 实时跟随日志
multica daemon stop       # 停止

日志里出现 authenticated (Odoo mode) 即说明 appid/secret 换 token 成功、已连上 Odoo。

连通性自检(可选)

手动调用 daemon 实际使用的 token 接口(GET <odoo_url>/openapi/token):

Invoke-RestMethod "$env:MULTICA_SERVER_URL/openapi/token?grant_type=client_credential&appid=$env:MULTICA_APP_ID&secret=$env:MULTICA_APP_SECRET&db=$env:MULTICA_DB_NAME"

能返回 access_token / api_key 即网络与凭证均正常。

Linux:安装与连接 Odoo

安装

chmod +x multica-linux-x64
sudo mv multica-linux-x64 /usr/local/bin/multica   # 或加进 PATH
multica version

配置目录:~/.multica/;日志:~/.multica/daemon.log

配置

环境变量(当前 shell / systemd unit / ~/.bashrc):

export MULTICA_BACKEND_MODE=odoo
export MULTICA_SERVER_URL=https://odoo.example.com
export MULTICA_APP_ID=<你的 appid>
export MULTICA_APP_SECRET=<你的 secret>
export MULTICA_DB_NAME=<数据库名>

或写进 ~/.multica/config.json(结构同上面 Windows 的 config.json)。优先级同样是:环境变量 > config.json > 默认值。

启动与验证

multica daemon start
multica daemon status
multica daemon logs -f
multica daemon stop

日志出现 authenticated (Odoo mode) 即连通成功。

提示: daemon 启动顺序是 starting daemondaemon config resolvedresolveAuth()(Odoo 模式下打 /openapi/token)→ authenticated (Odoo mode)daemon_id 是本地持久化的 ID,有它不代表鉴权通过——以 authenticated (Odoo mode) 这一行作为成功标志。

关于杀毒软件误报(Windows)

在 Windows 上,从网络下载的未签名 exe 被 Defender / 各家杀软误报成木马是非常普遍的现象。本二进制是纯 go build 产物,没有加壳、没有释放器;被误报的常见原因:

  1. 未签名 + 带网络标记(Mark of the Web):未签名下载件会触发更激进的 SmartScreen / 启发式检查。
  2. 行为启发式(!ml 机器学习):报错名带 !ml(如 Trojan:Win32/Wacatac.B!ml)即机器学习判的、非命中具体特征码,是误报的典型标志。daemon 的正常行为(拉起子进程 claude/codex、向 Odoo 轮询、读写工作区、自更新)和木马"释放器 / C2"行为很像,易被误判。
  3. Go 二进制结构:Go 运行时与嵌入数据段有时会撞上弱杀软的通用特征。

处置建议(按推荐顺序):① 自行从源码编译(本地编译产物无网络标记、通常不被拦,且源码可见最可信);② 提交误报复核 https://www.microsoft.com/wdsi/filesubmission;③ 确认来源可信后在 Defender 加排除项;④ 长期给 exe 做代码签名(需证书)。

安装一个 AI CLI

daemon 需要至少检测到一个本地 AI CLI 并加入 PATH,才会在被分配任务时执行。支持自动检测:claudecodexcopilotgeminiopencodekimiqwen 等(任选其一)。Windows 下推荐 Claude Code 或 Codex;Linux 下按各 CLI 官方文档安装即可。multica daemon status 可查看已检测到的 agent 列表。

从 Odoo 出发,电子产品 ERP 能力建设的分阶段路线图