Phiên bản: 0.20.0 · Cập nhật: 2026-10-14
Một người muốn có vài trợ lý AI làm việc thật cho mình — thư ký nhắc việc, huấn luyện viên sức khoẻ, đội hỗ trợ lập trình — chạy trên máy cá nhân, dùng model rẻ qua OpenRouter, nói chuyện qua Telegram và web. Các harness có sẵn hoặc quá nặng (nhiều dịch vụ, DB ngoài), hoặc quá mỏng (một script gọi API, không có duyệt tool, không nhớ), hoặc khoá vào một nhà cung cấp model.
my-agent-crew: một tiến trình Python, một tệp SQLite, một thư mục home. Nhiều agent, mỗi agent là một thư mục tệp văn bản. Một vòng lặp lượt chung cho mọi kênh và mọi job, với cổng duyệt tool, trần chi phí, và trí nhớ trên đĩa mà người dùng đọc và sửa được.
| Ai | Cần gì |
|---|---|
| Chủ máy (một người) | chat với master, duyệt tool, xem agent làm gì, sửa trí nhớ, tin lịch chạy đúng giờ |
| Người tự xây agent | thêm agent bằng thư mục, thêm tool bằng một hàm, thêm skill bằng markdown |
| Người học harness | đọc code và tài liệu hiểu được cấu thành, không cần biết trước |
delegate.MEMORY.md, facts người dùng dùng chung, consolidate thành đề xuất có duyệt.ask_user hỏi lại ở ngã ba thật (web và Telegram đều trả lời được),
progress_note báo đang làm gì, dòng FILE: gửi tệp đính kèm, pdf_read đọc tài liệu.html và sơ đồ mermaid chạy
cách ly, Telegram nhận canvas như một tệp. Xem canvas.md.tool_search để agent tìm rồi mới nạp tool. Xem tools.md.tool_script ở mọi agent giữ ít nhất một tool chỉ đọc, có sẵn hay của máy chủ MCP: agent viết
một đoạn script gọi nối các tool trong một bước, và chỉ phần script in ra mới vào ngữ cảnh.
Mặc định script chỉ gọi tool chỉ đọc; agent khai script_calls: gated thì script gọi được cả
tool đổi trạng thái, mỗi lời gọi qua cổng duyệt trước khi chạy, và script không bao giờ chờ
người. Script giữ được giá trị giữa các lần chạy (store, load), hỏi được model của agent
(llm.classify, llm.summarise), và ở chế độ gated giao được việc cho agent khác, ghi được
canvas. Một lịch chạy được thẳng một script, không mở lượt model nào. Xem
tools.md.[[...]], dựng lại từ ghi chú.shell_network: false: sandbox hệ điều hành cho agent giữ dữ liệu không được rời máy..agents/ kiểu Claude Code: lệnh, agent, skill, hook.agent add.Chức năng
POST /api/inbound; job đi thẳng vào cùng vòng lặp lượt. Không có đường nào khác tới model.shell_ask_patterns hỏi cả khi autonomous.approval_ttl_seconds coi như từ chối: hành động không chạy, và model được bảo không làm một việc tương đương bằng tool khác. Lịch và khối telegram đặt được hạn riêng cho cuộc trò chuyện chúng mở.Phi chức năng
pytest, vitest, Playwright xanh trong CI.| Rủi ro | Giảm nhẹ |
|---|---|
| Model rẻ gọi tool sai hoặc lặp | bộ chặn lặp (nhắc ở lần gọi y hệt thứ ba, dừng ở lần thứ sáu), max_steps, cost_cap_usd, tool_output_chars, cổng duyệt |
| Agent con tốn hết ngân sách cha | trần con = phần còn lại của cha |
| Trí nhớ phình hoặc lệch | consolidate là đề xuất có duyệt, giữ bản cũ |
| Lộ bí mật qua log hoặc doc | redact, tệp env ngoài repo, quy tắc placeholder trong doc |
| Một cuộc trò chuyện chạy song song hai lượt | InboundBusy 409 |
Hoàn thành
.agents/, ảnh qua vision route, album, múi giờ, persona ba tệp, bộ tài liệuChi tiết mỗi bản: CHANGELOG.
Việc còn mở
fake (echo) trong đội thật. Trình sửa tuyến không cho thêm fake vào đội chưa
dùng nó, nhưng config.yaml sửa tay vẫn nhận, và đội đó sẽ trả lời bằng tiếng vọng. Chưa
quyết: giữ fake cho demo/test, hay chỉ bật nó khi không có provider thật nào.ExitTimeOut 45 như mẫu ở deployment-guide §5.MY_AGENT_ALLOWED_HOSTS).delegate.delegate.| Từ | Nghĩa ở đây |
|---|---|
| harness | phần mềm bao quanh model: ngữ cảnh, tool, trí nhớ, kiểm soát |
| master | agent nhận tin từ người và giao việc |
| lượt (turn) | một vòng của vòng lặp agent: từ tin mới đến câu trả lời cuối |
| run / step | bản ghi một lượt và các bước trong nó |
| approval | yêu cầu duyệt một tool call |
| autonomous | cuộc trò chuyện bỏ qua cổng duyệt |
| delegate | tool để master chạy một lượt con ở agent khác |
| persona | AGENTS.md + SOUL.md |
| kit | thư mục .agents/ kiểu Claude Code |
| home | ~/.my-agent-crew/ |
users/owner/ là giả định một chủ.