Website giới thiệu: https://deplaoapp.com/
🌐 Language: 🇻🇳 Tiếng Việt | 🇬🇧 English
Zaplo là desktop app Electron + React + TypeScript giúp đội nhóm bán hàng, marketing, chăm sóc khách hàng quản lý nhiều tài khoản Zalo & Facebook trong một giao diện duy nhất. Tích hợp CRM, AI & Agent hub tự động, Kho bài & rải lịch, Auto-comment, Workflow kéo-thả, ERP nội bộ, và không giữ dữ liệu trên cloud — mọi thứ lưu cục bộ máy bạn.
📥 Tải xuống | ⚙️ Yêu cầu | 📦 Cài đặt | ✨ Tính năng | 🚀 Hướng dẫn | 🔒 Bảo mật | 📝 MIT
|
Zaplo-Setup-26.8.0.exe |
Zaplo-26.8.0-arm64.dmg |
|
Zaplo-26.8.0.AppImage |
Zaplo-26.8.0-arm64-mac.zip |
⚠️ Lưu ý khi mở file cài đặt (bị chặn bởi Windows / macOS / Linux)
Do Zaplo chưa được ký chứng chỉ (code signing) - nói thẳng ra là nghèo, nên hệ điều hành có thể hiển thị cảnh báo khi mở file. Bạn có thể làm theo hướng dẫn dưới đây:
Khi mở file .exe, Windows có thể hiển thị cảnh báo "Windows protected your PC":
👉 Cách xử lý:
- Nhấn More info
- Chọn Run anyway
Khi mở file .dmg, macOS có thể báo "cannot be opened because it is from an unidentified developer"
👉 Cách xử lý:
Cách 1:
- Chuột phải vào file → chọn Open
- Nhấn Open lần nữa
Cách 2 (nếu vẫn bị chặn):
- Vào System Settings → Privacy & Security
- Kéo xuống phần Security
- Nhấn Open Anyway
Sau khi tải file .AppImage:
chmod +x Zaplo-*.AppImage
./Zaplo-*.AppImageNếu gặp lỗi "FUSE: fuse2 not available", cài
libfuse2:sudo apt install libfuse2
Hoặc cài bản .deb:
sudo dpkg -i Zaplo_*_amd64.deb| Tiêu chí | Yêu cầu |
|---|---|
| Hệ điều hành | Windows 10/11, macOS 10.13+, Ubuntu 20.04+ |
| Node.js | 20+ (khuyến nghị 22+) |
| npm | 9+ |
| RAM | 2GB tối thiểu, 4GB khuyến nghị |
| Kết nối | Internet 24/7 để đồng bộ chat & automation |
npm install --legacy-peer-depsnpm run devLệnh này sẽ:
- Chạy Vite dev server (cổng 27799)
- Build & watch TypeScript cho Electron
- Khởi động Electron app (tự refresh khi code thay đổi)
npm run productionLệnh này sẽ:
- Build E2EE bridge (nếu có)
- Compile TypeScript tối ưu cho production
- Build Vite renderer (gzip, tree-shake, obfuscate)
- Đóng gói qua electron-builder
- Output:
dist-electron-build/chứa các file.exe(Windows),.dmg(macOS),.AppImage/.deb(Linux)
# Chỉ build Electron (TypeScript)
npm run build:electron
# Chỉ build Renderer (HTML + CSS + JS)
npm run build:renderer
# Patch icon (chỉnh sửa icon cho Electron)
npm run patch-icon
# Build E2EE bridge (tùy chọn)
npm run build:bridge-e2ee- Database: SQLite file
zaplo-tool.db(lưu trên máy, có thể đổi đường dẫn trong Settings) - Media: Folder
~/media/chứa ảnh, video, file tải xuống - Cookies & Settings: Lưu qua electron-store (không lộ trên cloud)
flowchart LR
subgraph SRC["📁 Source Code"]
E("⚡ electron/\n*.ts")
S("🔧 services/\n*.ts")
R("🎨 src/ui/\n*.tsx")
end
subgraph COMPILE["🔨 Compile"]
TSC("tsc\ntsconfig.electron")
VITE("vite build\n+ Tailwind CSS")
end
subgraph OUT["📦 Output"]
DE("dist-electron/\nmain · services · ipc")
D("dist/\nindex.html · assets")
end
subgraph PKG["🚀 Đóng gói"]
EB(("electron\nbuilder"))
WIN("🪟 Windows\n.exe / dir")
MAC("🍎 macOS\n.dmg arm64")
LIN("🐧 Linux\n.AppImage · .deb")
end
E & S --> TSC --> DE
R --> VITE --> D
DE & D --> EB --> WIN & MAC & LIN
mindmap
root((🖥️ Zaplo))
⚙️ Main Process
📡 IPC Handlers
login · zalo · crm
workflow · erp · sync
facebook · relay · file
🔧 Services
DatabaseService
WorkspaceManager
WorkflowEngine
CRMQueueService
HttpConnectionManager
FileStorageService
AIAssistantService
🎨 Renderer
⚛️ React Pages
Dashboard
Chat & Inbox
CRM & Campaign
Workflow Editor
POS & Tích hợp
ERP · Settings
🗃️ Zustand State
accountStore
chatStore
workspaceStore
employeeStore
📱 Giao thức Zalo
zca-js
QR Login
Cookie Session
WebSocket realtime
🌐 External APIs
OpenAI · Google Sheets
Telegram · Discord
KiotViet · Haravan · Sapo
GHN · GHTK
flowchart TB
subgraph BOSS["🖥️ Máy BOSS — Local Workspace"]
BZ("📱 Zalo / FB\nAccounts")
BSV("🔧 Services\nCRM · ERP · AI · Workflow")
BSD[("🗄️ SQLite DB\n+ Media Files")]
BRL("🔁 Relay Server\nExpress + WebSocket :9900")
end
subgraph NET["🌐 Kết nối"]
LAN("🏠 LAN\n192.168.x.x:9900")
WAN("🌍 Tunnel / VPN\ntruy cập từ xa")
end
subgraph EMP["💻 Nhân Viên — Remote Workspace"]
EA("📲 Zaplo App\nEmployee Mode")
EP("🔐 Permission Filter\nerp · crm · workflow · ...")
EU("👁️ UI\nchỉ thấy TK được gán")
end
BZ --> BSV
BSV <--> BSD
BSV --> BRL
BRL <-->|HTTP + WS| LAN & WAN
LAN <-->|IPC relay| EA
WAN <-->|IPC relay| EA
EA --> EP --> EU
EP -.->|forward request| BRL
Nhân viên vẫn có workspace riêng (DB, media) trên máy. Do Zalo chỉ cho phép 1 kết nối cùng lúc, mọi request Zalo được relay về Boss để xử lý theo quyền đã cấp.
flowchart LR
subgraph ACCS["👤 Tài khoản"]
Z1("Zalo #1\nzca-js")
Z2("Zalo #2\nzca-js")
ZN("Zalo #N\nzca-js")
FB("Facebook\nGraph API")
end
subgraph STORE["💾 Lưu trữ cục bộ"]
DB[("🗄️ SQLite\nzaplo-tool.db\nmessages · contacts\ncrm · workflow · erp")]
MED("📁 FileStorage\n~/media/\nảnh · video · file")
ES("🔑 electron-store\ncookies · tokens\nsettings")
end
subgraph WS["🗂️ Workspace Manager"]
WA("🏠 Local WS\nDefault")
WB("🌐 Remote WS\nBoss")
WC("⚙️ Custom WS\npath tuỳ chỉnh")
end
Z1 & Z2 & ZN & FB -->|"tin nhắn · danh bạ"| DB
Z1 & Z2 & ZN & FB -->|"ảnh · video · file"| MED
ES -->|"cookie session"| Z1 & Z2 & ZN
DB & ES <-->|"path resolve\nswitch workspace"| WS
WA & WB & WC -.-|"mỗi WS = DB riêng"| DB
Mỗi Workspace có DB + media folder độc lập — đổi hoặc di chuyển sang ổ đĩa khác không mất dữ liệu.
Desktop app quản lý Zalo + Facebook cho đội nhóm bán hàng & marketing. Tất cả chức năng chạy cục bộ, không đẩy dữ liệu lên cloud.
5 tầng chức năng:
- Trung tâm Zalo — nhiều tài khoản, inbox gộp, chat nhanh
- Trung tâm Facebook — đăng bài, auto-comment, quản lý nhóm
- Trợ lý AI & Agent Hub — AI gợi ý, Agent đăng bài đa kênh, Agent chat tự động
- CRM + Kho bài & Lịch nội dung — quản lý liên hệ, lưu bài viết, rải lịch & lô bài
- Tự động hoá & ERP — workflow kéo-thả, phân quyền nhân viên, báo cáo
- Đa tài khoản — đăng nhập không giới hạn, chuyển đổi nhanh
- Inbox gộp — chế độ gộp nhiều tài khoản vào 1 hộp thư duy nhất
- Chat đầy đủ — văn bản, ảnh, video, file, emoji, sticker, reply, tag thành viên
- Mẫu tin (Quick messages) — lưu mẫu, gọi nhanh bằng từ khóa
- Poll & Ghi chú nhóm — tạo bình chọn, ghi chú chung trong group
- Quét thành viên & khách mới — quét thành viên nhóm, nhóm chưa tham gia
- Soạn & Đăng bài — đăng lên tường hoặc nhiều nhóm cùng lúc
- Nhập nhóm từ CSV — quản lý nhiều nhóm, tải danh sách từ file
- Auto-Comment — tự động bình luận theo lịch trên các bài
- Lịch nội dung — xem & quản lý lịch đăng trên cả Zalo & Facebook
- Kho bài chung — lưu bài viết dùng chung 2 kênh (Zalo + Facebook)
-
🧠 Trợ lý AI (AI Assistant)
- Gợi ý trả lời thông minh trong chat Zalo & Facebook
- Hỏi đáp trực tiếp với AI ngay trong khung chat
- Hỗ trợ OpenAI, Claude, Gemini, 9router (AI gateway local)
-
✒️ Agent đăng bài đa kênh
- Tạo Agent tự động đăng bài lên Zalo nhóm + Facebook
- Rải lịch ngẫu nhiên hoặc cố định trong khung giờ
- AI sinh nhiều biến thể bài (A/B testing)
- Lấy ảnh từ Thư viện ảnh tự động
-
💬 Agent chat
- Chatbot trả lời khách 24/7 trên Zalo & Facebook
- Kết nối workflow tự động hoá
- 🗂️ Kho bài (Post Store) — lưu bài viết, ảnh, tạo chủ đề
- 🖼️ Thư viện ảnh — quản lý ảnh dùng lại, gắn tag, tìm kiếm
- 📅 Lịch nội dung & Rải bài
- Xây dựng lịch nội dung 7-30 ngày
- Rải bài ngẫu nhiên hoặc cố định giờ
- Nhóm yêu thích — đánh dấu nhóm hay dùng, truy cập nhanh
- Đồng bộ bạn bè, liên hệ, hồ sơ từ Zalo
- Tạo & quản lý nhãn (label) hai chiều với Zalo
- Ghi chú nội bộ, lịch sử tương tác
- Campaign gửi tin hàng loạt, mời vào nhóm, kết bạn
- Lọc liên hệ theo tiêu chí để chăm sóc nhóm khách
- Kéo-thả Trigger → Node → Action không cần code
- Hoặc dùng AI tạo Workflow bằng câu lệnh tiếng Việt
- Trigger: tin nhắn, nhãn, react, lịch cron, sự kiện nhóm
- Action: gửi tin, gửi ảnh/file, quản lý nhóm, mute, recall, forward
- Tích hợp: Logic, Google Sheets, AI, Telegram, Discord, Email, Notion, HTTP Request
- Lịch sử chạy để debug dễ dàng
- Theo dõi tin nhắn, liên hệ, campaign, workflow, hiệu suất nhân viên
- Biểu đồ & số liệu realtime
- Export dữ liệu (CSV, Excel)
- Task, Calendar, Notes cho nội bộ
- Mô hình Boss ↔ Nhân viên
- Boss quản lý từ máy chính (workspace chính)
- Nhân viên kết nối qua LAN hoặc WAN (Cloudflare Tunnel / Localtunnel)
- Nhân viên thấy được các tài khoản được gán, không được phép truy cập tài khoản khác
- Boss theo dõi hiệu suất & phân quyền theo module (zalo, facebook, crm, workflow, erp...)
- POS: KiotViet, Haravan, Sapo, Nhanh.vn, Pancake POS
- Vận chuyển: GHN, GHTK
- Thanh toán: Google Sheets, API tùy chỉnh
- Khác: Discord, Telegram, Email, Notion
- Proxy per-account — gán proxy riêng cho từng tài khoản Zalo
- Không upload cloud — mọi dữ liệu lưu cục bộ máy, kiểm soát hoàn toàn
- QR Code login — không lưu mật khẩu, Cookie mã hóa
Bước 1: Vào 💙 Zalo — Đăng bài nhóm (sidebar)
Bước 2: Chọn tab 📝 Soạn & Đăng
- Viết nội dung bài
- Chọn ảnh từ 🖼️ Thư viện ảnh hoặc tải lên
- Chọn một hoặc nhiều nhóm từ danh sách
Bước 3: Chọn tab 👥 Nhóm Zalo để:
- Xem danh sách nhóm của bạn
- Đánh dấu ⭐ Nhóm yêu thích (lần sau sẽ ở trên cùng)
Bước 4: Chọn tab 📅 Lịch nội dung để:
- Xem lịch đã đăng 7-30 ngày
- Xây dựng kế hoạch đăng bài
- Rải bài ngẫu nhiên hoặc cố định giờ trong khung (ví dụ: 08:00–20:00, cách 2 tiếng)
✨ Bonus: Dùng ✒️ Agent đăng bài ở Hub để tạo Agent tự động rải bài mỗi ngày.
Bước 1: Vào 📘 Facebook — Đăng bài & Tương tác (sidebar)
Bước 2: Đăng nhập tài khoản Facebook (bằng Cookie, không phải mật khẩu)
Bước 3: Tab 📝 Đăng bài
- Soạn nội dung
- Chọn đăng lên tường cá nhân hoặc nhóm (đơn hoặc hàng loạt)
- Click Đăng
Bước 4: Tab 💬 Auto-Comment
- Cấu hình tự động bình luận trên bài của bạn hoặc bài khác
- Đặt lịch hoặc kích hoạt trigger
- App sẽ tự comment theo cấu hình
Bước 5: Xem lịch 📅 Lịch nội dung (chung với Zalo)
Bước 1: Vào 🤖 AI & Agent Hub (sidebar)
Bước 2: Tab 🧠 Trợ lý AI
- Chọn AI provider (OpenAI, Claude, Gemini, 9router)
- Nhập API key (nếu cần)
- Cấu hình prompt & tính cách
Bước 3: Tab ✒️ Agent đăng bài
- Tạo Agent mới
- Cấu hình lịch & kênh (Zalo nhóm, Facebook)
- Chọn Kho bài (post store) làm nguồn nội dung
- Hoặc AI tự sinh bài nếu có cấu hình
- Agent sẽ tự rải bài theo lịch
Bước 4: Tab 💬 Agent chat
- Tạo Agent trả lời khách tự động
- Kết nối Workflow để xử lý logic phức tạp
Bước 1: Vào 💙 Zalo — Đăng bài nhóm → 🗂️ Kho bài
Bước 2: Click + Tạo bài viết mới
- Viết tiêu đề & nội dung gốc
- Hoặc Dùng AI sinh: click nút AI, nhập prompt (ví dụ: "Tạo 5 bài về skincare ngắn gọn, bắt mắt")
- AI sẽ sinh ra 5 biến thể khác nhau
Bước 3: Review & lưu từng bài
Bước 4: Dùng bài này trong Agent đăng bài để tự động rải
zaplo/
├── electron/ # Main process Electron
│ ├── main.ts # Khởi động app
│ ├── preload.ts # IPC bridge
│ └── ipc/ # IPC handlers (Zalo, Facebook, CRM, Workflow...)
├── src/
│ ├── services/ # Business logic
│ │ ├── facebook/ # Facebook login, post, comment, variations
│ │ ├── database/ # SQLite operations
│ │ ├── schedule/ # Content calendar, spread posts
│ │ └── ...
│ └── ui/ # React components
│ ├── components/
│ │ ├── posting/ # Group posting (Zalo: compose, groups, calendar, pillars, images, store)
│ │ ├── facebook-write/ # Facebook (post, groups, comment, auto-reply, agent)
│ │ ├── agent-hub/ # AI Assistant, Agent posting, Agent chat
│ │ └── ...
│ └── pages/
├── dist-electron/ # Compiled Electron & services
├── dist/ # Compiled React renderer
└── dist-electron-build/ # Packaged binaries (output of npm run production)
| Lớp | Công nghệ |
|---|---|
| Desktop | Electron 41, Node.js 20+ |
| Frontend | React 18, TypeScript 5, Vite 6 |
| Styling | Tailwind CSS 3, PostCSS |
| State | Zustand |
| UI Components | React Flow, Recharts, Quill (rich text), React Router |
| Database | SQLite + better-sqlite3 |
| Encrypted Storage | electron-store (cookie, settings) |
| Zalo Integration | zca-js (QR login, WebSocket, API) |
| Facebook Integration | fbchat-v2 (cookie-based), Graph API |
| Scheduling | node-cron |
| AI | OpenAI API, Claude API, Gemini API, 9router |
| Integrations | Google Sheets, Google APIs, Telegram, Discord, Notion, Email, HTTP Fetch |
| Utilities | Axios, node-cron, bcryptjs, jsonwebtoken, lodash, uuid, xlsx |
Các màn hình được sắp theo luồng sử dụng: Dashboard → Chat → CRM → Workflow → POS / Báo cáo.
| Nhóm | Mô tả |
|---|---|
| Shop online | Chốt đơn, trả lời khách nhanh qua Zalo nhiều tài khoản |
| Marketing agency | Quản lý nhiều tài khoản khách hàng, rải lịch nội dung |
| SME / Khởi nghiệp | Kết hợp chat, CRM, automation, báo cáo trong 1 app |
| Freelancer | Quản lý client, gửi tin hàng loạt, lên lịch |
| Spa / Phòng khám / F&B | Chăm sóc khách định kỳ, gửi tin nhắc (appointment, promo) |
| Đội bán hàng | Boss quản lý nhân viên, phân quyền, theo dõi hiệu suất |
✅ Local-first architecture — Mọi dữ liệu lưu cục bộ máy, không upload cloud
| Tiêu chí | Cách thực hiện |
|---|---|
| Chat, danh bạ, CRM | SQLite cục bộ |
| Ảnh, video, file | Folder ~/media/ cục bộ |
| Zalo cookie | Mã hóa qua electron-store |
| Đăng nhập | QR Code (không lưu mật khẩu) |
| Thay đổi storage | Dễ dàng chuyển folder sang ổ đĩa khác |
KHÔNG commit hoặc push:
.envfiles (API keys, tokens)- Cookie files / session files
node_modules/(ngoại trừ khi publish release)- Private API keys hoặc credentials
Cách làm:
# Tạo .gitignore nếu chưa có
echo ".env" >> .gitignore
echo ".env.local" >> .gitignore
echo ".env.*.local" >> .gitignore- Internet 24/7 — cần ổn định để đồng bộ chat, webhook, automation
- Để app chạy liên tục — nếu dùng Workflow hoặc vận hành đội nhóm
- Backup dữ liệu — định kỳ backup folder
~/media/vàzaplo-tool.dbnếu quan trọng
Mọi đóng góp, issue report, và pull request đều được hoan nghênh!
- Báo lỗi (Bug report): GitHub Issues
- Yêu cầu tính năng (Feature request): GitHub Discussions
- Pull request: Fork repo, commit code, tạo PR với mô tả rõ ràng
Zaplo được xây dựng dựa trên những dự án tuyệt vời:
Cảm ơn các tác giả & cộng đồng 💙
Zaplo được phân phối dưới giấy phép MIT.
Xem file LICENSE để biết chi tiết.
| Kênh | Link |
|---|---|
| GitHub Issues | andyluu98/zaplo/issues |
| Website | deplaoapp.com |
| babyvibe@users.noreply.github.com |
Made with ❤️ for teams who want to own their data.