ateam

Một đội AI agent làm việc trong terminal của bạn.

ateam điều phối Claude Code, Codex, Antigravity và Grok như một đội: trưởng nhóm chia việc, các agent làm song song và giao việc cho nhau, tự chạy test, rồi chờ bạn duyệt diff trước khi merge.

Cài đặt

Chạy trên macOS và Linux. Một lệnh là xong; nâng cấp cũng chạy lại đúng lệnh đó.

Cài bằng một lệnh

curl -fsSL https://raw.githubusercontent.com/khoaace/ateam/main/scripts/get.sh | bash

Hoặc từ file đã tải

cd ~/Downloads && unzip -o ateam-0.5.0.zip && cd ateam && ./install.sh
ateam doctor

Mở dự án và gõ ateam. Lần đầu mở, ateam hỏi sẵn danh sách model của từng CLI rồi hiện một màn hình để chọn agent, trưởng nhóm, model và effort (mở lại bằng /setup). Lệnh ateam doctor cho biết agent nào đã sẵn sàng và đúng lệnh sẽ chạy cho từng agent.

Cần có

  • Python 3.9+ — brew install python nếu thiếu
  • git cho chế độ worktree và xem diff
  • Ít nhất một agent CLI đã đăng nhập: claude, codex, agy, opencode, hoặc bất kỳ CLI nào có chế độ headless

ateam dùng gói đăng ký sẵn có của từng CLI, không cần API key riêng. Mọi dữ liệu của dự án nằm trong thư mục .ateam/, đã tự gitignore.

Một mục tiêu đi qua đội như thế nào

Bạn chỉ cần gõ một câu. Phần còn lại diễn ra trên bảng việc chung, và bạn chen vào bất cứ bước nào.

  1. Giao mục tiêu

    Gõ yêu cầu như viết ticket: kết quả cần có và cách kiểm tra.

  2. Trưởng nhóm lập kế hoạch

    Chia thành 1–8 task, chọn agent, thứ tự phụ thuộc và effort cho từng task.

  3. Bạn duyệt

    Đổi người làm, sửa, huỷ task nháp, rồi Ctrl+G để chạy.

  4. Các agent làm song song

    Task chạy khi task trước xong; agent có thể giao phần việc hợp với thành viên khác.

  5. Kiểm tra và duyệt

    Test fail thì tự giao sửa. Ở chế độ review, bạn xem diff rồi merge hoặc trả lại kèm góp ý.

  6. Trưởng nhóm review

    Đủ thì đóng mục tiêu; còn thiếu thì giao thêm việc, tối đa 3 vòng.

Có gì trong ateam

Những thứ bạn sẽ dùng mỗi ngày khi để nhiều agent cùng làm một repo.

Tab Đội, xem cả 4 agent cùng lúc
Mỗi agent một ô log trực tiếp, task đang làm, thời gian chạy, cảnh báo khi im lặng quá lâu, và timeline ai làm gì lúc nào.
Tự chạy test, fail thì tự sửa
/verify npm test một lần cho mỗi dự án. Task đổi code mà test fail sẽ được giao sửa kèm log lỗi, tối đa 2 lần.
Duyệt diff trước khi merge
Mỗi task một git worktree riêng. Ctrl+D xem diff, Ctrl+Y merge, /reject kèm góp ý để làm lại.
Hết hạn mức thì đổi người
Agent báo rate limit được cho nghỉ đến giờ hồi; task tự chuyển sang agent dự phòng, kể cả vai trưởng nhóm.
Model và effort cho từng agent, từng task
/model claude opus, /effort codex xhigh, hoặc /task codex@xhigh … cho riêng một việc khó.
Agent và workflow của riêng bạn
Bất kỳ CLI nào chạy headless đều vào đội được: Gemini CLI, Cursor CLI, Aider… thêm trong màn hình /custom (có mẫu và xem trước lệnh). Workflow dựng sẵn như thiết kế → code → test chạy bằng /flow <tên> <mục tiêu>.

Lệnh hay dùng

Gõ /help trong app để xem đủ. Mọi lệnh đều có bản dòng lệnh, ví dụ ateam goal, ateam diff 3, ateam usage.

Lệnh trong appTác dụng
câu bình thườngGiao mục tiêu cho trưởng nhóm
/task codex@xhigh …Giao tay một task, kèm effort riêng
@Chọn file/thư mục của dự án; tự đổi sang cú pháp của từng agent
/assign 3 grokĐổi người làm task 3
/verify pytest -qLệnh kiểm tra sau mỗi task của dự án
/diff 3 · /merge 3Xem thay đổi · merge task chờ duyệt
/reject 3 thiếu xử lý lỗiTrả lại task kèm góp ý để làm lại
/setupChọn agent, trưởng nhóm, model và effort trong một màn hình
/customThêm agent (CLI bất kỳ) và workflow của riêng bạn
/flow tinh-nang …Chạy mục tiêu theo workflow dựng sẵn, không cần lập kế hoạch
/model claude opusModel mặc định của một agent
/note API chạy cổng 8080Ghi chú mọi agent đều đọc
/usageLượt chạy, thời gian, hết hạn mức
PhímTác dụng
Ctrl+TBảng việc ⇄ Đội
Ctrl+GDuyệt và chạy kế hoạch
Ctrl+DXem diff task đang chọn
Ctrl+YMerge task đang chọn
Ctrl+RChạy lại task
Ctrl+KHuỷ task
Ctrl+QThoát

Cấu hình

File chung ở ~/.config/ateam/config.toml; mỗi dự án ghi đè bằng .ateam/config.toml (tạo bằng ateam init --project).

# chạy song song an toàn: mỗi task một nhánh, chờ bạn duyệt
isolation = "worktree"
merge = "review"

[verify]
command = "npm test"
max_fix_attempts = 2

[agents.codex]
command  = ["codex", "exec", "--full-auto", "--skip-git-repo-check", "{prompt}"]
model    = "gpt-5.5"
effort   = "high"
fallback = ["claude"]
role     = "Viết code, sửa bug, chạy test, refactor."

# thêm bất kỳ CLI headless nào
[agents.gemini]
command    = ["gemini", "--yolo", "-p", "{prompt}"]
model_args = ["--model", "{model}"]
role       = "Đọc codebase lớn, viết tài liệu."

Khi có gì đó không chạy

Bắt đầu bằng ateam log <số task>: dòng đầu ghi agent, model, effort và thư mục làm việc.

Dấu hiệuThường doCách xử lý
Agent không in ra gìCLI chưa đăng nhập hoặc cần terminal thậtChạy thử CLI đó một lần; giữ pty = true cho agy
Task xong mà không file nào đổiCLI từ chối sửa file khi chạy headlessThêm cờ cho phép sửa: acceptEdits, --mode accept-edits…
Thoát với mã 1 ngay khi chạySai tên model hoặc mức effort/agents xem lệnh thật; /model codex - để về mặc định
Hết hạn mức nhưng báo lỗi thườngCâu thông báo của CLI chưa được nhận diệnGửi log lên GitHub Issues để thêm mẫu nhận diện
Task xung đột khi mergeHai task sửa cùng chỗ, hoặc bạn đang sửa dở file đógit merge ateam/t<số> rồi tự xử lý, hoặc /retry