OpenBot là nền tảng trợ lý AI cho doanh nghiệp tự chạy trên hạ tầng của mình, do CopilotKit phát triển. Mỗi "đồng nghiệp AI" (Bot) có trình duyệt, thư mục làm việc và bộ công cụ riêng; mọi thao tác đều qua một cổng kiểm soát quyết định cho phép hay từ chối và ghi lại nhật ký.
OpenBot dùng để làm gì?
Dựng trợ lý AI nội bộ dạng chat, dữ liệu nằm trong PostgreSQL của bạn
Giao việc cho Bot duyệt web, điền form, xử lý file trên máy tính riêng của nó
Đặt luật cho phép hoặc chặn từng thao tác trình duyệt, file, MCP và xem lại nhật ký
Kết nối agent tự viết hoặc agent dựng bằng LangGraph, Mastra, CrewAI qua giao thức AG-UI
Hẹn Bot làm việc định kỳ và nối Bot với Slack, Microsoft Teams
Cần biết trước khi dùng
Cần chú ýdocker-compose gắn docker.sock vào container: container có thể điều khiển toàn bộ Docker trên VPS.
Lưu ýTino chưa kiểm thử việc cài ứng dụng này lên VPS.
Kiểm tra tự động ngày 04/11/2026 từ dữ liệu GitHub, OSV.dev và docker-compose. Đây không phải chứng nhận bảo mật; Tino không phát triển hay bảo trì repo này.
OpenBot là gì?
Doanh nghiệp muốn cho AI agent dùng trình duyệt, file và công cụ nội bộ thường vướng một câu hỏi: agent đã làm gì, ai cho phép. OpenBot đặt một cổng (gateway) giữa Bot và mọi công cụ. Mỗi lệnh gọi được xác định mục tiêu, đối chiếu chính sách viết bằng CEL, ghi một dòng nhật ký rồi mới thực hiện; luật chặn được xét trước luật cho phép, và khi thiếu chính sách thì không cho làm gì.
Mỗi Bot là một endpoint nói giao thức AG-UI, nên không bị gắn với framework nào. Bản cài sẵn có hai Bot cấu hình bằng YAML (General Assistant và Knowledge), cùng mười Bot mẫu trong thư mục examples. Bot làm việc trên "máy tính" riêng: một container có Chromium, thư mục /workspace và hồ sơ trình duyệt. Khi gặp trang đăng nhập hay mã 2FA, Bot xin trợ giúp và người dùng cầm lái trong cùng khung màn hình.
OpenBot không kèm mô hình AI: quản trị viên tự nhập khoá API, khoá được mã hoá khi lưu. Hội thoại và bộ nhớ dài hạn lưu ở CopilotKit Intelligence, dịch vụ của CopilotKit (có gói miễn phí, có thể tự host với giấy phép riêng), nên bạn cần tài khoản CopilotKit để chạy.
README nói rõ OpenBot là mẫu để sao chép và tuỳ biến, không phải sản phẩm hoàn chỉnh, và đang ở giai đoạn beta. Mã nguồn theo giấy phép MIT.
Nên dùng khi
Doanh nghiệp muốn trợ lý AI nội bộ chạy trên máy chủ riêng, có đăng nhập Google, Microsoft hoặc Okta
Bạn cần cho AI agent thao tác trình duyệt nhưng phải kiểm soát và lưu vết từng hành động
Bạn đã có agent viết bằng LangGraph, CrewAI… và cần giao diện chat, phân quyền, nhật ký cho nó
Không nên dùng khi
Bạn không muốn phụ thuộc dịch vụ bên ngoài: OpenBot cần CopilotKit Intelligence (bản managed hoặc tự host có giấy phép) để lưu hội thoại
Bạn cần sản phẩm ổn định để dùng ngay: README ghi đây là bản beta và là mẫu để tự tuỳ biến
Bạn chưa cấu hình được đăng nhập SSO và HTTPS: chế độ một người dùng biến mọi người truy cập thành quản trị viên
Nhiều nhóm cần cách ly lẫn nhau mà chỉ chạy một container: không có supervisor thì các Bot dùng chung một máy tính, chung file và phiên đăng nhập
Bạn không chấp nhận rủi ro Bot giữ phiên đăng nhập thật trên trình duyệt và chạy được lệnh shell trong workspace
Tính năng chính
Mọi thao tác đi qua một cổng kiểm soát chung: trình duyệt, file, MCP và component
Chính sách CEL, luật chặn xét trước, lỗi luật thì từ chối; trang /admin/audit ghi cả thao tác bị từ chối kèm luật gây ra
Mỗi người (hoặc mỗi Bot đánh dấu Isolated) một container có Chromium và workspace riêng; chạy được dưới gVisor
Cầm lái: người dùng điều khiển trình duyệt của Bot khi gặp đăng nhập, 2FA, rồi trả lại
Kết nối MCP có kiểm soát: Google Drive, Notion, Parallel, Exa, Firecrawl, Composio
Đăng nhập Google, Microsoft, Okta, SAML, OIDC; quản lý người dùng tại /admin/people
Khoá API, mật khẩu được mã hoá khi lưu và không bao giờ trả về qua API
Routine chạy định kỳ (tối thiểu 15 phút, tối đa 20 routine bật), Helm chart cho Kubernetes
Cách deploy OpenBot lên VPS bằng Docker
Tạo VPS
Chọn gói VPS 30 GB NVMe (2 vCPU · 2 GB RAM · 30 GB NVMe), hệ điều hành Ubuntu 24.04. VPS khởi tạo trong khoảng 5 phút.
Tạo VPS cho OpenBot
Cài Docker trên VPS (Ubuntu 24.04)Đăng nhập VPS bằng SSH với tài khoản root rồi chạy. Docker lấy từ kho phần mềm chính thức của Ubuntu.
Tạo file cấu hìnhFile .env.example nằm trong repo, nên cần tải repo về trước (README không ghi lệnh clone cụ thể). Các bước kết nối Intelligence bên dưới chạy bằng Node.js (npx) và Bun 1.4+.
cp .env.example .env
Kết nối CopilotKit IntelligenceĐăng nhập tài khoản CopilotKit, chọn project, rồi script tự ghi khoá runtime và container Learning vào .env. Tự host Intelligence thì đặt INTELLIGENCE_API_URL và chỉ chạy lệnh thứ ba.
Tạo khoá mã hoá riêngDán kết quả vào KEY_ENCRYPTION_KEY trong .env; khoá mẫu bị từ chối khi chạy production. Điền thêm OPENAI_API_KEY (hoặc khoá của nhà cung cấp bạn chọn) và cấu hình đăng nhập Google, Microsoft hoặc Okta.
openssl rand -base64 32
Chạy image có sẵn PostgreSQL bên trongMột image gồm giao diện, API và Chromium, tất cả ở cổng 3001. Volume phải gắn vào /var/lib/postgresql (thư mục cha), không gắn vào /var/lib/postgresql/data. Muốn dùng database có sẵn thì bỏ EMBEDDED_POSTGRES và đặt DATABASE_URL. Thay latest bằng thẻ phiên bản như :v0.0.9 để cố định bản.
Mở ứng dụng
Truy cập http://IP-VPS:3001 (nên đặt HTTPS phía trước; bản chạy từ mã nguồn dùng http://localhost:3010) (thay IP-VPS bằng địa chỉ IP của VPS). Nên gắn tên miền và SSL trước khi dùng thật.
Lệnh cài ứng dụng chép từ README của dự án. Đọc trước khi chạy trên máy chủ thật.
Biến môi trường quan trọng
Biến
Ý nghĩa
DATABASE_URL
Chuỗi kết nối PostgreSQL (role phải tạo được extension vector); không cần khi EMBEDDED_POSTGRES=on
EMBEDDED_POSTGRES
Đặt on để chạy PostgreSQL ngay trong container, migration tự chạy mỗi lần khởi động
KEY_ENCRYPTION_KEY
Khoá base64 32 byte để mã hoá thông tin đăng nhập; tạo bằng openssl rand -base64 32
Bắt buộc khi bật đăng nhập; INITIAL_ADMIN_EMAILS chỉ định quản trị viên đầu tiên
GOOGLE_OAUTH_*, MICROSOFT_OAUTH_*, OKTA_OAUTH_*
Thông tin ứng dụng OAuth của nhà cung cấp đăng nhập bạn chọn
AGENT_COMPUTER_POLICY
Chính sách thao tác dạng JSON; JSON sai khiến server không khởi động
AGENT_ENDPOINT_ALLOWED_HOSTS
Danh sách địa chỉ nội bộ được phép đăng ký làm endpoint agent
Cách dùng sau khi cài
Thử Bot đầu tiênMở /bot và yêu cầu ví dụ "Open news.ycombinator.com and tell me the top story." để xem Bot duyệt web trên màn hình riêng.
Đặt luật và xem nhật kýVào /admin/boundaries thêm luật chặn hoặc preset, thử lại cùng thao tác; xem kết quả cho phép, từ chối, lỗi tại /admin/audit.
Lưu khoá và thông tin đăng nhậpNhập khoá qua /admin/credentials để được mã hoá; không ghi khoá vào file YAML hay file commit lên git.
Thêm Bot của bạnTạo Bot ở /bots với tên, vai trò và endpoint AG-UI tuỳ chọn. Endpoint nội bộ phải nằm trong AGENT_ENDPOINT_ALLOWED_HOSTS.
Chạy routine định kỳImage một container không có worker hẹn giờ. Cần cron bên ngoài chạy bun scripts/fire-routines.ts trong /app/server, nếu không routine được lưu nhưng không bao giờ chạy. File đính kèm chưa gửi cũng cần cron chạy bun scripts/cull-staged-attachments.ts.
Cập nhật và sao lưu
Dữ liệu sản phẩm, chính sách, nhật ký kiểm toán nằm trong PostgreSQL: với EMBEDDED_POSTGRES=on là volume openbot-data gắn tại /var/lib/postgresql, cần sao lưu volume này. Hội thoại và bộ nhớ lưu ở CopilotKit Intelligence, ngoài máy chủ của bạn nếu dùng bản managed.
Cập nhật bằng cách chạy image thẻ mới; tài liệu khuyên dùng digest cố định trong container-images.json của từng bản phát hành thay vì thẻ latest. Với database ngoài, chạy migration như một bước riêng trước khi khởi động bản mới. README không nêu lệnh sao lưu cụ thể.
Câu hỏi thường gặp
OpenBot có hoàn toàn miễn phí không?
Mã nguồn theo giấy phép MIT. Nhưng OpenBot cần CopilotKit Intelligence: bản managed có gói miễn phí, bản tự host cần giấy phép. Bạn còn trả phí mô hình AI theo nhà cung cấp mình chọn.
OpenBot dùng mô hình AI nào?
Không kèm mô hình nào. Bot mẫu dùng OpenAI, Bot LangGraph dùng được OpenAI, Anthropic hoặc Google. Đặt OPENAI_BASE_URL để đi qua gateway hay proxy tương thích OpenAI.
Bot có tự ý đăng nhập, thanh toán trên web được không?
Bot chỉ làm được những gì chính sách cho phép; mọi thao tác ghi nhật ký. Gặp trang đăng nhập hay 2FA, Bot dừng lại xin người dùng cầm lái, và trong lúc người cầm lái thì thao tác của Bot bị từ chối.
Chạy trên VPS không có Kubernetes được không?
Được. Một image Docker chứa giao diện, API, trình duyệt và tuỳ chọn PostgreSQL. Bản này không có supervisor nên các Bot dùng chung một máy tính; Helm chart dành cho ai cần Kubernetes.
Nội dung được AI hỗ trợ soạn từ README và dữ liệu GitHub của dự án.
Tino không phát triển, không sở hữu và không liên kết với OpenBot hay nhóm phát triển CopilotKit. Tên, logo và nhãn hiệu thuộc về chủ sở hữu tương ứng; việc nhắc tới chỉ để mô tả, không có nghĩa là dự án xác nhận hay hợp tác với Tino.
OpenBot được phân phối theo giấy phép MIT của nhóm phát triển. Tino không bảo đảm về tính năng, bảo mật hay mức độ phù hợp của phần mềm; bạn tự chịu trách nhiệm khi cài đặt, cấu hình và sử dụng.
Lệnh cài và thông tin trên trang lấy từ tài liệu công khai của dự án tại thời điểm cập nhật và có thể đã thay đổi. Đọc tài liệu chính thức và sao lưu dữ liệu trước khi chạy trên máy chủ thật.