🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
Nguồn:
src/lib/{a2a,acp,cloudAgent}/,src/app/api/{a2a,acp,cloud}/,src/app/api/v1/agents/Cập nhật lần cuối: 2026-06-28 — v3.8.40
OmniRoute cung cấp ba giao diện khác nhau liên quan đến agent. Thoạt nhìn, chúng có vẻ giống nhau nhưng giải quyết các vấn đề khác nhau. Hãy sử dụng trang này để chọn giao diện phù hợp.
| Giao diện | Phù hợp nhất cho | Phương thức truyền tải | Tiêu chuẩn |
|---|---|---|---|
| A2A — Agent-to-Agent | Cộng tác liên agent với các agent ngang hàng hỗ trợ giao thức A2A | JSON-RPC 2.0 qua HTTP | A2A v0.3 (đặc tả mở) |
| ACP — CLI Agents Registry | Phát hiện / đăng ký / khởi chạy các agent lập trình CLI được cài đặt trên máy của người dùng (Cursor, Cline, Codex CLI, Claude Code, Aider, v.v.) | HTTP REST | Dành riêng cho OmniRoute |
| Cloud Agents | Gửi các tác vụ lập trình kéo dài đến các dịch vụ đám mây bên ngoài (Codex Cloud, Devin, Jules, Cursor Cloud) | HTTP REST + tác vụ lưu trên DB | Dành riêng cho OmniRoute |
Cả ba đều độc lập — có thể chọn bất kỳ tập hợp con nào.
Bạn có cần một dịch vụ đám mây thực hiện công việc bên ngoài máy này không (Codex Cloud / Cursor Cloud / Devin / Jules)?
├─ CÓ → Cloud Agents (POST /api/v1/agents/tasks)
└─ KHÔNG → Tiếp tục
│
Bạn có một agent ngang hàng hỗ trợ A2A và muốn cộng tác không?
├─ CÓ → A2A (POST /a2a)
└─ KHÔNG → Tiếp tục
│
Bạn có cần liệt kê / cấu hình các agent lập trình CLI được cài đặt cục bộ không?
├─ CÓ → ACP (GET /api/acp/agents)
└─ KHÔNG → Sử dụng trực tiếp /v1/chat/completions
Đặc tả: A2A v0.3
Điểm cuối OmniRoute: POST /a2a (JSON-RPC 2.0)
Thẻ Agent: GET /.well-known/agent.json
- Xây dựng hệ thống đa agent, trong đó OmniRoute là một trong các agent ngang hàng
- Cung cấp khả năng định tuyến thông minh của OmniRoute (
smart-routing,quota-management, v.v.) cho các agent trong những framework như Google ADK hoặc các mạng lưới agent tổng quát - Bao bọc OmniRoute phía sau một giao diện khám phá + gọi thực thi tiêu chuẩn
message/send— gửi một thông điệp và nhận phản hồi đồng bộmessage/stream— gửi thông điệp + nhận các sự kiện tiến trình được truyền phát qua SSEtasks/get— đọc tác vụ theo IDtasks/cancel— hủy một tác vụ đang chạy
smart-routing— định tuyến lời nhắc qua tổ hợp tối ưuquota-management— báo cáo trạng thái hạn ngạch của từng nhà cung cấpprovider-discovery— liệt kê các nhà cung cấp đã cài đặt cùng khả năng của họcost-analysis— ước tính chi phí của một yêu cầu/cuộc hội thoạihealth-report— tổng hợp trạng thái ngắt mạch/thời gian chờ/khóa của từng nhà cung cấplist-capabilities— liệt kê các kỹ năng và siêu dữ liệu hiện có của agent
Xem A2A-SERVER.md để biết chi tiết về phương thức truyền tải, cấu trúc thẻ agent, cấu hình TTL của tác vụ và mẫu để thêm kỹ năng mới.
Endpoint OmniRoute: GET /api/acp/agents
Mã nguồn: src/lib/acp/{index,manager,registry}.ts
ACP là kho kiểm kê CLI agent cục bộ của OmniRoute. Nó phát hiện những CLI lập trình nào được cài đặt trên máy chủ (Cursor, Cline, Claude Code, Codex CLI, Continue, v.v.), xác định phiên bản của chúng và hiển thị chúng trên bảng điều khiển để người dùng có thể cấu hình từng CLI trỏ đến OmniRoute.
Đây KHÔNG phải là một giao thức bên ngoài — đây là sổ đăng ký nội bộ hỗ trợ giao diện người dùng "CLI Tools" và việc theo dõi dấu vân tay CLI (xem CLI-TOOLS.md).
- Kiểm tra máy chủ để tìm các tệp nhị phân CLI đã cài đặt (sử dụng
which/wheretùy theo hệ điều hành) - Đọc phiên bản của từng CLI (gọi
<bin> --version) - Cho phép tùy chọn thêm các agent tùy chỉnh do người dùng định nghĩa (đường dẫn tệp nhị phân + lệnh kiểm tra phiên bản + đối số khởi chạy)
- Lưu trữ lâu dài các agent tùy chỉnh trong phần cài đặt
- Trả về danh sách hợp nhất cho bảng điều khiển
| Endpoint | Phương thức | Mô tả | Xác thực |
|---|---|---|---|
/api/acp/agents |
GET | Liệt kê agent được phát hiện + tùy chỉnh (số lượng đã cài đặt/tổng cộng) | API key |
/api/acp/agents |
POST | Thêm/cập nhật/xóa agent tùy chỉnh (phân biệt hành động trong phần thân) | API key |
Cấu trúc phần thân cho POST (customAgentBodySchema trong src/app/api/acp/agents/route.ts):
{
"action": "add|update|remove",
"id": "cursor",
"name": "Cursor",
"binary": "/usr/local/bin/cursor",
"versionCommand": "--version",
"providerAlias": "cursor",
"spawnArgs": ["--api-base", "http://localhost:20128"],
"protocol": "stdio"
}- Trang "CLI Tools" trên bảng điều khiển liệt kê những công cụ đã cài đặt và giúp bạn cấu hình từng công cụ trỏ đến OmniRoute
- Agent tùy chỉnh cho phép người dùng nâng cao đăng ký các CLI nội bộ/độc quyền mà OmniRoute chưa biết theo mặc định
- Kết quả phát hiện cung cấp dữ liệu cho ma trận dấu vân tay
cli-tools
- ACP không chạy tác vụ. Nó chỉ phát hiện + cấu hình CLI. Để thực sự gọi một CLI, bạn cần tự khởi chạy CLI đó với các biến môi trường do OmniRoute cung cấp (
OPENAI_BASE_URL,OPENAI_API_KEY, v.v.).
Các endpoint OmniRoute: /api/v1/agents/tasks/* (vòng đời) + /api/cloud/* (hạ tầng kết nối)
Mã nguồn: src/lib/cloudAgent/
Một giao diện thống nhất dành cho các agent lập trình đám mây của bên thứ ba. Bạn gửi một lời nhắc + URL kho mã nguồn, OmniRoute sẽ chuyển tiếp đến đúng cloud agent, thăm dò trạng thái và trả về kết quả.
codex-cloud— OpenAI Codex Clouddevin— Cognition Devinjules— Google Jules
POST /api/v1/agents/tasks
→ BaseAgent.createTask() cho từng lớp agent
→ dịch vụ bên ngoài bắt đầu xử lý
→ hàng tác vụ được tạo trong DB (cloud_agent_tasks)
↓
GET /api/v1/agents/tasks/[id]
→ đồng bộ trạng thái trì hoãn từ nhà cung cấp
→ trả về trạng thái hiện tại + kế hoạch + nhật ký hoạt động
↓
POST /api/v1/agents/tasks/[id] (action: "approve" | "message" | "cancel")
→ chuyển tiếp đến nhà cung cấp (hoặc đánh dấu đã hủy cục bộ)
↓
DELETE /api/v1/agents/tasks/[id]
→ hủy cục bộ
/api/v1/agents/tasks/* đều yêu cầu xác thực quản trị (commit 588a0333). Các trình gọi chỉ sử dụng Bearer sẽ nhận mã 401 kể từ v3.8.0.
Xem CLOUD_AGENT.md để biết hợp đồng CloudAgentBase, thông tin cụ thể của từng agent, chi tiết schema và các endpoint phục vụ việc kết nối thông tin xác thực.
Cả hai đều có "tác vụ chạy trong thời gian dài" nhưng ở các tầng khác nhau:
| Khía cạnh | A2A | Cloud Agents |
|---|---|---|
| Tiêu chuẩn | Open A2A v0.3 | Đặc thù của OmniRoute |
| Nơi thực hiện tính toán | Bên trong OmniRoute (sử dụng các tổ hợp đã cấu hình) | Bên ngoài (máy chủ Codex / Devin / Jules) |
| Thời lượng tác vụ | TTL mặc định là 5 phút (có thể cấu hình trong TaskManager) |
Từ vài phút đến vài giờ |
| Nhận biết kho mã nguồn | Không (chỉ chuyển tiếp prompt) | Có (URL kho mã nguồn + nhánh) |
| Trường hợp sử dụng | Cộng tác giữa các tác nhân, định tuyến thông minh dưới dạng dịch vụ | Ủy quyền "triển khai tính năng X trong kho Y" |
| Xác thực | OMNIROUTE_API_KEY tùy chọn cho /a2a; quyền quản trị cho các trình trợ giúp REST /api/a2a/* |
Luôn yêu cầu quyền quản trị |
curl http://localhost:20128/.well-known/agent.jsonTrả về Agent Card chứa đầy đủ cả 6 kỹ năng, phương thức vận chuyển và phiên bản.
curl -X POST http://localhost:20128/a2a \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "message/send",
"params": {
"messages": [{"role": "user", "content": "Định tuyến prompt này"}],
"skill": "smart-routing"
},
"id": 1
}'curl http://localhost:20128/api/acp/agents \
-H "Authorization: Bearer <api-key>"curl -X POST http://localhost:20128/api/acp/agents \
-H "Authorization: Bearer <api-key>" \
-H "Content-Type: application/json" \
-d '{
"action": "add",
"id": "my-custom-cli",
"name": "CLI tùy chỉnh của tôi",
"binary": "/opt/mycli/bin/mycli",
"versionCommand": "--version",
"providerAlias": "openai"
}'curl -X POST http://localhost:20128/api/v1/agents/tasks \
-H "Cookie: auth_token=..." \
-H "Content-Type: application/json" \
-d '{
"providerId": "devin",
"prompt": "Triển khai tính năng X trong kho Y",
"source": {
"repoName": "user/repo",
"repoUrl": "https://github.com/user/repo",
"branch": "main"
}
}'curl http://localhost:20128/api/v1/agents/tasks/<task-id> \
-H "Cookie: auth_token=..."- Giao diện chatbot / copilot →
/v1/chat/completions(tương thích OpenAI — không phải giao thức tác nhân) - Cộng tác đa tác nhân → A2A
- Liệt kê các CLI cục bộ trong bảng điều khiển → ACP
- Ủy quyền các tác vụ lập trình chạy trong thời gian dài cho dịch vụ đám mây → Cloud Agents
┌─────────────────────┐
│ Lõi OmniRoute │
└─────────────────────┘
↑ ↑ ↑
┌─────────┘ │ └─────────┐
│ │ │
┌───────┐ ┌─────────┐ ┌────────────┐
│ A2A │ │ ACP │ │ Tác nhân │
│ (/a2a)│ │ (/acp) │ │ đám mây │
└───────┘ └─────────┘ │ (/v1/agents│
│ │ │ /tasks) │
↓ ↓ └────────────┘
Các tác nhân Các tệp nhị phân │
ngang hàng bên CLI cục bộ trên ↓
ngoài dùng A2A máy chủ Codex Cloud, Cursor,
v0.3 Devin, Jules
- A2A-SERVER.md — Tìm hiểu chuyên sâu về A2A
- CLOUD_AGENT.md — Tìm hiểu chuyên sâu về Tác nhân đám mây
- CLI-TOOLS.md — Các tích hợp CLI bên ngoài (sử dụng ACP)
- SKILLS.md — Khung kỹ năng (khác với kỹ năng A2A — sandbox thực thi cục bộ)
- API_REFERENCE.md — tài liệu tham khảo về endpoint
- Nguồn:
src/lib/{a2a,acp,cloudAgent}/