Biến telegram thành office làm việc của OpenClaw

Biến telegram thành office làm việc của OpenClaw

Nếu bạn dùng OpenClaw cho rất nhiều tác vụ khác nhau, nhưng nó cứ nhớ nhớ quên quên, đôi khi lẫn lộn, thì bài này là dành cho bạn.

Tại Sao Cần Nhiều Agent Cho Nhiều Topic?

Telegram forum group cho phép bạn tạo nhiều topic (thread) trong cùng một group — mỗi topic như một kênh riêng biệt.

Nếu bạn đang xây nhiều dự án, nhiều brand, hoặc nhiều mảng công việc khác nhau, việc có một agent riêng cho từng topic giúp:

  • Không bị lẫn context: Agent của dự án A không biết gì về dự án B
  • Mỗi agent có workspace riêng: File, memory, system prompt khác nhau
  • Chuyên biệt hơn: Agent viết content khác agent quản lý code

Cách Setup:

Bước 1 — Chuẩn Bị Telegram Group

OpenClaw dùng tính năng forum group của Telegram — loại group cho phép tạo nhiều topic (thread) riêng biệt. Đây là bước đầu tiên cần làm trước khi đụng vào config.

Tạo group và bật Topics:

  1. Mở Telegram → tạo group mới (New Group)
  2. Vào Settings của group → chọn Edit → bật Topics
  3. Group giờ sẽ có dạng forum — bạn thấy tab Topics thay vì chat thẳng

Tạo các topic theo dự án:

  1. Trong group, nhấn nút New Topic
  2. Đặt tên topic (ví dụ: chinhday-com, nhongjars-com, clawopen-vn)
  3. Tạo đủ số topic bạn cần — mỗi topic sẽ map với một agent

Lấy Topic ID:

Mỗi topic có một ID riêng — bạn cần ID này để config routing. Cách lấy: vào Telegram Web (web.telegram.org) → mở topic → nhìn URL dạng #-1003659371062_163 → số sau dấu _ là topic ID.

Add OpenClaw bot vào group:

  1. Vào group → Add Members → tìm tên bot của bạn (đặt khi tạo bot trên @BotFather)
  2. Add bot với quyền Admin (ít nhất cần: Send Messages, Read Messages)
  3. Quan trọng: Tắt Privacy Mode — vào @BotFather → /mybots → chọn bot → Bot Settings → Group Privacy → Turn off
  4. Sau khi tắt Privacy Mode, remove bot khỏi group rồi add lại để Telegram apply thay đổi

Sau khi tạo xong , group của chúng ta sẽ trông như thế này :

Bước 2 — Tạo Agent:

Việc tạo agent này, bạn hoàn toàn có thể chat với OpenClaw, nói cho nó là tôi cần các agent riêng biệt vào các topic khác nhau trên Telegram. Tôi cần agent chinhday-com vào Topic “Chinhday.com” , agent nhongjars vào “nhongjars.com” chẳng hạn.

Các bước từ 2-5 bạn có thể làm thủ công, mang tính tham khảo là chính, chat với OpenClaw tiện hơn.

Mỗi agent cần có id, name, workspace, và agentDir trong config:

{"agents":{"list":[{"id":"main"},{"id":"chinhday-com","name":"chinhday-com","workspace":"/home/node/.openclaw/projects/chinhday-com","agentDir":"/home/node/.openclaw/agents/chinhday-com/agent"}]}}

Tạo thư mục workspace và agentDir tương ứng. Trong workspace, bạn có thể đặt AGENTS.md, SOUL.md, USER.md — những file này định nghĩa persona và context cho agent đó.

Bước 3 — Cấu hình Routing Theo Topic

Đây là bước quan trọng nhất — và cũng là chỗ dễ sai nhất.

{"channels":{"telegram":{"groups":{"-1003659371062":{"requireMention":false,"groupPolicy":"open","topics":{"163":{"agentId":"chinhday-com"},"346":{"agentId":"nhongjars-com"},"4":{"agentId":"clawopen-vn"}}}}}}}

Bước 4 — Restart Gateway

openclaw gateway restart

Bước 5 — Test

Vào từng topic, nhắn một tin nhắn. Agent đúng sẽ reply. Nếu không, xem phần tiếp theo.

Những cái bẫy mình đã gặp phải

Bẫy 1: Dùng bindings Thay Vì topics Config

OpenClaw có một tính năng gọi là bindings — dùng để route messages theo channel/peer. Trông có vẻ đúng chỗ để setup topic routing. Nhưng format peer.id: "-1003659371062:163" không được xử lý đúng cho forum topics. Kết quả: main agent bắt hết mọi tin nhắn.

Bẫy 2: Main Agent Bắt Hết

Triệu chứng: bạn nhắn vào topic 163, agent chinhday-com không reply — thay vào đó main agent reply. Nguyên nhân: config routing chưa đúng, gateway chưa restart, hoặc bot chưa có quyền đọc message. Cách kiểm tra: nhìn vào session key trong reply. Nếu đúng: agent:chinhday-com:telegram:group:-1003659371062:topic:163

Bẫy 3: Context Pollution Giữa Các Topic

Nếu bạn từng để main agent xử lý một topic trước khi fix routing, session cũ vẫn còn đó. OpenClaw có thể resume session cũ thay vì tạo session mới cho agent đúng. Cách tránh: Sau khi fix routing và restart, kiểm tra session key. Nếu vẫn bị lẫn, xóa session cũ hoặc đợi expire tự nhiên.

Bẫy 4: Bot Không Nhận Được Tin Nhắn Trong Group

Telegram bot mặc định ở Privacy Mode — chỉ nhận tin khi được mention. Fix: Tắt Privacy Mode qua @BotFather → /setprivacy → Disable, hoặc set requireMention: false trong config. Sau khi đổi Privacy Mode, remove và add lại bot trong group.

Verify Nhanh

  1. Session key: Reply từ agent có đúng format agent:<agentId>:... không?
  2. Memory riêng: Agent có đọc đúng workspace không? (Hỏi: "bạn là ai?")
  3. Không lẫn context: Thông tin topic này không xuất hiện ở topic khác

Kết

Setup multi-agent trên Telegram forum không khó — nhưng dễ sai ở chỗ routing config. Key insight: đừng dùng bindings cho topic routing, dùng channels.telegram.groups.*.topics.*. Mình đang dùng setup này để vận hành 3 dự án khác nhau từ một Telegram group duy nhất. Thực sự rất tiện và hiệu quả hơn rất nhiều.

Read more