Movi Super WorkPlace Core

Telegram Bot Architecture

Khám phá quy trình tương tác đa tầng (Multi-stage AI Pipeline) giúp hệ thống thấu hiểu và thực thi các mệnh lệnh ngôn ngữ tự nhiên từ người dùng.

Quy Trình Xử Lý Chuẩn

Một pipeline 4 bước biến một câu lệnh nhập nhằng thành một tác vụ chính xác.

🎯

1. AI Routing

Đọc yêu cầu từ người dùng(qua telegram), đoán ý định (Intent Matching) và định tuyến chính xác tới các Function đang có trên hệ thống.

💬

2. Input Extraction

Từ yêu cầu được định tuyến, tách rõ ra các input cần thiết cho Workflow(nếu có).

⚙️

3. Native Execution

Khi đã có đầy đủ thông tin, AI gọi hàm Workflow để xử lý tương ứng (AWS, Cloudflare, Jenkins...).

🧠

4. AI Analysis

Thu thập raw Stdout/Stderr từ hệ thống, gửi lại cho AI để phân tích theo yêu cầu (nếu có).

Hệ Sinh Thái Commands

Phân tích chi tiết ranh giới giữa [Gọi AI xử lý][Hệ thống tự xử lý bằng code] cho từng Module.

☁️
AWS Automation
AI Routing AI Extract AI Analysis
Mô hình tiêu chuẩn toàn diện nhất. Gọi Gemini API liên tục để thấu hiểu và phân tích.
User: "Check log trên PerHub và xem có lỗi liên quan tới file upload không, lastrow: 3"
[Gọi AI Router] Map với Aws Workflow 'AWS-GET-LOG-PERHUB'
[Gọi AI Router] Đọc đoạn hội thoại, trích xuất (Extract) tên tham số: lastrow = 3
[Swift Native] Khởi chạy aws ecs execute-command
[Gọi AI Router] Đưa Log Terminal cho AI phân tích lỗi bằng Tiếng Việt
🛢️
SQL AI Assistant
AI Routing Text-to-SQL YOLO Mode
Sinh câu truy vấn tự động và cung cấp Session xác nhận cho các lệnh nguy hiểm (UPDATE/DELETE).
User: "Cập nhật status user 1 thành Active ở crm_db"
[Gọi AI Router] Rẽ nhánh vào module SQL AI
[Swift Detect] Quét Regex tìm tên Connection: 'crm_db'
[Gọi AI Router] Dựa trên Database Schema, dịch Text thành SQL
[Pending Context] Nếu là query UPDATE/DELETE, hệ thống khởi tạo YOLO Confirmation qua Session
[Swift Native] Chạy query sau khi user xác nhận và trả kết quả
📚
Business Document Chat
AI Routing RAG Engine Pending Upload
Hệ thống hỏi đáp nội bộ và tự động phát hiện luồng Upload tài liệu nếu user cần thêm ngữ cảnh mới.
User: "Upload file PDF quy định phạt đi trễ thư mục HR"
[Gọi AI Router] Định tuyến vào Module Document Chat
[Swift Detect] Tự quét chữ 'HR' map thư mục, hoặc chờ user chọn thư mục
[Pending Context] Chờ user upload Document / PDF cho thư mục vừa chọn
[Swift Native] Trích xuất dữ liệu file, tạo Vector Embedding lưu vào CSDL
[Gọi AI Router] Gen câu trả lời dựa trên nội dung tài liệu vừa tìm hoặc upload
🌐
Cloudflare Deploy
AI Routing Interactive Session
Tương tác Multi-stage để khai thác thông tin Application, Target và file Archive một cách có tuần tự.
User: "Deploy ứng dụng mới lên Cloudflare"
[Gọi AI Router] Chuyển hướng lệnh cho Cloudflare Deploy
[Pending Context] Hỏi user triển khai lên Worker hay Page (Awaiting Target)
[Pending Context] Hỏi tên ứng dụng (Awaiting App Name) hoặc chọn từ danh sách
[Pending Context] Đòi file ZIP mã nguồn (Awaiting Archive)
[Swift Native] Đẩy bản build lên Cloudflare API sau khi xác nhận (Deploy Confirmation)
🤖
Website Automation Testing
AI Routing Pending Context AI Template
Tương tác kiểm thử tự động, cho phép chọn bản ghi, nhận file testcase (CSV), hoặc yêu cầu AI sinh testcase tự động.
User: "/record_runner"
[Gọi AI Router] Định tuyến vào Automation Record Runner
[Swift Native] Lấy danh sách bản ghi, hiển thị Keyboard Menu cho user chọn
[Pending Context] Chờ user upload file CSV testcase hoặc chọn AI tự động sinh dữ liệu
[Gọi AI Router] (Tùy chọn) AI sinh file CSV từ yêu cầu / template có sẵn
[Swift Native] Đẩy file CSV sang Automation engine chạy và xuất kết quả
🚀
Jenkins Deploy
AI Fuzzy Match Confirmation
Dùng AI để tìm kiếm tên dự án khá thông minh, nhưng việc xác nhận và Build đều chạy bằng code thuần tuý.
User: "Deploy backend Perhub"
[Gọi AI Router] Tìm kiếm Fuzzy Match để liên kết Text với Jenkins Job ID
[Swift Tự Detect] Khởi tạo Interactive Session, bắt buộc user gõ "xác nhận" (Không gọi AI)
[Swift Native] Gửi tín hiệu build qua Access API
📝
Convert to Markdown
AI Routing Direct CLI
Xử lý convert bằng Script local.
User: [Gửi link youtube / file docx]
[Gọi AI Router] Xác nhận đây là chức năng Convert Document
[Swift Tự Detect] Đọc thông tin File đính kèm hoặc URL Message
[Swift Native] ProcessClient chạy MarkItDown CLI ngầm
📋
BI System Log Fetcher
AI Routing AI Summary
Lấy log hệ thống từ máy chủ nội bộ bằng HTTP. AI đóng vai trò Filter để đọc và tóm tắt HTML hỗn loạn.
User: "/log_etl"
[Gọi AI Router] Rẽ nhánh lệnh yêu cầu System Log
[Swift Native] Gọi HTTP Fetch lấy mã nguồn raw HTML từ webhook server
[Gọi AI Router] Tóm tắt tiến trình và giải thích lỗi cho người dùng
🖥️
GCloud VM Status / Start / Stop
AI Routing Native Exec Manual Target
Lệnh thuần CLI cho vòng đời VM. AI hỗ trợ chọn đúng function, còn Swift parse instance name/zone và gọi gcloud.
User: "/gcloud_vm_status" hoặc "/gcloud_vm_start api-vm asia-southeast1-b"
[Gọi AI Router] Rẽ nhánh vào Module GCloud
[Swift Native] Gọi gcloud compute instances list
[Swift Detect] Với start/stop, parse <instance-name><zone> từ command text
[Swift Native] Gọi gcloud compute instances start|stop rồi gửi kết quả về Telegram
📄
Website Docs Builder
AI Routing Interactive Session AI Content
Tạo tài liệu từ website menu, URL bổ sung, template và placeholder; phù hợp khi user cần xuất tài liệu có cấu trúc từ nội dung web.
User: "/website_docs_builder https://example.com"
[Gọi AI Router] Định tuyến vào Website Docs Builder thuộc Website Automation
[Pending Context] Hỏi/chọn website menu, URL bổ sung, template và placeholder còn thiếu
[Gọi AI Router] Tổng hợp nội dung phù hợp với template tài liệu
[Swift Native] Xuất artifact và gửi file/link kết quả qua Telegram
📓
NotebookLM Automation
AI Routing Inline Keyboard CLI Artifact
Tạo NotebookLM từ PDF, URL, TXT, Markdown, DOCX, PPTX hoặc image rồi chạy Studio artifact như Slide Deck, Video Overview, Infographic.
User: "/notebooklm"
[Gọi AI Router] Rẽ nhánh vào NotebookLM automation
[Pending Context] Chọn source type, upload file hoặc nhập URL, chọn Studio feature và format
[Swift Detect] Validate extension, MIME type và size trước khi xử lý file Telegram
[Swift Native] Gọi NotebookLM CLI, poll artifact, gửi file hoặc link R2 nếu vượt ngưỡng Telegram

Hướng Dẫn Cấu Hình Trong Settings

Bot chỉ chạy command khi cấu hình token, user allowlist, menu module và quyền function đều hợp lệ.

1. Configuration & Notifications

  1. Mở Settings → Configuration → Notifications → Telegram Notifications.
  2. Nhập Bot Token, giá trị được lưu vào Keychain dưới key TELEGRAM_BOT_TOKEN.
  3. Nhập Admin User IDs, cách nhau bằng dấu phẩy. Nếu TELEGRAM_ADMIN_USER_IDS trống, mọi incoming command đều bị reject.
  4. Điều chỉnh Command PollUpdate Batch Limit nếu cần thay đổi tần suất đọc update từ Telegram.
  5. Dùng Telegram Check → Detect User ID để bắt user ID từ message mới nhất, rồi Send Test tới admin user đã chọn trước khi bật workflow thật.

2. Permission Stack Khi Execute

1
Admin allowlist

User ID phải nằm trong TELEGRAM_ADMIN_USER_IDS.

2
Global Function Commands

Bật/tắt từng action trong Telegram Bot Control menu bar, mục Function Commands

3
Menu Modules

Nếu module bị ẩn trong Settings → Menu Modules các Telegram action thuộc module đó cũng bị disable.

4
Per-user Function Permissions

Trong Telegram Notifications, bấm Function Permissions → Manage để giới hạn action theo từng admin user.

3. Menu Modules & AI Provider

Settings → Menu Modules hiển thị từng module, số Telegram command tương ứng và lựa chọn AI provider nếu module hỗ trợ AI. Đây là lớp visibility của sidebar, đồng thời là kill-switch cho command thuộc module bị ẩn.

4. Lưu Ý Vận Hành

  • Các command có side effect như Jenkins deploy, Cloudflare deploy, AWS workflow, SQL write, GCloud start/stop cần confirmation hoặc quyền rõ ràng trước khi chạy.
  • Inline keyboard luôn có fallback nhập tay: user có thể chọn bằng button hoặc gõ số thứ tự, tên, command tương đương.
  • Secret/token chỉ lưu qua Settings/Keychain, không hardcode trong Swift source và không đưa vào log.

Phạm Vi Module & Telegram Commands

Danh sách toàn bộ sidebar modules hiện có, tách rõ module đã expose qua Telegram và module chỉ dùng trong app.

☁️

GCloud

Google Cloud CLI wrapper.

Check VM Status Start GCloud VM Stop GCloud VM
🟧

AWS

AWS CLI ECS workflow runner.

AWS Automation
🌩️

Cloudflare

R2, Workers & Pages management.

Cloudflare Workers & Pages
🚀

Jenkins Deploy

Build and deploy pipeline collections.

Jenkins Deploy
🗄️

SQL AI-Assistant

AI chat for MySQL, Postgres, SQL Server, and Oracle.

SQL AI Assistant
💬

Business Document Chat

AI chat over business documents.

Business Document Chat
📑

Docs to Markdown

Document conversion.

Convert to Markdown
🤖

Website Automation

Website testing and NotebookLM Studio automation.

Record Runner Website Docs Builder NotebookLM
📊

Bi-System Log Monitor

Daily BI log viewer.

Get BI-ETL-SYSTEM Get BI-ZEPP-SYSTEM
🎮

Telegram Bot Control

Admin bot command center.

Quản lý bot, không phải business command
🔌

Auto Port Forward

SSH tunnel profiles.

Chưa expose qua Telegram
⌨️

SSH Command Center

Interactive SSH sessions.

Chưa expose qua Telegram
🌐

Web Embedded

Configurable embedded web pages.

Chưa expose qua Telegram
📰

Daily Worker News

Scheduled AI website digests.

Chưa expose qua Telegram
📦

Project Packages Manager

GitHub package projects.

Chưa expose qua Telegram