Đến nội dung chính
Phạm Nam

Tìm kiếm

Nhập từ khoá để tìm trong các bài viết.

Quay lại
vi

OpenMausBot: Grok Bot mã nguồn mở, tự host

OpenMausBot là Grok Bot mã nguồn mở: đội AI bot trong app chat, mỗi bot có máy tính riêng, chạy trên CLI Claude, Codex, grok sẵn có. Cài đặt và đánh giá.

11 phút đọc—

Minh họa đội AI bot OpenMausBot trong app chat, mỗi bot làm việc trên một máy tính riêng

OpenMausBot — Grok Bot mã nguồn mở: đội AI bot trong một app chat, mỗi bot có máy tính riêng

Tuần trước, một đồng nghiệp gửi cho mình đoạn demo Grok Bot: nhắn một câu, bot tự mở máy tính, chạy lệnh, sửa file, rồi trả kết quả về. Mình đã trả tiền Claude, đã đăng nhập Codex — vậy mà muốn có trải nghiệm đó thì phải mua thêm gói đóng, chạy trên cloud của hãng, bằng đúng một model Grok.

Nếu bạn cũng ở đúng chỗ đó — đã có subscription AI coding agent, chỉ thiếu một app chat để biến chúng thành đội bot làm việc thật — thì OpenMausBot đáng xem. Nó không phải model mới hay chatbot khác, mà là một lớp điều phối mỏng: app chat ở trên, CLI Claude, Codex hoặc grok bạn đã có ở dưới.

OpenMausBot là gì?

OpenMausBot (repo milind-soni/OpenMausBot, tên cũ OpenGrokBot) tự mô tả: bản mã nguồn mở của Grok Bot, kèm một máy ảo mà bot có thể dùng. Ra mắt 2026-08-11, lõi Apache-2.0; tại thời điểm kiểm chứng 2026-11-06: 14.371 stars, 1.981 forks, v0.1.143 phát hành cùng ngày. Release gần như hằng ngày. Không liên hệ với xAI, Meta, OpenAI hay Manus.

Trải nghiệm cốt lõi giống nhắn tin trên Telegram hơn là gõ lệnh trong terminal: bot là một contact trong app chat, bạn nhắn yêu cầu, bot trả lời, và khi cần tự chạy lệnh shell, sửa file, thao tác trên máy tính rồi báo kết quả về.

Nó giải quyết ba việc. Thứ nhất, tái sử dụng subscription Claude Code, Codex hoặc grok CLI đã cài, thay vì mua thêm gói agent đóng. Thứ hai, làm việc thật: bot được cấp máy tính để chạy lệnh và sửa file. Thứ ba, local-first: transcript, key và event lưu trong ~/.openmausbot, harness chạy trên 127.0.0.1.

Phù hợp: sysadmin, DevOps, SRE, developer, người tự host homelab, và ai đã dùng AI coding agent qua CLI. Chưa phù hợp: người cần sản phẩm ổn định, người chỉ cần chatbot đơn lẻ, người không muốn bot chạm vào máy mình.

Kiến trúc và cơ chế hoạt động

Điểm cần hiểu trước tiên: OpenMausBot không host model. Reasoning chạy trong CLI claude, codex hoặc grok bạn đã cài và đăng nhập; harness chỉ điều phối — nhận tin nhắn, chọn engine, chuyển yêu cầu sang CLI, nhận streamed reply, và chặn ở cổng phê duyệt trước side-effect. Hệ quả: năng lực và chi phí của bot được thừa hưởng nguyên vẹn từ CLI bạn chọn; CLI hỏng login hay đổi chính sách thì bot dừng theo.

Stack đã xác minh: TypeScript strict, React 19, Electron, Cua Driver, ElevenLabs và Fish Audio. Harness là server nhỏ trên 127.0.0.1 — dev cổng 8799, trong app cổng 5199.

Sơ đồ luồng hoạt động

flowchart TD
    A["Người dùng — App chat Electron, React 19"] --> B["Harness server local 127.0.0.1 — điều phối"]
    B --> C["Engine router — CLI claude / codex / grok"]
    C --> D["Permission broker — thẻ phê duyệt Allow / Deny"]
    D --> E["Máy tính của bot"]
    E --> E1["Boat — cloud Linux desktop"]
    E --> E2["Local VM tách biệt"]
    E --> E3["Host control — macOS / Ubuntu Xorg, opt-in"]
    B --> F["Triggers — lịch, webhook 127.0.0.1:8800, app events"]
    B --> G["Composio — 500+ app, key tùy chọn"]
    B --> H["Kho dữ liệu local ~/.openmausbot"]
    E --> I["Kết quả trả về chat — streamed reply"]

Luồng điều khiển: tin nhắn vào harness, harness chuyển sang CLI đã chọn, CLI xử lý và stream câu trả lời về. Khi tác vụ cần side-effect, luồng dừng ở permission broker: thẻ phê duyệt hiện inline trong đoạn chat, chỉ sau khi bạn bấm Allow, lệnh mới chạm tới máy tính của bot. Dữ liệu ở lại trong ~/.openmausbot.

Ba chế độ máy tính là ba ranh giới tin cậy khác nhau, không phải ba tùy chọn tương đương. Boat là cloud Linux desktop — cách ly tốt, trả phí sau trial. Local VM tách biệt trên máy bạn — cách ly tốt, tốn tài nguyên. Host control cho bot điều khiển trực tiếp máy host — tiện nhất, rủi ro cao nhất, bắt buộc opt-in. Trên Ubuntu Wayland, host control bị vô hiệu hóa vì một safety gate (issue #345); chỉ Xorg được phép.

Còn lại: Composio mở ra hơn 500 app (Gmail, Slack, GitHub, Notion) nhưng key là tùy chọn. Triggers gồm lịch (một lần, theo ngày trong tuần, lặp mỗi 5–1.440 phút), webhook qua receiver local 127.0.0.1:8800, và app events. Teams import cả đội bot từ một file Markdown (connection tắt tới khi duyệt, routines paused). Headless CLI biến đội bot thành cấu hình-as-code: team apply triển khai team, run chạy nhiệm vụ, trả JSON và exit code cho script hoặc CI.

Giới hạn đã xác minh: Ubuntu còn beta, kết nối hosted và mobile đang xây, webhook chỉ có receiver local. Thư mục enterprise/ là source-available theo giấy phép riêng; xóa nó thì bản mã nguồn mở vẫn build và chạy được.

Hướng dẫn triển khai

Điều kiện tiên quyết

Hệ điều hành: macOS, Windows hoặc Ubuntu 24.04 x64; Node 24+ nếu chạy từ terminal hoặc build từ source; pnpm nếu build từ source. Quan trọng nhất: ít nhất một CLI claude, codex hoặc grok đã cài và đăng nhập bằng subscription sẵn có — chưa có CLI nào đăng nhập thì bot không chạy được.

Trước khi cài, quyết định chế độ máy tính của bot. Theo mình, lần thử đầu tiên nên dùng Local VM: cách ly khỏi máy host, không phát sinh phí cloud. Host control chỉ nên bật trên máy phụ.

Cài đặt bản desktop

Cách khuyên dùng cho người mới. Lấy file từ trang Releases, phiên bản tham chiếu v0.1.143 (2026-11-06).

  • macOS (Apple silicon và Intel): file .dmg, đã signed và notarized.
  • Windows x64: file .exe, chưa code-signed. SmartScreen báo “unknown publisher” — chọn More info rồi Run anyway.
  • Ubuntu 24.04 x64: file .deb (khuyên dùng APT) hoặc AppImage beta.

Cài đặt từ terminal và chạy headless

Trên server hoặc máy không cần giao diện:

npm install -g openmausbot
openmausbot

Hoặc npx openmausbot không cần cài global. Lần chạy đầu tiên có wizard hướng dẫn chọn AI access, đăng nhập hoặc dán API key, chọn model. Để chạy always-on hoặc trên VPS, dùng npx openmausbot serve với --tunnel (sau npx openmausbot login), --tailscale, hoặc Docker stack (xem docs/deploy-vps.md, docs/self-hosting.md).

Chạy từ source (chỉ khi cần tùy biến code):

git clone https://github.com/milind-soni/OpenMausBot
cd OpenMausBot
pnpm install
pnpm dev:server   # harness → 127.0.0.1:8799
pnpm dev          # app → 127.0.0.1:5199
pnpm dev:desktop  # Electron shell

Kiểm tra sau cài đặt

Phần này mình chưa chạy thử, chỉ đối chiếu tài liệu:

  1. Kiểm tra CLI đã đăng nhập: claude --version, codex --version, hoặc grok --version.
  2. Mở app, tạo một bot, gửi tin nhắn thử, xác nhận nhận được streamed reply.
  3. Thử một tác vụ cần phê duyệt (lệnh shell, sửa file), xác nhận thẻ Allow/Deny hiện ra trước khi lệnh chạy.
  4. Import team từ Markdown, chạy openmausbot team apply và openmausbot run trên môi trường thử, kiểm tra JSON và exit code.
  5. Kết quả mong đợi: chat phản hồi, approval card chặn đúng trước side-effect, dữ liệu xuất hiện trong ~/.openmausbot.

Lỗi thường gặp và cách xử lý

  • Không có CLI nào đăng nhập: bot không chạy được. Cài và đăng nhập CLI trước, kiểm tra trong Settings → Engines.
  • SmartScreen chặn file .exe trên Windows: hành vi đã biết do chưa code-signed, không phải file hỏng.
  • Host control không chạy trên Ubuntu Wayland (bị vô hiệu hóa vì safety gate). Dùng Xorg hoặc chuyển sang Local VM hay Boat.
  • Webhook không gọi được từ internet: receiver chỉ local 127.0.0.1:8800, chưa có hosted relay — cần tunnel, Tailscale hoặc chạy serve trên VPS.

Sao lưu và rollback

Sao lưu ~/.openmausbot và file Markdown định nghĩa team trước khi thay đổi cấu hình. Muốn gỡ bỏ: gỡ app hoặc package global, xóa ~/.openmausbot và file team đã import, thu hồi Composio key nếu đã gắn, ngắt Boat, thu hồi session CLI.

Đánh giá kỹ thuật

Ưu điểm

  • Tái dùng subscription CLI sẵn có, không mua thêm gói agent đóng.
  • Local-first: dữ liệu trong ~/.openmausbot.
  • Mỗi bot một máy tính riêng: bot làm việc thật thay vì chỉ trò chuyện.
  • Approval cards + permission broker: kiểm soát trước mọi side-effect.
  • Teams-as-Markdown + headless CLI: đội bot version được bằng git, nhúng được vào script và CI.

Nhược điểm và giới hạn

  • “Early but real”: hành vi và API có thể đổi theo từng release — pin version là bắt buộc.
  • Ubuntu beta; kết nối hosted và mobile đang xây; webhook chưa có hosted relay.
  • Windows installer chưa code-signed.
  • Phụ thuộc hoàn toàn vào CLI bên ngoài: CLI đổi phiên bản, hỏng login hay đổi chính sách thì bot ảnh hưởng theo.

Bảo mật — đọc kỹ trước khi giao bot quyền trên máy thật

API key lưu plaintext trong config.json (0600 trên Unix). Ai chiếm được file đó — hay chiếm được máy — là chiếm được key và toàn bộ đội bot. Phân quyền máy cẩn thận là điều kiện tiên quyết.

Host control là chế độ rủi ro cao nhất: bot điều khiển trực tiếp máy host, chỉ bật khi opt-in có chủ đích; Local VM và Boat cách ly tốt hơn. Approval cards giảm rủi ro nhưng không thay thế cách ly máy tính — và approval fatigue là rủi ro thật: càng nhiều lần bấm duyệt, càng dễ bấm Allow theo thói quen. Analytics tắt được trong Settings → General → Usage analytics; tài liệu của dự án ghi rằng nó chỉ đếm ẩn danh.

Hiệu năng và vận hành

Không có benchmark nào được kiểm chứng, nên bài này không so tốc độ giữa các CLI. Điều có dữ liệu: 14.371 stars, 1.981 forks, 751 open issues tại 2026-11-06; release gần như hằng ngày. Về vận hành: pin version v0.1.143, sao lưu ~/.openmausbot và team Markdown trong git.

So sánh với các lựa chọn cùng phạm vi

Tiêu chíOpenMausBotGrok Bot (xAI, đóng)OpenBotOrkas
Giấy phépApache-2.0 lõi, tự hostĐóng, cloud của hãngTự host, gateway kiểm soátLocal-first, desktop
Model / CLIClaude, Codex, grok CLI sẵn cóChỉ Grok, theo bảng của dự ánNhiều model qua gatewayNhiều agent chuyên gia
Máy tính riêngCó: Boat, Local VM, hostMột máy cloud dùng chung, theo dự ánCóĐiều phối agent
Giao diệnApp chatApp chatGateway + coworkerCommander
Phê duyệt / auditApproval cardsKhông rõPolicy CEL + audit mạnhĐiều phối dự án, lịch lặp
Triggers / tích hợpLịch, webhook local, Composio 500+ appKhông rõTích hợp qua gatewayDự án, lịch lặp đa ngày
Độ trưởng thànhEarly, release hằng ngàyBeta đóngMạnh về governanceMạnh về điều phối
Chi phíSubscription CLI sẵn có; Boat trả phí sau trialGói đóng của hãngTự hostTự host

Các ô so sánh với Grok Bot, Muse, dots, Cue, Instinct lấy từ bảng so sánh của chính dự án, chưa được kiểm chứng độc lập; giá gói X Subscription chưa đối chiếu được với nguồn chính thức của xAI.

Chọn OpenMausBot khi ưu tiên app chat, tái dùng CLI sẵn có và tự host; OpenBot khi ưu tiên policy và audit cho team; Orkas khi ưu tiên điều phối dự án dài ngày.

Use case thực tế

Homelab. Một bot theo dõi repo, một bot tóm tắt Gmail qua Composio (kiểm tra mỗi 15 phút), một bot chạy lệnh bảo trì theo lịch — tất cả trong một app, dữ liệu ở nhà, không thêm gói đăng ký.

Dev workflow. Bot nhận yêu cầu qua chat, mở Local VM, chạy CLI Claude/Codex, sửa code, chờ duyệt qua approval card rồi mới commit, push — tách biệt khỏi máy host chính.

DevOps/SRE. Trigger theo lịch kiểm tra dịch vụ, webhook local nhận sự kiện rồi đánh thức bot, headless openmausbot run đưa vào script hoặc CI và xuất JSON.

IT admin / doanh nghiệp nhỏ. Định nghĩa cả đội bot trong một file Markdown, version bằng git, team apply để triển khai; connections tắt tới khi duyệt, routines paused khi import.

Bài học rút ra

  1. Máy tính của bot mới là ranh giới an toàn thật; thẻ phê duyệt chỉ là cổng kiểm soát — chọn chế độ máy trước khi giao việc.
  2. Tái dùng CLI sẵn có tiết kiệm chi phí gói đóng, nhưng chuyển rủi ro sang CLI: hỏng login hay đổi phiên bản là bot dừng.
  3. Local-first không đồng nghĩa an toàn mặc định: key plaintext trong config.json khiến an toàn của máy host thành an toàn của cả đội bot.
  4. Release gần như hằng ngày là tín hiệu dự án sống động, nhưng cũng là rủi ro vận hành — pin version v0.1.143.
  5. Webhook local-only giới hạn trigger always-on: muốn bot trực 24/7 thì tính thêm tunnel, Tailscale hoặc VPS từ đầu.

Kết luận

OpenMausBot hợp với người đã có subscription Claude, Codex hoặc grok và muốn đội AI agent dạng chat app tự host, chấp nhận sản phẩm còn early-stage. Nó không hợp với người cần ổn định, hỗ trợ doanh nghiệp; người chỉ cần chatbot đơn lẻ; và người không muốn bot chạm vào máy host.

Bước tiếp theo: thử trên máy phụ hoặc máy ảo trước — cài bản desktop v0.1.143, dùng Local VM, bật approval cards, chạy một bot và một trigger lịch trong một tuần rồi mới quyết định.

Phạm vi kiểm chứng

Ngày kiểm chứng: 2026-11-06; phiên bản v0.1.143, phát hành 2026-11-06 09:40 UTC; repo 14.371 stars, 1.981 forks tại thời điểm kiểm tra. Đã xác minh từ GitHub API và README chính thức: repo, giấy phép, CLI được hỗ trợ, ba chế độ máy tính, approval cards, triggers, headless CLI, lệnh cài đặt. Tuyên bố của dự án, chưa kiểm chứng độc lập: bảng so sánh với Grok Bot, Muse, dots, Cue, Instinct; “500+ app qua Composio”; Boat trả phí sau trial. Mặc định so với tùy chọn: chat local không cần Composio key; host control cần opt-in; analytics tắt được. Số cấu hình, không phải benchmark: 500 app events mỗi ngày, Gmail kiểm tra mỗi 15 phút, trigger lịch 5–1.440 phút. Chưa kiểm chứng: không cài đặt, không chạy thử, không benchmark; giá gói Grok Bot chưa đối chiếu nguồn chính thức của xAI.

Tài liệu tham khảo


Bài viết liên quan

Bình luận

Bình luận được duyệt trước khi hiển thị.

Đang tải bình luận…

Để lại bình luận