Cách UniAI hoạt động
Ba thành phần cốt lõi (server / daemon / công cụ lập trình AI) phối hợp ra sao để chạy công việc của một agent.
UniAI là một nền tảng phân tán. Giao diện web bạn nhìn thấy chỉ là mặt tiền — công việc thật sự do ba thành phần đảm nhận: UniAI server nắm dữ liệu (không gian làm việc, issue, thành viên, hàng đợi task, v.v.); daemon chạy trên máy của bạn, nhận task và điều khiển công cụ lập trình AI; còn công cụ lập trình AI (Claude Code, Codex và các CLI cục bộ khác) là thành phần thực sự viết mã. Đây là khác biệt lớn nhất giữa UniAI với Linear hay Jira — agent không chạy trên máy chủ của chúng tôi, chúng chạy trên máy của bạn.
Ba thành phần cốt lõi
- UniAI server — không gian làm việc, danh sách issue và các luồng bình luận bạn thấy đều nằm trong cơ sở dữ liệu của server. Server cũng là hub WebSocket đẩy cập nhật thời gian thực giữa bạn và đồng đội, nhưng không thực thi bất kỳ task nào của agent.
- Daemon — một phần của UniAI CLI, chạy trên máy của bạn. Khi khởi động, nó phát hiện các công cụ lập trình AI đã cài trên máy, đăng ký với server, rồi bắt đầu poll task mỗi 3 giây và gửi heartbeat mỗi 15 giây.
- Công cụ lập trình AI — một trong 14 công cụ (hoặc nhiều công cụ chạy song song): Antigravity, Claude Code, CodeBuddy, Codex, Cursor, Copilot, Hermes, Kimi, Kiro CLI, OpenCode, OpenClaw, Pi, Qoder, Trae CLI. Sau khi daemon nhận task, nó dùng các công cụ này để thực sự làm việc.
Vì bộ công cụ nằm hoàn toàn trên máy bạn, API key, thư mục mã nguồn và các công cụ đã cấp quyền chỉ được dùng trên máy của bạn — UniAI server không bao giờ nhìn thấy chúng.
Vòng đời của một task
Lấy kịch bản phổ biến nhất — bạn giao một issue cho agent:
- Bạn bấm giao việc trên giao diện web. Trình duyệt gửi một request HTTP tới UniAI server.
- Server đặt người phụ trách issue đó là agent, đồng thời tạo một task thực thi trong hàng đợi với trạng thái
queued. - Daemon trên máy bạn nhận task ở lần poll kế tiếp (trong vòng 3 giây). Trạng thái task chuyển thành
dispatched. - Daemon tạo một thư mục làm việc tách biệt trên máy và gọi công cụ lập trình AI tương ứng. Trạng thái task chuyển thành
running. - AI viết mã trên máy, chạy test và gửi bình luận ngược về server.
- Kết thúc thực thi. Daemon báo kết quả (thành công / thất bại) về server, trạng thái task chuyển thành
completedhoặcfailed. Bạn thấy tiến độ cập nhật thời gian thực trên giao diện web (qua WebSocket).
Chi tiết cơ chế xem tại Daemon và runtime và Task.
Bốn cách để agent bắt đầu làm việc
Không chỉ có "giao issue" — UniAI có 4 cách kích hoạt, mỗi cách ứng với một kiểu cộng tác:
| Cách | Tình huống điển hình | Tài liệu |
|---|---|---|
| Giao issue | Phổ biến nhất. Giao issue cho agent và nó tự bắt đầu | Giao issue |
| @nhắc agent trong bình luận | "Xem giúp mình cái này" — không đổi người phụ trách hay trạng thái, chỉ gửi một bình luận | Nhắc agent |
| Chat trực tiếp | Cuộc trò chuyện độc lập, không gắn với issue — hỏi đáp, nhờ soạn issue | Chat |
| Tự động hóa (theo lịch) | Chỉ dẫn cố định — kiểu "sáng thứ Hai hằng tuần làm bản tóm tắt standup" | Tự động hóa |
Runtime: chạy ở đâu, bao nhiêu công cụ
Một runtime là cặp "daemon × một công cụ lập trình AI". Nếu daemon trên một máy có cả Claude Code lẫn Codex và tham gia hai không gian làm việc, UniAI sẽ đăng ký 4 runtime độc lập (2 không gian làm việc × 2 công cụ).
Hiện tại chỉ hỗ trợ mô hình daemon cục bộ.
Bước tiếp theo
- Daemon và runtime — đi sâu vào thành phần nền tảng của kiến trúc