mirror of
https://github.com/multica-ai/multica.git
synced 2026-08-12 19:06:06 +02:00
Update public docs and landing copy to the current 14-runtime list; add Qoder / Trae CLI across localized docs. Follow-up: finish JA tool counts (tasks.ja / skills.ja) and align localized Trae section anchors with the /providers#trae links. Closes #4945 Co-authored-by: vicksiyi <zeroicework@163.com>
143 lines
11 KiB
Plaintext
143 lines
11 KiB
Plaintext
---
|
||
title: AI 编程工具对照
|
||
description: Multica 支持 14 款 AI 编程工具;它们实现同一套接口,但能力细节差异很大。
|
||
---
|
||
|
||
import { Callout } from "fumadocs-ui/components/callout";
|
||
|
||
Multica 内置支持 **14 款 AI 编程工具**。它们都实现了同一套接口——排队、派发、执行、结果回传,所以你可以从 Multica 的同一个看板上指挥任意一款。**但它们在能力细节上差异很大**:会话恢复是否真用、是否支持 MCP、skill 文件该放在哪里、模型怎么选。这一页是完整对照。
|
||
|
||
创建智能体时挑选工具的指引见 [创建和配置智能体](/agents-create)。
|
||
|
||
## 能力对照矩阵
|
||
|
||
| 工具 | 厂商 | 会话恢复 | MCP | Skill 注入路径 | 模型选择 |
|
||
|---|---|---|---|---|---|
|
||
| **Antigravity** | Google | ✅(`--conversation <id>`)| ❌ | `.agents/skills/` | 动态发现(`agy models`)|
|
||
| **Claude Code** | Anthropic | ✅ | ✅ | `.claude/skills/` | 静态 + flag |
|
||
| **CodeBuddy** | Tencent | ✅ | ✅ | `.claude/skills/` | 动态发现 |
|
||
| **Codex** | OpenAI | ✅ | ✅ | `$CODEX_HOME/skills/` | 静态 |
|
||
| **Copilot** | GitHub | ✅ | ❌ | `.github/skills/` | 静态(账号权益决定)|
|
||
| **Cursor** | Anysphere | ✅ | ✅ | `.cursor/skills/` | 动态发现 |
|
||
| **Hermes** | Nous Research | ✅ | ✅ | `.agent_context/skills/` (fallback)| 动态发现 |
|
||
| **Kimi** | Moonshot | ✅ | ✅ | `.kimi/skills/` | 动态发现 |
|
||
| **Kiro CLI** | Amazon | ✅ | ✅ | `.kiro/skills/` | 动态发现 |
|
||
| **OpenCode** | SST | ✅ | ✅ | `.opencode/skills/` | 动态发现 + variant |
|
||
| **OpenClaw** | 开源项目 | ✅ | ✅ | `.agent_context/skills/` (fallback)| 绑定在智能体上,不能在任务里切换 |
|
||
| **Pi** | Inflection AI | ✅(session 为文件路径)| ❌ | `.pi/skills/` | 动态发现 |
|
||
| **Qoder** | Alibaba | ✅ | ✅ | `.qoder/skills/` | 动态发现 |
|
||
| **Trae CLI** | ByteDance | ✅(ACP `session/load`)| ✅ | `.traecli/skills/` | 动态发现 |
|
||
|
||
## 每款工具的定位
|
||
|
||
### Antigravity
|
||
|
||
Google 出品。CLI 二进制名为 `agy`,搭配 Google Antigravity 服务,默认走 Gemini 系列模型。Multica 使用 `agy -p` 启动 Antigravity,因为这是适合 daemon 后台任务的一次性非交互模式;`agy -i` 需要连接 TTY,不适合后台执行。当前 Antigravity CLI 在 `agy -p` 下仍可执行工具,但 stdout 是纯文本而非结构化事件流,所以 Multica 会把 transcript 作为 text 转发,暂时无法展示逐工具 telemetry。**会话恢复真用**——通过 `--conversation <id>`,守护进程从 CLI 的日志文件里抓取 conversation UUID。**模型选择真用**——通过 `--model` flag(agy 1.0.6 新增):守护进程用 `agy models` 枚举可选项,并把选中的值原样传入。注意这些是 `Claude Opus 4.6 (Thinking)` 这样的人类可读显示名,而非 `provider/model` slug;而且 agy 遇到无法识别的值会静默空跑,所以优先从发现列表里挑选,不要手填。Skill 文件写入 `.agents/skills/`(CLI 沿用 Gemini CLI 的 workspace 布局——见 [Antigravity 迁移文档](https://antigravity.google/docs/gcli-migration))。
|
||
|
||
### Claude Code
|
||
|
||
Anthropic 出品。**新用户首选**——功能最完整:会话恢复真用,会读 MCP 配置,支持 `--max-turns`、`--append-system-prompt` 等细调参数。需要一个 Anthropic API 密钥。
|
||
|
||
### CodeBuddy
|
||
|
||
Tencent 出品。一款兼容 Claude Code 的 CLI agent——Multica 用和 Claude Code 一样的 stream-json 协议驱动它,所以会话恢复可用(通过 `--resume`),MCP 配置通过 `--mcp-config` 传入,skill 沿用 Claude Code 的 `.claude/skills/` 布局。模型为动态发现。
|
||
|
||
### Codex
|
||
|
||
OpenAI 出品。使用 JSON-RPC 2.0 协议,状态化更强,approve 机制更细(手动批准 `exec_command` 和 `patch_apply`)。MCP 配置会写入单次任务的 `$CODEX_HOME/config.toml`。**会话恢复可用**——Multica 通过 Codex app-server 的 `thread/resume` 续接;如果已保存的 thread 不存在或过期,会回退到新 thread,让任务继续执行。
|
||
|
||
### Copilot
|
||
|
||
GitHub 出品。模型路由走你的 GitHub 账号权益——工具自己不做模型选择,由 GitHub 决定给你用哪个模型。skill 放 `.github/skills/` 是 GitHub CLI 的原生发现机制。
|
||
|
||
### Cursor
|
||
|
||
Anysphere 出品,Cursor 编辑器的 CLI 对应物。**会话恢复可用**——当前 Cursor Agent 的 stream-json 事件会返回 `session_id`,Multica 会在下一次运行时通过 `--resume <id>` 传回去。MCP 配置会写入任务工作区的 `.cursor/mcp.json`,Cursor 的项目 approval 文件写在单次任务的 `CURSOR_DATA_DIR` 下,因此托管的 MCP server 不依赖用户全局 Cursor approvals。
|
||
|
||
### Hermes
|
||
|
||
Nous Research 出品。使用 ACP 协议(和 Kimi 共享传输层)。会话恢复真用,MCP 配置通过 ACP `mcpServers` 传入。但 **skill 注入路径是通用 fallback**(`.agent_context/skills/`),不是专用路径——如果 Hermes CLI 本身不读这路径,skill 对它可能不起作用。需要结合实测再确认。
|
||
|
||
**指定 Hermes profile。** 要让 Hermes 使用某个 profile 启动,把智能体的 `custom_args` 设成 profile flag 和 profile 名两个独立条目。例如使用名为 `research` 的 profile:
|
||
|
||
```json
|
||
["-p", "research"]
|
||
```
|
||
|
||
不要合成一个字符串 `"-p research"`;Multica 会把数组里的每一项作为一个独立 argv 参数传给工具。`custom_args` 是按智能体配置的——见 [创建和配置智能体](/agents-create)。
|
||
|
||
### Kimi
|
||
|
||
Moonshot 出品,中国市场向。和 Hermes 共享 ACP 协议,MCP 配置同样通过 ACP `mcpServers` 传入;但 skill 路径 `.kimi/skills/` 是 Kimi CLI 的原生发现机制——和 Hermes 的 fallback 不一样。
|
||
|
||
### Kiro CLI
|
||
|
||
Amazon 出品。通过 `kiro-cli acp` 使用 ACP stdio 协议。会话恢复走 ACP `session/load`,MCP 配置通过 ACP `mcpServers` 传入,模型选择走 `session/set_model`,skill 会复制到 `.kiro/skills/` 让 Kiro 做项目级原生发现。
|
||
|
||
### OpenCode
|
||
|
||
SST 出品,开源。动态发现可用模型和模型 variant(扫 CLI 的配置文件)。会话恢复真用,会消费智能体的 `mcp_config` 字段——Multica 通过 `OPENCODE_CONFIG_CONTENT` 环境变量内联注入,让智能体的 MCP server 直接到达 OpenCode,**不会去碰任务工作目录里的 `opencode.json`**(那个文件归智能体或用户所有)。当模型暴露 variant 时,Multica 会把它显示成智能体的思考强度选择,并通过 `opencode run --variant` 传给 OpenCode。**适合爱折腾、想自定义模型目录**的开发者。
|
||
|
||
### OpenClaw
|
||
|
||
开源项目,CLI agent 编排器。MCP 配置通过 Multica 的单次任务配置 wrapper 写入。**模型绑定在智能体层**(`openclaw agents add --model`)——不能在单次任务里覆盖。配置严格受控:用户不能传 `--model` 或 `--system-prompt`,由智能体注册时的配置决定。
|
||
|
||
### Pi
|
||
|
||
Inflection AI 出品,极简主义。**会话恢复机制特殊**——session ID 是磁盘上的文件路径(`~/.pi/...`),而不是字符串 ID。其他工具里,resume id 是 CLI 返回的字符串;Pi 里,resume id 就是会话文件本身。
|
||
|
||
### Qoder
|
||
|
||
Alibaba 出品。一款 agentic 编程 CLI。使用 ACP 协议(和 Hermes、Kimi、Kiro CLI 共享传输层)。会话恢复通过 ACP `session/resume` 工作,MCP 配置通过 ACP `mcpServers` 传入,模型为动态发现,skill 复制到 `.qoder/skills/` 做原生发现。
|
||
|
||
### Trae
|
||
|
||
ByteDance 官方 TRAE CLI(`traecli`,搭配 Trae IDE,**不是**开源的 `bytedance/trae-agent`)。它是 ACP 原生工具,Multica 通过 `traecli acp serve --yolo` 在 stdio 上驱动它,传输层和 Kiro、Qoder 相同。会话恢复通过 ACP `session/load` 工作,MCP 配置通过 ACP `mcpServers` 传入,模型为动态发现并可通过 `session/set_model` 在任务中切换,skill 复制到 `.traecli/skills/`。
|
||
|
||
## 会话恢复:谁真的支持
|
||
|
||
会话恢复的机制在 [执行任务](/tasks#任务能接着上次的上下文继续吗) 里讲过。**所有支持的工具都能恢复会话**——传 resume id,任务就会从上次的上下文接着继续。唯一的特例是 Pi:它的 resume id 是磁盘上的会话文件路径,而不是字符串 ID(见上文 [Pi](#pi))。
|
||
|
||
## MCP 配置:按工具不同
|
||
|
||
**14 款工具里有 11 款实际消费 `mcp_config`:Claude Code、CodeBuddy、Codex、Cursor、Hermes、Kimi、Kiro CLI、OpenCode、OpenClaw、Qoder、Trae CLI**。其他 3 款会接收这个字段但**忽略**——不报错、不警告,只是配置不生效。
|
||
|
||
各工具的接入方式不同:Claude Code 和 CodeBuddy 通过 `--mcp-config` 加 `--strict-mcp-config` 接收;Codex 会把 daemon 管理的 `mcp_servers` block 写入单次任务的 `$CODEX_HOME/config.toml`;Cursor 会写入 `.cursor/mcp.json`,并把项目 approval 写到单次任务的 `CURSOR_DATA_DIR`;Hermes、Kimi、Kiro CLI、Qoder、Trae CLI 通过 ACP `mcpServers` 接收;OpenCode 通过 `OPENCODE_CONFIG_CONTENT` 环境变量内联接收;OpenClaw 通过 Multica 的单次任务配置 wrapper 接收 `mcp.servers`。OpenCode 这条路径**不会**改写项目里的 `opencode.json`。
|
||
|
||
<Callout type="warning">
|
||
如果你在智能体配置里设置了 `mcp_config`,但选了矩阵 MCP 列没有标 ✅ 的工具,你的 MCP server 对这个智能体**没有效果**。MCP 集成是按工具实现的。
|
||
</Callout>
|
||
|
||
## skill 文件该放哪儿
|
||
|
||
每款工具用**自己**的 skill 发现路径。Multica 的守护进程在执行任务前把 workspace 的 skill 文件复制到对应路径下:
|
||
|
||
| 工具 | 路径 | 是否原生发现 |
|
||
|---|---|---|
|
||
| Claude Code | `.claude/skills/` | ✅ 原生 |
|
||
| CodeBuddy | `.claude/skills/` | ✅ 原生 |
|
||
| Codex | `$CODEX_HOME/skills/` | ✅ 原生 |
|
||
| Copilot | `.github/skills/` | ✅ 原生 |
|
||
| Cursor | `.cursor/skills/` | ✅ 原生 |
|
||
| Kimi | `.kimi/skills/` | ✅ 原生 |
|
||
| Kiro CLI | `.kiro/skills/` | ✅ 原生 |
|
||
| OpenCode | `.opencode/skills/` | ✅ 原生 |
|
||
| Pi | `.pi/skills/` | ✅ 原生 |
|
||
| Qoder | `.qoder/skills/` | ✅ 原生 |
|
||
| Trae CLI | `.traecli/skills/` | ✅ 原生 |
|
||
| Antigravity | `.agents/skills/` | ✅ 原生(沿用 Gemini CLI 的 workspace 布局——见 [Antigravity 文档](https://antigravity.google/docs/gcli-migration))|
|
||
| Hermes | `.agent_context/skills/` | ⚠️ 通用 fallback |
|
||
| OpenClaw | `.agent_context/skills/` | ⚠️ 通用 fallback |
|
||
|
||
fallback 路径对应的工具是否真的读取这个目录,取决于工具本身的文档——没保证。如果你的 skill 对 Hermes / OpenClaw 没起效,先查这个问题。
|
||
|
||
对原生项目级路径来说,repo-scoped discovery 是预期行为:如果检出的仓库已经包含对应目录,底层工具可以自己发现这些提交在仓库里的 Skill。你不需要为了在这个仓库里使用这些 repo skills 而先把它们导入 Multica。Multica 会保持这些仓库文件不变。如果某个工作区 Skill 的自然目录名相同,守护进程会把工作区副本写到类似 `review-helper-multica` 的无冲突 sibling 目录。
|
||
|
||
skill 的创建和使用详见 [技能](/skills)。
|
||
|
||
## 下一步
|
||
|
||
- [创建和配置智能体](/agents-create) —— 给你的智能体挑一款工具
|
||
- [执行任务](/tasks) —— 任务的生命周期和会话恢复机制
|
||
- [守护进程与运行时](/daemon-runtimes) —— 工具跑在哪里、怎么连进 Multica
|