UniAI Docs

Ma trận công cụ lập trình AI

UniAI hỗ trợ 14 công cụ lập trình AI; chúng triển khai cùng một giao diện, nhưng chi tiết năng lực khác nhau đáng kể.

UniAI hỗ trợ sẵn 14 công cụ lập trình AI. Tất cả triển khai cùng một giao diện — xếp hàng, điều phối, thực thi, trả kết quả — nên công cụ nào bạn cũng điều khiển được từ cùng một bảng UniAI. Nhưng chi tiết năng lực khác nhau đáng kể: khôi phục phiên có thật sự chạy không, MCP có được hỗ trợ không, file skill nằm đâu, model được chọn thế nào. Trang này là ma trận đầy đủ.

Để chọn công cụ khi tạo agent, xem Tạo và cấu hình agent.

Ma trận năng lực

Công cụNhà cung cấpKhôi phục phiênMCPVị trí chèn skillChọn model
AntigravityGoogle✅ (--conversation <id>).agents/skills/Khám phá động (agy models)
Claude CodeAnthropic.claude/skills/Tĩnh + cờ
CodeBuddyTencent.claude/skills/Khám phá động
CodexOpenAI$CODEX_HOME/skills/Tĩnh
CopilotGitHub.github/skills/Tĩnh (theo quyền lợi tài khoản)
CursorAnysphere.cursor/skills/Khám phá động
HermesNous Research.agent_context/skills/ (dự phòng)Khám phá động
KimiMoonshot.kimi/skills/Khám phá động
Kiro CLIAmazon.kiro/skills/Khám phá động
OpenCodeSST.opencode/skills/Khám phá động + biến thể
OpenClawMã nguồn mở.agent_context/skills/ (dự phòng)Gắn ở tầng agent, không đổi theo task
PiInflection AI✅ (phiên là đường dẫn file).pi/skills/Khám phá động
QoderAlibaba.qoder/skills/Khám phá động
TraeByteDance✅ (ACP session/load).traecli/skills/Khám phá động

Từng công cụ dùng cho việc gì

Antigravity

Của Google. Tên binary CLI là agy. Ghép với dịch vụ Antigravity của Google, model mặc định chạy trên nền Gemini. UniAI khởi chạy Antigravity bằng agy -p vì đó là chế độ không tương tác tương thích với daemon; agy -i cần TTY nên không phù hợp để thực thi task chạy nền. Các bản Antigravity CLI hiện tại vẫn thực thi được công cụ từ chế độ này, nhưng stdout là văn bản trợ lý thuần chứ không phải luồng sự kiện có cấu trúc, nên UniAI chuyển tiếp bản ghi dưới dạng văn bản và hiện chưa hiển thị được telemetry theo công cụ cho Antigravity. Khôi phục phiên hoạt động qua --conversation <id>; daemon bắt UUID cuộc trò chuyện từ file log của CLI. Chọn model hoạt động qua cờ --model (thêm từ agy 1.0.6): daemon liệt kê danh mục bằng agy models và gửi nguyên giá trị đã chọn. Lưu ý đây là chuỗi hiển thị cho người đọc như Claude Opus 4.6 (Thinking), không phải slug provider/model — và agy lặng lẽ bỏ qua giá trị nó không nhận ra, nên ưu tiên chọn từ danh sách khám phá được thay vì tự gõ. Skill nằm trong .agents/skills/ (CLI kế thừa bố cục skill của Gemini CLI — xem tài liệu migration của Antigravity).

Claude Code

Của Anthropic. Lựa chọn đầu tiên cho người mới — bộ tính năng đầy đủ nhất: khôi phục phiên hoạt động thực sự, đọc cấu hình MCP, và hỗ trợ các cờ tinh chỉnh như --max-turns--append-system-prompt. Cần API key của Anthropic.

CodeBuddy

Của Tencent. CLI agent tương thích Claude Code — UniAI điều khiển nó bằng đúng giao thức stream-json như Claude Code, nên khôi phục phiên hoạt động (qua --resume), cấu hình MCP truyền qua --mcp-config, và skill dùng bố cục .claude/skills/ của Claude Code. Model khám phá động.

Codex

Của OpenAI. Dùng JSON-RPC 2.0, quản lý trạng thái tốt hơn, và cơ chế phê duyệt chi tiết hơn (phê duyệt tay cho exec_commandpatch_apply). Cấu hình MCP được ghi vào file $CODEX_HOME/config.toml theo từng task. Khôi phục phiên hoạt động qua thread/resume của Codex app-server; nếu thread đã lưu bị mất hoặc quá cũ, UniAI quay về thread mới để task vẫn chạy được.

Copilot

Của GitHub. Định tuyến model qua quyền lợi tài khoản GitHub — công cụ không tự chọn model; GitHub quyết định bạn được model nào. Đặt skill trong .github/skills/ là cơ chế nhận diện native của GitHub CLI.

Cursor

Của Anysphere, bản CLI của trình soạn thảo Cursor. Khôi phục phiên hoạt động với các bản Cursor Agent hiện tại: sự kiện stream-json chứa session_id, và UniAI truyền lại bằng --resume <id> ở lần chạy sau. Cấu hình MCP được ghi ra file .cursor/mcp.json trong workspace của task, kèm file phê duyệt dự án của Cursor ghi dưới CURSOR_DATA_DIR theo từng task để các MCP server được quản lý không phụ thuộc phê duyệt Cursor toàn cục của người dùng.

Hermes

Của Nous Research. Dùng giao thức ACP (chung tầng transport với Kimi). Khôi phục phiên hoạt động, cấu hình MCP truyền qua ACP mcpServers. Nhưng vị trí chèn skill là đường dẫn dự phòng chung (.agent_context/skills/), không phải đường dẫn riêng — nếu bản thân Hermes CLI không đọc đường dẫn này, skill có thể không có hiệu lực. Kiểm chứng bằng cách thử.

Chọn profile Hermes. Để khởi chạy Hermes dưới một profile cụ thể, đặt custom_args của agent thành cờ profile và tên profile như hai mục riêng — ví dụ với profile tên research:

["-p", "research"]

Đừng gộp thành một chuỗi kiểu "-p research"; UniAI truyền mỗi phần tử mảng như một mục argv riêng. custom_args cấu hình theo từng agent — xem Tạo và cấu hình agent.

Kimi

Của Moonshot, nhắm thị trường Trung Quốc. Chung giao thức ACP với Hermes, gồm cấu hình MCP qua ACP mcpServers, nhưng đường dẫn skill .kimi/skills/ là cơ chế nhận diện native của Kimi CLI — khác đường dẫn dự phòng của Hermes.

Kiro CLI

Của Amazon. Dùng ACP qua stdio bằng kiro-cli acp. Khôi phục phiên qua ACP session/load, cấu hình MCP qua ACP mcpServers, chọn model qua session/set_model, và skill được chép vào .kiro/skills/ để công cụ tự nhận diện ở mức dự án.

OpenCode

Của SST, mã nguồn mở. Khám phá động các model và biến thể model khả dụng (quét file cấu hình của CLI). Khôi phục phiên hoạt động, và nó dùng trường mcp_config của agent — UniAI tiêm inline qua biến môi trường OPENCODE_CONFIG_CONTENT, nên MCP server của agent tới được OpenCode mà không ghi gì vào opencode.json trong workdir của task (agent hoặc người dùng giữ quyền sở hữu file đó). Khi một model có biến thể, UniAI hiện chúng làm bộ chọn thinking của agent và truyền giá trị đã chọn qua opencode run --variant. Hợp với người thích vọc, muốn tùy biến danh mục model.

OpenClaw

Dự án mã nguồn mở, một bộ điều phối CLI agent. Cấu hình MCP được ghi ra qua lớp bọc cấu hình OpenClaw theo từng task của UniAI. Model gắn ở tầng agent (openclaw agents add --model) — không ghi đè được theo task. Cấu hình được kiểm soát chặt: người dùng không truyền được --model hay --system-prompt; cấu hình đăng ký agent quyết định.

Pi

Của Inflection AI, tối giản. Khôi phục phiên hơi khác thường — ID phiên là đường dẫn file trên đĩa (~/.pi/...) thay vì chuỗi ID. Ở công cụ khác, resume id là chuỗi do CLI trả về; ở Pi, resume id là chính file phiên.

Qoder

Của Alibaba. CLI lập trình agentic. Dùng giao thức ACP qua stdio (chung tầng transport với Hermes, Kimi và Kiro CLI). Khôi phục phiên qua ACP session/resume, cấu hình MCP qua ACP mcpServers, chọn model khám phá động, và skill được chép vào .qoder/skills/ để công cụ tự nhận diện.

Trae

Của ByteDance — TRAE CLI chính thức (traecli, tài liệu tại docs.trae.cn/cli; đây là sản phẩm đi cặp với Trae IDE, không phải bản mã nguồn mở bytedance/trae-agent). traecli là ACP-native, nên UniAI điều khiển qua tầng transport ACP JSON-RPC chuẩn bằng traecli acp serve --yolo, y như Kiro và Qoder — --yolo đặt nó ở chế độ bỏ qua phê duyệt để các lần chạy headless không kẹt ở lời nhắc phê duyệt công cụ.

  • Khôi phục phiên hoạt động qua ACP session/load (traecli công bố loadSession: true từ initialize).
  • Chọn model là động: danh mục model khám phá từ session/new (models.availableModels) và đổi theo task qua session/set_model. Đặt mặc định toàn daemon bằng MULTICA_TRAECLI_MODEL.
  • MCP được hỗ trợ — cấu hình truyền qua ACP mcpServers; traecli công bố mcpCapabilities: {http, sse}, các transport không được hỗ trợ bị lọc bỏ trước session/new.
  • Xác thực là đăng nhập doanh nghiệp của chính traecli: chạy traecli một lần ở chế độ tương tác để hoàn tất đăng nhập qua trình duyệt (token lưu ở ~/.trae + keyring hệ điều hành). Đăng nhập IDE là chuyện riêng — đăng nhập Trae IDE không đăng nhập CLI.
  • Skill được ghi vào .traecli/skills/ (dự án) để công cụ tự nhận diện; skill toàn cục nằm ở ~/.traecli/skills.
  • Phần chỉ dẫn runtime của UniAI cũng được nhúng thẳng vào prompt (traecli không có cờ --system-prompt và đọc quy tắc dự án từ .trae/rules/, không phải AGENTS.md), nên chỉ dẫn quy trình vẫn tới được agent.

Các năng lực trên được ghi nhận từ binary traecli v0.120.42 thật: initializeloadSession:true + mcpCapabilities{http,sse}; session/newresult.sessionId + models.availableModels; session/prompt stream các thông báo session/update với sessionUpdate: agent_message_chunk.

Khôi phục phiên: ai hỗ trợ thật

Cơ chế khôi phục phiên được nói ở Task. Mọi công cụ được hỗ trợ đều khôi phục phiên — truyền resume id và task tiếp tục từ ngữ cảnh trước. Điểm khác thường duy nhất là Pi, có resume id là đường dẫn file phiên trên đĩa thay vì chuỗi id (xem Pi ở trên).

Cấu hình MCP: hỗ trợ theo từng provider

Trong 14 công cụ, mười một công cụ dùng mcp_config: Claude Code, CodeBuddy, Codex, Cursor, Hermes, Kimi, Kiro CLI, OpenCode, OpenClaw, Qoder và Trae. Ba công cụ còn lại (Antigravity, Copilot, Pi) nhận trường này nhưng bỏ qua — không lỗi, không cảnh báo, cấu hình đơn giản là không có tác dụng.

Cách truyền cấu hình lúc chạy tùy theo từng provider: Claude Code và CodeBuddy nhận qua --mcp-config đi cặp --strict-mcp-config; Codex ghi khối mcp_servers do daemon quản lý vào $CODEX_HOME/config.toml theo từng task; Cursor ghi .cursor/mcp.json cùng phê duyệt dự án theo task dưới CURSOR_DATA_DIR; Hermes, Kimi, Kiro CLI, Qoder và Trae nhận ACP mcpServers; OpenCode nhận cấu hình inline qua OPENCODE_CONFIG_CONTENT; OpenClaw nhận mcp.servers qua lớp bọc cấu hình theo task của UniAI. Đường của OpenCode không viết lại opencode.json của dự án.

Nếu bạn đặt mcp_config trong cấu hình agent nhưng chọn công cụ không có ✅ ở cột MCP, các MCP server của bạn không có tác dụng với agent đó. Tích hợp MCP là theo từng provider.

File skill đi đâu

Mỗi công cụ tìm skill ở một đường dẫn của riêng nó. Trước khi task chạy, daemon UniAI chép file skill của không gian làm việc vào đường dẫn tương ứng:

Công cụĐường dẫnNhận diện native?
Claude Code.claude/skills/✅ Native
CodeBuddy.claude/skills/✅ Native
Codex$CODEX_HOME/skills/✅ Native
Copilot.github/skills/✅ Native
Cursor.cursor/skills/✅ Native
Kimi.kimi/skills/✅ Native
Kiro CLI.kiro/skills/✅ Native
OpenCode.opencode/skills/✅ Native
Pi.pi/skills/✅ Native
Qoder.qoder/skills/✅ Native
Antigravity.agents/skills/✅ Native (kế thừa bố cục workspace của Gemini CLI — xem tài liệu Antigravity)
Hermes.agent_context/skills/⚠️ Dự phòng chung
OpenClaw.agent_context/skills/⚠️ Dự phòng chung

Công cụ dùng đường dẫn dự phòng có thật sự đọc thư mục này không thì tùy tài liệu của chính công cụ — không có gì đảm bảo. Nếu skill không có hiệu lực với Hermes / OpenClaw, kiểm tra chỗ này trước.

Với các đường dẫn native mức dự án, việc công cụ tự nhận diện skill trong repo là hành vi mặc định: nếu repository đã checkout có sẵn thư mục khớp, công cụ bên dưới tự tìm thấy các skill đã commit đó. Bạn không cần nhập các skill repo đó vào UniAI chỉ để dùng trong repo đó. UniAI giữ nguyên file của repo. Nếu một skill của không gian làm việc trùng tên thư mục, daemon ghi bản của không gian làm việc dưới một tên khác không trùng, ví dụ review-helper-multica.

Về tạo và dùng skill, xem Skills.

Tiếp theo