Báo cáo nội bộ

Huong dan: Agent tu chinh n8n va chatbot cua minh (khong sai chung)

Team Digital Tonny · tonny.report.tonny.info/2026-09-12-1235/

(Nguyên tắc: mỗi agent tự làm phần của mình — KHÔNG sài chung)

Anh Vĩnh chốt 12/09/2026: ai cũng phải tự sửa cái của mình, và không ai được sài chung tài nguyên với ai. Tonny ghi lại thành hướng dẫn chuẩn để gửi cho từng agent — agent đọc, áp dụng cho chính nó, không cần hỏi lại.

1. BA NGUYÊN TẮC VÀNG (đọc trước mọi việc)

  1. TỰ SỬA PHẦN CỦA MÌNH — chatbot / workflow / n8n / tunnel / cron / báo cáo của chính mình: hỏng thì tự chẩn đoán, tự sửa, sửa xong báo Anh 1 dòng. Không hỏi "làm sao" khi trong tầm tay.
  2. KHÔNG SÀI CHUNG — không dùng chung database, port, tunnel, credential, token bot, link báo cáo với agent khác hay dự án khác. Thiếu tài nguyên → tự dựng bản riêng (hoặc xin Anh cấp), KHÔNG mượn tạm của người khác.
  3. KHÔNG ĐỤNG DỰ ÁN NGƯỜI KHÁC — QCake, Chú Mập, ĐinCox, hệ thống Hermes: đọc cũng không, sửa càng không. Thấy cần đụng → dừng, báo Anh.

2. ĐƯỢC SỬA / CẤM ĐỤNG

✅ ĐƯỢC SỬA (không cần chờ ai):

⛔ CẤM ĐỤNG (kể cả khi thấy lỗi):


3. CÁCH BIẾT "CỦA MÌNH" HAY "CỦA CHUNG" (5 dấu hiệu)

Trả lời 5 câu này; chỉ cần 1 câu trả lời là "không phải của mình" → DỪNG LẠI.

  1. Tên: có mang tên dự án mình không? (vd n8n-tonny, tonny-report, tonny_vhome_...).
  2. Port / instance: port và container có phải cái mình dựng không? (docker ps xem tên container).
  3. DB: file database.sqlite mình đang ghi vào có nằm trong thư mục dự án mình?
  4. Tunnel / domain: tunnel và tên miền có riêng của mình?
  5. Bot / callback: bot token, webhook, app Facebook có phải của mình?
Nếu workflow nằm ở instance CHUNG nhưng chỉ phục vụ dự án mình → vẫn phải chuyển sang instance riêng trước khi sửa sâu, hoặc xin Anh cho phép 1 lần (kèm thời gian downtime dự kiến).

4. QUY TRÌNH TỰ SỬA CHATBOT / N8N (6 BƯỚC — làm đủ, không nhảy bước)

B1 — Chốt đúng đối tượng. Ghi ra trước khi sửa: tên workflow + ID, instance + port, đường dẫn DB, node nào sẽ sửa, giá trị gốc của trường sắp đổi. Không xác định được → DỪNG, hỏi Anh.

B2 — Backup. Copy DB (database.sqlite) ra file *.bak-<ngày-giờ> trước mọi thay đổi. Ghi lại giá trị cũ vào 1 file note.

B3 — Sửa có đồng bộ. n8n 2.x lưu bản đang chạy ở bảng workflow_history (khớp activeVersionId), không phải workflow_entity (đó là bản nháp). Sửa DB trực tiếp thì phải cập nhật cả hai, nếu không bot vẫn chạy bản cũ mà mình tưởng đã sửa.

B4 — Restart đúng cách. Đóng MỌI kết nối sqlite trước khi restart (không đóng → n8n chết SQLITE_IOERR: disk I/O error). Chỉ docker restart container của mình, giờ thấp điểm, báo trước nếu có người đang dùng.

B5 — Test THẬT rồi mới tin. Bắt buộc kiểm chứng bằng dữ liệu thật:

B6 — Báo Anh. 1 tin ngắn: sửa cái gì · vì sao · đã test bằng gì · còn tồn gì. Lưu hồ sơ vào docs/ của dự án mình.


5. CHECKLIST TRƯỚC KHI BẤM SỬA (tick đủ mới làm)


6. KHI NÀO BẮT BUỘC HỎI ANH (không tự làm)

  1. Tiền thật (nạp tiền, mua gói, thanh toán, chạy quảng cáo).
  2. Tài khoản / app / credential MỚI (app Facebook mới, tài khoản mới, key mới) — cần Anh xác thực 2FA.
  3. Vượt phạm vi: phải sửa/restart tài nguyên dùng chung, hoặc đụng dữ liệu dự án khác.
  4. Không chắc chắn về đối tượng sửa (không dám chắc file/workflow này của mình hay không).
  5. Việc ảnh hưởng khách đang chat / page đang chạy mà không có cách test an toàn.
Ngoài 5 trường hợp trên: tự quyết, tự làm, tự sửa, làm xong báo.

7. TÀI NGUYÊN PHẢI RIÊNG — MẪU CHUẨN

Mỗi agent / dự án có bộ riêng của mình, không trùng ai:

Hạng mụcTonny (mẫu đã tách 12/09/2026)
Instance n8ncontainer n8n-tonny, port 5681 (không dùng 5678 chung)
DB n8nD:/Data N8n Tonny/database.sqlite (+ encryption key riêng)
Đường công khaihttps://n8n-tonny.tonny.info (tunnel + token cloudflared riêng)
Link báo cáohttps://tonny.report.tonny.info/<ngày-giờ>/mỗi báo cáo 1 link, không bao giờ đè
Bot / kênhtoken bot riêng, webhook riêng (.../webhook/vhome-manual-post)
Hồ sơprojects/<dự án>/docs, tasks, scripts, state

Quy tắc đặt tên: tài nguyên mới phải mang tên dự án/agent ngay trong tên (container, port, thư mục, tunnel, cron, script) — để không ai nhầm là của chung.


8. MẪU TIN NHẮN GỬI AGENT (Anh copy gửi từng agent)

Quy tắc mới, áp dụng từ hôm nay cho mày: 1. Cái gì của mày (chatbot, workflow, n8n, tunnel, cron, báo cáo của mày) thì hỏng tự sửa, tự chẩn đoán, tự test thật rồi báo anh 1 dòng — không hỏi lại anh những việc trong tầm tay. 2. Không được sài chung với ai: DB, port, tunnel, credential, token, link báo cáo. Thiếu thì tự dựng bản riêng (hoặc xin anh cấp), cấm mượn tạm của agent/dự án khác. 3. Cấm đụng dự án người khác (QCake, Chú Mập, ĐinCox, hệ thống Hermes) — kể cả đọc. Thấy cần đụng → dừng, báo anh. 4. Trước khi sửa: backup DB, xác định đúng ID workflow/container/DB, nhớ n8n lưu bản đang chạy ở workflow_history — sửa cả hai. 5. Execution success không có nghĩa là đã gửi thành công — phải đọc lại kết quả thật. 6. Chỉ hỏi anh khi: tiền thật · tài khoản/app/credential mới · phải đụng tài nguyên dùng chung · không chắc đối tượng sửa. Đọc kỹ hướng dẫn: <link hướng dẫn>

9. NHỮNG LỖI ĐÃ TỪNG XẢY RA (đừng lặp lại)


Tonny — 12/09/2026. Hướng dẫn này để gửi cho các agent; mỗi agent tự áp dụng cho phần của mình.

Team Digital Tonny · Báo cáo lưu vĩnh viễn — mỗi báo cáo một link riêng · 2026