create-openclaw-bot 5.3.5 → 5.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/CHANGELOG.vi.md +40 -0
- package/README.md +18 -17
- package/README.vi.md +114 -121
- package/cli.js +2114 -3295
- package/index.html +2 -1
- package/package.json +3 -1
- package/setup.js +5491 -4634
- package/style.css +40 -10
- package/start-chrome-debug.bat +0 -15
- package/start-chrome-debug.sh +0 -70
- package/tests/smoke-cli-logic.mjs +0 -584
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
# Changelog (English)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [5.4.1] — 2026-04-14
|
|
5
|
+
|
|
6
|
+
### 🐛 Docker CLI Generation Fixes
|
|
7
|
+
|
|
8
|
+
- **Browser Automation Restoration**: Reintroduced `xvfb` APT installation and the background Xvfb frame buffer execution (`Xvfb :99 -screen...`) to the generated Dockerfile `CMD`. This prevents headful Playwright processes from crashing on startup within the container.
|
|
9
|
+
- **REST API CORS Hotfix**: Reintroduced the runtime Internal IP injector script. It correctly patches `openclaw.json` at container startup strictly mapping Docker internal bridge IPs (`172...`) into `allowedOrigins`, eliminating 403 CORS blocks inside Docker Web Control UIs.
|
|
10
|
+
|
|
11
|
+
### 🧹 Automated Uninstall Scripts
|
|
12
|
+
|
|
13
|
+
- **Wizard UI Generation**: The HTML setup wizard now generates a matching `uninstall-openclaw-*.bat/sh` script when downloading the configuration for Native or Docker deployments.
|
|
14
|
+
- **Complete Cleanup**: The generated scripts cleanly kill 9Router/OpenClaw background processes, uninstall global npm packages, and safely remove the project and `.9router` data directories, allowing for a fresh start whenever needed.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [5.4.0] — 2026-04-14
|
|
18
|
+
|
|
19
|
+
### 🗑️ Remove: Telegram + Zalo Combo Channel
|
|
20
|
+
|
|
21
|
+
- **Deprecated and removed `telegram+zalo-personal` combo mode** from both the Web Wizard and CLI. The channel card is hidden in `index.html`, removed from `channels.js` and `data/index.js`, and all conditional logic has been purged from `controller.js`, `output.js`, `steps.js`, `multi-bot.js`, `win-bat.js`, `macos-sh.js`, `linux-sh.js`, `vps-sh.js`, `native-helpers-gen.js`, and `cli.src.js`. Combo mode will be redesigned in a future release.
|
|
22
|
+
|
|
23
|
+
### 🏗️ Refactor: Multi-Bot Architecture
|
|
24
|
+
|
|
25
|
+
- **Unified multi-bot flag** — `isTelegramMultiBot`, `isSharedMultiBot`, and `isMultiBotWizard` have all been merged into a single `isMultiBot` boolean throughout the codebase. Reduces complexity and eliminates divergent code paths.
|
|
26
|
+
- **Fixed `agentDir` path resolution** — `agentDir` in generated `openclaw.json` is now correctly set as `.openclaw/agents/{slug}/agent` (relative to `OPENCLAW_HOME`). Previously used an incorrect project-root-level `agents/{slug}/agent` path that caused double-prefix errors at runtime.
|
|
27
|
+
- **Removed redundant `agents/` root folder creation** — OS scripts no longer attempt to `mkdir agents/` at the project root; all agent files are created under `.openclaw/agents/`.
|
|
28
|
+
|
|
29
|
+
### 🧹 Config Generation Cleanup
|
|
30
|
+
|
|
31
|
+
- **Removed per-agent `auth-profiles.json` for 9Router/proxy mode** — When the provider is a proxy (9Router), per-agent `auth-profiles.json` is no longer generated. This file is only created for direct API providers where per-agent authentication is required.
|
|
32
|
+
- **Removed `.env` generation for native deployments** — Bot tokens and API keys for native mode are now managed via `openclaw channels login` / the 9Router dashboard. No `.env` is auto-generated in native scripts to avoid credential sprawl.
|
|
33
|
+
- **Removed per-agent `models.json` for Ollama (CLI)** — Ollama model config is already declared in `openclaw.json → agents.defaults.model`. The redundant per-agent `models.json` in `agents/{id}/agent/` is no longer generated.
|
|
34
|
+
|
|
35
|
+
### 🤝 Cross-Workspace Rules in AGENTS.md
|
|
36
|
+
|
|
37
|
+
- **Multi-bot `AGENTS.md` now includes a "Cross-Workspace" section** — In multi-bot (relay) mode, each bot's `AGENTS.md` receives a `🤝 Workspace Chéo (Multi-Agent)` / `🤝 Cross-Workspace (Multi-Agent)` section listing the workspace paths of sibling bots. Rules: bots may read each other's `IDENTITY`, `SOUL`, and `MEMORY` files for shared context; they must not delete or overwrite each other's workspace files without explicit user instruction.
|
|
38
|
+
|
|
39
|
+
### 🔧 win-bat.js Refactor
|
|
40
|
+
|
|
41
|
+
- **Extracted `appendGatewayStart()` and `appendDashboardInfo()` helpers** — Repeated PowerShell gateway launch and dashboard URL blocks are now deduplicated into two local helper functions inside `generateWinBat`, reducing the Windows batch generator by ~50 lines.
|
|
42
|
+
|
|
43
|
+
|
|
4
44
|
## [5.3.5] — 2026-04-12
|
|
5
45
|
|
|
6
46
|
### 🐛 Fix: MEMORY.md Syntax Error in Zalo Workspace Files
|
package/CHANGELOG.vi.md
CHANGED
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
# Changelog (Tiếng Việt)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [5.4.1] — 2026-04-14
|
|
5
|
+
|
|
6
|
+
### 🐛 Sửa Lỗi Build Dockerfile
|
|
7
|
+
|
|
8
|
+
- **Phục hồi hỗ trợ Trình duyệt**: Đưa trở lại gói lệnh cài đặt `xvfb` APT và việc thực thi Xvfb quay trong nền (`Xvfb :99 -screen...`) vào Dockerfile `CMD`. Nó giúp các bot chạy Playwright có giao diện headful khởi động mà không bị crash vì thiếu khung màn hình.
|
|
9
|
+
- **Sửa lỗi REST API CORS**: Khôi phục script tiêm dải IP nội bộ lúc runtime. Script này tự động lấy các bridge IP nội bộ của Docker (`172...`) để cấp phép vào mục `allowedOrigins` cho `openclaw.json` ngay lúc container khởi động, sửa hoàn toàn lỗi bị block CORS 403 không vào được Web UI.
|
|
10
|
+
|
|
11
|
+
### 🧹 Tự Động Tạo Script Gỡ Cài Đặt
|
|
12
|
+
|
|
13
|
+
- **Tính Năng Wizard UI**: Giao diện HTML wizard giờ đây sẽ tự động tải thêm một file script dọn dẹp hệ thống (`uninstall-openclaw-*.bat/sh`) mỗi khi tải file cài đặt cho Native hoặc Docker.
|
|
14
|
+
- **Dọn Dẹp Triệt Để**: Các script này giúp dừng sạch sẽ các tiến trình nền của 9Router/OpenClaw, gỡ cài đặt các gói npm toàn cầu và xoá an toàn thư mục project cũng như data `.9router`, giúp bạn làm sạch máy để cài đặt lại dễ dàng.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [5.4.0] — 2026-04-14
|
|
18
|
+
|
|
19
|
+
### 🗑️ Xóa: Kênh Combo Telegram + Zalo
|
|
20
|
+
|
|
21
|
+
- **Tạm ngưng và xóa chế độ `telegram+zalo-personal` khỏi cả Web Wizard lẫn CLI.** Card kênh bị ẩn trong `index.html`, xóa khỏi `channels.js` và `data/index.js`, toàn bộ logic điều kiện liên quan đã được dọn sạch khỏi `controller.js`, `output.js`, `steps.js`, `multi-bot.js`, `win-bat.js`, `macos-sh.js`, `linux-sh.js`, `vps-sh.js`, `native-helpers-gen.js` và `cli.src.js`. Combo mode sẽ được thiết kế lại trong bản phát hành tương lai.
|
|
22
|
+
|
|
23
|
+
### 🏗️ Tái cấu trúc: Kiến Trúc Multi-Bot
|
|
24
|
+
|
|
25
|
+
- **Gộp flag multi-bot** — `isTelegramMultiBot`, `isSharedMultiBot` và `isMultiBotWizard` đã được hợp nhất thành một biến `isMultiBot` duy nhất xuyên suốt codebase. Giảm độ phức tạp và loại bỏ các nhánh code phân kỳ.
|
|
26
|
+
- **Sửa đường dẫn `agentDir`** — `agentDir` trong `openclaw.json` được tạo ra nay được đặt đúng là `.openclaw/agents/{slug}/agent` (tương đối với `OPENCLAW_HOME`). Trước đây dùng đường dẫn sai ở root project gây lỗi double-prefix khi runtime.
|
|
27
|
+
- **Xóa thư mục `agents/` thừa ở gốc project** — OS scripts không còn cố tạo `mkdir agents/` ở root; toàn bộ file agent được tạo trong `.openclaw/agents/`.
|
|
28
|
+
|
|
29
|
+
### 🧹 Dọn Dẹp Config Generation
|
|
30
|
+
|
|
31
|
+
- **Xóa `auth-profiles.json` per-agent khi dùng 9Router/proxy** — Khi provider là proxy, không còn sinh per-agent `auth-profiles.json` nữa. File này chỉ được tạo cho các provider API trực tiếp khi cần xác thực riêng từng agent.
|
|
32
|
+
- **Xóa `.env` trong native deployment** — Token bot và API key cho native mode giờ được quản lý qua `openclaw channels login` / 9Router dashboard. Không còn tự sinh `.env` trong native scripts để tránh rò rỉ credentials.
|
|
33
|
+
- **Xóa `models.json` per-agent cho Ollama (CLI)** — Config model Ollama đã khai báo trong `openclaw.json → agents.defaults.model`. File `models.json` thừa trong `agents/{id}/agent/` không còn được sinh nữa.
|
|
34
|
+
|
|
35
|
+
### 🤝 Quy Tắc Cross-Workspace trong AGENTS.md
|
|
36
|
+
|
|
37
|
+
- **`AGENTS.md` multi-bot có thêm mục "Workspace Chéo"** — Ở chế độ multi-bot (relay), `AGENTS.md` của mỗi bot có thêm mục `🤝 Workspace Chéo (Multi-Agent)` liệt kê đường dẫn workspace của các bot anh em. Quy tắc: bot được phép đọc `IDENTITY`, `SOUL`, `MEMORY` của bot khác để hiểu ngữ cảnh chung; không được xóa hoặc ghi đè file workspace của bot khác trừ khi user yêu cầu rõ ràng.
|
|
38
|
+
|
|
39
|
+
### 🔧 Tái Cấu Trúc win-bat.js
|
|
40
|
+
|
|
41
|
+
- **Tách `appendGatewayStart()` và `appendDashboardInfo()` thành helper riêng** — Các đoạn code khởi động gateway PowerShell và in URL dashboard được lặp đi lặp lại đã được đóng gói vào 2 hàm helper cục bộ trong `generateWinBat`, giảm khoảng 50 dòng code.
|
|
42
|
+
|
|
43
|
+
|
|
4
44
|
## [5.3.5] — 2026-04-12
|
|
5
45
|
|
|
6
46
|
### 🐛 Sửa: Lỗi Syntax MEMORY.md trong Workspace Zalo
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# 🦞 OpenClaw Setup
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.
|
|
6
|
+
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.4.1-0EA5E9?style=for-the-badge" alt="Version 5.4.1" /></a>
|
|
7
7
|
<a href="https://github.com/tuanminhhole/openclaw-setup?tab=MIT-1-ov-file"><img src="https://img.shields.io/badge/LICENSE-MIT-success?style=for-the-badge" alt="MIT License" /></a>
|
|
8
8
|
<a href="https://www.npmjs.com/package/create-openclaw-bot"><img src="https://img.shields.io/npm/v/create-openclaw-bot?style=for-the-badge&label=CLI&color=2563EB&logo=npm&logoColor=white" alt="NPM Version" /></a>
|
|
9
9
|
<a href="https://github.com/tuanminhhole/openclaw-setup/stargazers"><img src="https://img.shields.io/github/stars/tuanminhhole/openclaw-setup?style=for-the-badge&color=eab308&logo=github&logoColor=white" alt="GitHub Stars" /></a>
|
|
@@ -24,20 +24,21 @@ An interactive **CLI tool** and **Setup Wizard** to deploy your own free AI Bot
|
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
## 🆕 What's new in v5.
|
|
27
|
+
## 🆕 What's new in v5.4.1
|
|
28
|
+
|
|
29
|
+
- 🏗️ **Multi-bot architecture refactored** — All duplicate flags (`isTelegramMultiBot`, `isSharedMultiBot`, `isMultiBotWizard`) merged into a single `isMultiBot`. Generated `agentDir` paths now correctly point to `.openclaw/agents/{slug}/agent` relative to `OPENCLAW_HOME`.
|
|
30
|
+
- 🗑️ **Telegram + Zalo combo channel removed** — Combo mode has been deprecated and removed from both the Web Wizard and CLI. It will be redesigned in a future release.
|
|
31
|
+
- 🤝 **Cross-workspace rules in `AGENTS.md`** — In multi-bot mode, each bot's `AGENTS.md` now includes a dedicated section describing which sibling workspace paths may be read and what write restrictions apply.
|
|
32
|
+
- 🧹 **Cleaner config generation** — Per-agent `auth-profiles.json` is no longer created for 9Router/proxy setups. Native scripts no longer generate `.env` files; credentials are managed via `openclaw channels login`.
|
|
33
|
+
|
|
34
|
+
<details>
|
|
35
|
+
<summary><b>Previous: What's new in v5.3.5</b></summary>
|
|
28
36
|
|
|
29
37
|
- 🐛 **Fix: Telegram token input missing in combo channel** — When selecting "Telegram + Zalo Personal", the wizard now shows the Telegram Bot Token input field AND the Zalo Personal warning side by side.
|
|
30
38
|
- 🐛 **Fix: Next button stuck on step 4 for combo** — Validation now correctly requires a Telegram token before enabling "Generate Configs" in combo mode.
|
|
31
39
|
- 🐛 **Fix: Windows Docker script crashes with "docker not recognized"** — The generated `.ps1` now uses `Get-Command` to locate Docker, checks that Docker Desktop is running, and calls it via `&` operator — works even when Docker isn't in the default PowerShell PATH.
|
|
32
40
|
- 🐛 **Fix: Zalo QR login instructions missing for combo in Windows script** — Post-install notes now show the `docker compose exec` login command when the combo channel is selected.
|
|
33
41
|
|
|
34
|
-
<details>
|
|
35
|
-
<summary><b>Previous: What's new in v5.3.0</b></summary>
|
|
36
|
-
|
|
37
|
-
- 📱 **Telegram + Zalo Personal together** — New combo channel option lets you run one bot on both Telegram **and** Zalo Personal simultaneously, from a single config. No separate setup needed.
|
|
38
|
-
- 🔌 **Auto-inject `zalouser` plugin** — When Zalo Personal is selected, the wizard now automatically adds `plugins.entries.zalouser` to `openclaw.json`, eliminating the most common Zalo "not configured" startup error.
|
|
39
|
-
- ⏱️ **Docker cold-start fix baked in** — Dockerfile CMD now includes a background 45-second trigger that forces Zalo channel initialization after Docker network is warm. No more manual `lastTouchedAt` hacks.
|
|
40
|
-
|
|
41
42
|
</details>
|
|
42
43
|
|
|
43
44
|
---
|
|
@@ -110,7 +111,7 @@ Run in your terminal → follow the interactive prompts → startup script is ge
|
|
|
110
111
|
2. Open this repo as your workspace
|
|
111
112
|
3. Paste into chat:
|
|
112
113
|
```
|
|
113
|
-
Read SETUP.md and set up OpenClaw v5.3.1 for me.
|
|
114
|
+
Read SETUP.md and set up OpenClaw v5.3.1 for me.
|
|
114
115
|
My bot token is X. Use 9Router (no API key).
|
|
115
116
|
My project folder: <YOUR_PATH>
|
|
116
117
|
```
|
|
@@ -123,18 +124,18 @@ Read SETUP.md and set up OpenClaw v5.3.1 for me.
|
|
|
123
124
|
|
|
124
125
|
### Without Docker (Native — recommended for Ubuntu/VPS)
|
|
125
126
|
|
|
126
|
-
| Requirement | Notes
|
|
127
|
-
| ----------------------- |
|
|
128
|
-
| **Node.js 20/22/24**
|
|
129
|
-
| **An AI provider** | 9Router (free) or Gemini/Claude/GPT-4o
|
|
130
|
-
| **Bot Token** | From Telegram BotFather or Zalo Developer
|
|
131
|
-
| **Ollama** _(optional)_ | Only if you want to run Gemma 4 locally · [Download](https://ollama.com/)
|
|
127
|
+
| Requirement | Notes |
|
|
128
|
+
| ----------------------- | -------------------------------------------------------------------------- |
|
|
129
|
+
| **Node.js 20/22/24** | [Download](https://nodejs.org/) · Check: `node -v` · Avoid Node 25 for now |
|
|
130
|
+
| **An AI provider** | 9Router (free) or Gemini/Claude/GPT-4o |
|
|
131
|
+
| **Bot Token** | From Telegram BotFather or Zalo Developer |
|
|
132
|
+
| **Ollama** _(optional)_ | Only if you want to run Gemma 4 locally · [Download](https://ollama.com/) |
|
|
132
133
|
|
|
133
134
|
### With Docker (recommended for Windows/macOS)
|
|
134
135
|
|
|
135
136
|
| Requirement | Notes |
|
|
136
137
|
| ------------------------------- | --------------------------------------------------------------------------------------------- |
|
|
137
|
-
| **Node.js 20/22/24**
|
|
138
|
+
| **Node.js 20/22/24** | [Download](https://nodejs.org/) · Check: `node -v` · Avoid Node 25 for now |
|
|
138
139
|
| **Docker Desktop + Compose V2** | [Download](https://www.docker.com/products/docker-desktop/) · Check: `docker compose version` |
|
|
139
140
|
| **An AI provider** | 9Router runs as a sidecar container — no separate install needed |
|
|
140
141
|
| **Bot Token** | From Telegram BotFather or Zalo Developer |
|
package/README.vi.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
3
|
# 🦞 OpenClaw Setup
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.
|
|
6
|
+
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.4.1-0EA5E9?style=for-the-badge" alt="Version 5.4.1" /></a>
|
|
7
7
|
<a href="https://github.com/tuanminhhole/openclaw-setup?tab=MIT-1-ov-file"><img src="https://img.shields.io/badge/LICENSE-MIT-success?style=for-the-badge" alt="MIT License" /></a>
|
|
8
8
|
<a href="https://www.npmjs.com/package/create-openclaw-bot"><img src="https://img.shields.io/npm/v/create-openclaw-bot?style=for-the-badge&label=CLI&color=2563EB&logo=npm&logoColor=white" alt="NPM Version" /></a>
|
|
9
9
|
<a href="https://github.com/tuanminhhole/openclaw-setup/stargazers"><img src="https://img.shields.io/github/stars/tuanminhhole/openclaw-setup?style=for-the-badge&color=eab308&logo=github&logoColor=white" alt="GitHub Stars" /></a>
|
|
@@ -24,27 +24,20 @@ Công cụ **CLI tương tác** và **Setup Wizard** để tự triển khai Bot
|
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
## 🆕 Có gì mới trong v5.
|
|
28
|
-
|
|
29
|
-
- 🐛 **Fix: Combo channel thiếu ô nhập Telegram Bot Token** — Khi chọn "Telegram + Zalo Personal", wizard giờ hiển thị cả ô nhập Telegram Token LẪN cảnh báo Zalo Personal.
|
|
30
|
-
- 🐛 **Fix: Nút Next bị kẹt ở bước 4 khi chọn combo** — Validation giờ yêu cầu đúng Telegram token trước khi kích hoạt "Generate Configs" ở combo mode.
|
|
31
|
-
- 🐛 **Fix: Script Windows Docker crash "docker not recognized"** — File `.ps1` được generate giờ dùng `Get-Command` để tìm Docker, kiểm tra Docker Desktop đang chạy, và gọi lệnh qua toán tử `&` — hoạt động kể cả khi Docker không có trong PATH mặc định của PowerShell.
|
|
32
|
-
- 🐛 **Fix: Thiếu hướng dẫn login Zalo QR cho combo trong script Windows** — Phần hướng dẫn sau cài đặt giờ hiển thị lệnh `docker compose exec` login khi chọn combo channel.
|
|
33
|
-
|
|
34
|
-
<details>
|
|
35
|
-
<summary><b>Trước đó: Có gì mới ở v5.3.0</b></summary>
|
|
27
|
+
## 🆕 Có gì mới trong v5.4.1
|
|
36
28
|
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
29
|
+
- 🏗️ **Tái cấu trúc kiến trúc multi-bot** — Các flag `isTelegramMultiBot`, `isSharedMultiBot`, `isMultiBotWizard` được gộp thành một biến `isMultiBot` duy nhất. Đường dẫn `agentDir` trong `openclaw.json` được tạo ra nay đúng chuẩn `.openclaw/agents/{slug}/agent` (tương đối với `OPENCLAW_HOME`).
|
|
30
|
+
- 🗑️ **Xóa hoàn toàn kênh combo Telegram + Zalo** — Combo mode đã được gỡ bỏ khỏi cả Web Wizard lẫn CLI. Sẽ được thiết kế lại trong bản phát hành sau.
|
|
31
|
+
- 🤝 **Quy tắc cross-workspace trong `AGENTS.md`** — Ở chế độ multi-bot, `AGENTS.md` của mỗi bot có thêm mục liệt kê đường dẫn workspace của các bot anh em và quy tắc phối hợp.
|
|
32
|
+
- 🧹 **Config sạch hơn** — Không còn tạo `auth-profiles.json` per-agent cho 9Router; không còn tạo `.env` cho native scripts; không còn tạo `models.json` per-agent cho Ollama.
|
|
40
33
|
|
|
41
34
|
<details>
|
|
42
|
-
<summary><b>Trước đó: Có gì mới ở v5.
|
|
35
|
+
<summary><b>Trước đó: Có gì mới ở v5.3.5</b></summary>
|
|
43
36
|
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
37
|
+
- 🐛 **Fix: Lỗi Syntax MEMORY.md trong Workspace Zalo** — Patch TOOLS.md trước đó được chèn sai vị trí, gây `SyntaxError` trên `setup.js`. Đã sửa.
|
|
38
|
+
- 🐟 **Cải tiến: Script gỡ cài đặt nằm trong thư mục project** — Tất cả 4 OS native + Docker ZIP đều có `uninstall-*.{bat,sh}` ngay trong thư mục project sau khi setup xong.
|
|
39
|
+
- 🐛 **Fix: Windows Docker script crashes với "docker not recognized"** — File `.ps1` được tạo giờ dùng `Get-Command` để tìm Docker, kiểm tra Docker Desktop đang chạy, và gọi lệnh qua toán tử `&` — hoạt động kể cả khi Docker không có trong PATH mặc định của PowerShell.
|
|
40
|
+
- 🐛 **Fix: Thiếu hướng dẫn login Zalo QR cho combo trong script Windows** — Phần hướng dẫn sau cài đặt giờ hiển thị lệnh `docker compose exec` login khi chọn combo channel.
|
|
48
41
|
|
|
49
42
|
</details>
|
|
50
43
|
|
|
@@ -58,176 +51,176 @@ Công cụ **CLI tương tác** và **Setup Wizard** để tự triển khai Bot
|
|
|
58
51
|
- 🧩 **Skills** — Web Search, Browser Automation, Memory, RAG, Code Interpreter, Image Gen
|
|
59
52
|
- 🔌 **Plugins** — Voice Call, Matrix, MS Teams, Nostr
|
|
60
53
|
- 🔀 **9Router** — AI proxy miễn phí với đăng nhập OAuth. Không cần API key. Hỗ trợ Claude Code, Codex, Gemini CLI.
|
|
61
|
-
- 🧙 **Setup Wizard** —
|
|
54
|
+
- 🧙 **Setup Wizard** — 5 bước trực quan trên trình duyệt (`index.html`). Không cần terminal.
|
|
62
55
|
- 💻 **CLI tương tác** — `npx create-openclaw-bot` — phù hợp cho Ubuntu, VPS, kỹ sư.
|
|
63
|
-
- 🆓 **
|
|
64
|
-
- 🔒 **Riêng tư** — API key lưu
|
|
65
|
-
- ⚡ **Nhanh** — Từ zero đến bot
|
|
56
|
+
- 🆓 **Miễn phí hoàn toàn để bắt đầu** — 9Router + Gemini free tier không tốn đồng nào
|
|
57
|
+
- 🔒 **Riêng tư** — API key chỉ lưu trên máy bạn, không gửi đi đâu
|
|
58
|
+
- ⚡ **Nhanh** — Từ zero đến bot chạy được trong dưới 5 phút
|
|
66
59
|
|
|
67
60
|
---
|
|
68
61
|
|
|
69
|
-
## 🗺️ Chọn
|
|
62
|
+
## 🗺️ Chọn cách triển khai
|
|
70
63
|
|
|
71
|
-
> **Không biết nên
|
|
64
|
+
> **Không biết nên dùng cách nào?** Bảng dưới đây sẽ giúp bạn:
|
|
72
65
|
|
|
73
|
-
| Bạn là ai
|
|
74
|
-
|
|
|
75
|
-
| Không quen terminal | Windows / macOS | **Web Wizard** (`index.html`)
|
|
76
|
-
| Không quen terminal | Ubuntu Desktop
|
|
77
|
-
| Quen terminal
|
|
78
|
-
| Muốn tự động hóa
|
|
66
|
+
| Bạn là ai | Môi trường | Cách được đề xuất |
|
|
67
|
+
| --- | --- | --- |
|
|
68
|
+
| Không quen terminal | Windows / macOS | **Web Wizard** (`index.html`) |
|
|
69
|
+
| Không quen terminal | Ubuntu Desktop | **Web Wizard** → chọn Native |
|
|
70
|
+
| Quen terminal | Ubuntu / VPS | **CLI** (`npx create-openclaw-bot`) |
|
|
71
|
+
| Muốn tự động hóa hoàn toàn | Bất kỳ | **AI Agent** (Antigravity + SETUP.md) |
|
|
79
72
|
|
|
80
|
-
### 1️⃣
|
|
73
|
+
### 1️⃣ Tùy chọn A — Web Wizard (không cần terminal)
|
|
81
74
|
|
|
82
|
-
|
|
75
|
+
Phù hợp nhất cho **Windows và macOS**. Không cần dòng lệnh.
|
|
83
76
|
|
|
84
|
-
1. [Tải
|
|
77
|
+
1. [Tải ZIP](https://github.com/tuanminhhole/openclaw-setup/archive/refs/heads/main.zip) hoặc clone repo này.
|
|
85
78
|
2. Mở `index.html` trong trình duyệt.
|
|
86
|
-
3. Làm theo **5 bước
|
|
87
|
-
- **Bước 1:** Chọn
|
|
79
|
+
3. Làm theo **wizard 5 bước**:
|
|
80
|
+
- **Bước 1:** Chọn OS (Windows / macOS / Ubuntu / VPS)
|
|
88
81
|
- **Bước 2:** Chọn kênh bot (Telegram / Zalo)
|
|
89
82
|
- **Bước 3:** Chọn AI provider và model
|
|
90
|
-
- **Bước 4:** Nhập
|
|
83
|
+
- **Bước 4:** Nhập bot token và cấu hình
|
|
91
84
|
- **Bước 5:** Tải script và chạy — xong!
|
|
92
|
-
4. Script
|
|
85
|
+
4. Script tải về sẽ tự cài đặt mọi thứ cần thiết (9Router, Ollama, Docker, v.v.) dựa trên lựa chọn của bạn.
|
|
93
86
|
|
|
94
|
-
> **
|
|
87
|
+
> **Docker hay không Docker?**
|
|
95
88
|
>
|
|
96
|
-
> - **Windows / macOS** →
|
|
97
|
-
> - **Ubuntu / VPS** →
|
|
89
|
+
> - **Windows / macOS** → Dùng **Docker** (cô lập hoàn toàn, dễ quản lý)
|
|
90
|
+
> - **Ubuntu / VPS** → Dùng **Native (không Docker)** (ít RAM hơn, ổn định hơn)
|
|
98
91
|
|
|
99
|
-
### 2️⃣
|
|
92
|
+
### 2️⃣ Tùy chọn B — CLI tương tác (`npx`)
|
|
100
93
|
|
|
101
|
-
|
|
94
|
+
Phù hợp nhất cho **kỹ sư, Ubuntu Desktop, VPS**. Nhanh và mạnh nhất.
|
|
102
95
|
|
|
103
96
|
```bash
|
|
104
97
|
npx create-openclaw-bot
|
|
105
98
|
```
|
|
106
99
|
|
|
107
|
-
Chạy
|
|
100
|
+
Chạy trong terminal → làm theo hướng dẫn → script khởi động được tạo tự động.
|
|
108
101
|
|
|
109
102
|
> Yêu cầu: **Node.js 20/22/24**. Kiểm tra: `node -v`
|
|
110
103
|
>
|
|
111
|
-
> Lưu ý: **
|
|
104
|
+
> Lưu ý: **tránh Node.js 25 hiện tại**. Có báo cáo OpenClaw gặp lỗi trên Node 25.
|
|
112
105
|
|
|
113
106
|
<details>
|
|
114
|
-
<summary><b>3️⃣
|
|
107
|
+
<summary><b>3️⃣ Tùy chọn C — AI Agent (Antigravity)</b></summary>
|
|
115
108
|
<br>
|
|
116
109
|
|
|
117
110
|
1. Mở [Antigravity IDE](https://antigravity.dev/)
|
|
118
111
|
2. Mở repo này làm workspace
|
|
119
112
|
3. Paste vào chat:
|
|
120
113
|
```
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
114
|
+
Đọc SETUP.md và cài đặt OpenClaw v5.4.1 cho tôi.
|
|
115
|
+
Bot token của tôi là X. Dùng 9Router (không cần API key).
|
|
116
|
+
Thư mục project: <ĐƯỜNG_DẪN_CỦA_BẠN>
|
|
124
117
|
```
|
|
125
118
|
|
|
126
119
|
</details>
|
|
127
120
|
|
|
128
121
|
---
|
|
129
122
|
|
|
130
|
-
## 📋 Yêu cầu
|
|
123
|
+
## 📋 Yêu cầu
|
|
131
124
|
|
|
132
|
-
### Không dùng Docker (Native —
|
|
125
|
+
### Không dùng Docker (Native — khuyến nghị cho Ubuntu/VPS)
|
|
133
126
|
|
|
134
|
-
| Yêu cầu
|
|
135
|
-
|
|
|
136
|
-
| **Node.js 20/22/24**
|
|
137
|
-
| **
|
|
138
|
-
| **Bot Token**
|
|
139
|
-
| **Ollama** _(
|
|
127
|
+
| Yêu cầu | Ghi chú |
|
|
128
|
+
| --- | --- |
|
|
129
|
+
| **Node.js 20/22/24** | [Tải](https://nodejs.org/) · Kiểm tra: `node -v` · Tránh Node 25 hiện tại |
|
|
130
|
+
| **AI provider** | 9Router (miễn phí) hoặc Gemini/Claude/GPT-4o |
|
|
131
|
+
| **Bot Token** | Từ Telegram BotFather hoặc Zalo Developer |
|
|
132
|
+
| **Ollama** _(tùy chọn)_ | Chỉ cần nếu muốn chạy Gemma 4 locally · [Tải](https://ollama.com/) |
|
|
140
133
|
|
|
141
|
-
### Dùng Docker (
|
|
134
|
+
### Dùng Docker (khuyến nghị cho Windows/macOS)
|
|
142
135
|
|
|
143
|
-
| Yêu cầu
|
|
144
|
-
|
|
|
145
|
-
| **Node.js 20/22/24**
|
|
146
|
-
| **Docker Desktop + Compose V2** | [Tải
|
|
147
|
-
| **
|
|
148
|
-
| **Bot Token**
|
|
136
|
+
| Yêu cầu | Ghi chú |
|
|
137
|
+
| --- | --- |
|
|
138
|
+
| **Node.js 20/22/24** | [Tải](https://nodejs.org/) · Kiểm tra: `node -v` · Tránh Node 25 hiện tại |
|
|
139
|
+
| **Docker Desktop + Compose V2** | [Tải](https://www.docker.com/products/docker-desktop/) · Kiểm tra: `docker compose version` |
|
|
140
|
+
| **AI provider** | 9Router chạy như container sidecar — không cần cài riêng |
|
|
141
|
+
| **Bot Token** | Từ Telegram BotFather hoặc Zalo Developer |
|
|
149
142
|
|
|
150
143
|
---
|
|
151
144
|
|
|
152
|
-
## 🧠
|
|
145
|
+
## 🧠 Các Provider AI được hỗ trợ
|
|
153
146
|
|
|
154
|
-
| Provider
|
|
155
|
-
|
|
|
156
|
-
| **9Router**
|
|
157
|
-
| **Google Gemini**
|
|
158
|
-
| **Ollama / Gemma 4** | 🏠 Miễn phí
|
|
159
|
-
| **Anthropic Claude** | 💰 Trả phí
|
|
160
|
-
| **OpenAI / Codex**
|
|
161
|
-
| **OpenRouter**
|
|
147
|
+
| Provider | Chi phí | API Key | Ghi chú |
|
|
148
|
+
| --- | --- | --- | --- |
|
|
149
|
+
| **9Router** | 🆓 Miễn phí | ❌ OAuth | Khuyến nghị cho người mới. Tự route đến model tốt nhất. Hỗ trợ Claude CLI, Codex, Gemini. |
|
|
150
|
+
| **Google Gemini** | 🆓 Free tier | ✅ Có | Chất lượng cao. Free tier rất rộng rãi. |
|
|
151
|
+
| **Ollama / Gemma 4** | 🏠 Miễn phí | ❌ Không | Chạy 100% offline. Tự pull model khi khởi động lần đầu. |
|
|
152
|
+
| **Anthropic Claude** | 💰 Trả phí | ✅ Có | Chất lượng suy luận và viết tốt nhất. |
|
|
153
|
+
| **OpenAI / Codex** | 💰 Trả phí | ✅ Có | GPT-4o, Codex Mini. |
|
|
154
|
+
| **OpenRouter** | 🆓/💰 Hỗn hợp | ✅ Có | Nhiều model chung một key. Một số miễn phí. |
|
|
162
155
|
|
|
163
|
-
> 🔀 **9Router v0.3.75+** hỗ trợ
|
|
156
|
+
> 🔀 **9Router v0.3.75+** hỗ trợ passthrough cho Claude Code, Codex, Gemini CLI, và Antigravity. Xem [docs/ai-providers.md](docs/ai-providers.md) để biết chi tiết.
|
|
164
157
|
|
|
165
158
|
---
|
|
166
159
|
|
|
167
|
-
## 🔌
|
|
160
|
+
## 🔌 Các kênh được hỗ trợ
|
|
168
161
|
|
|
169
|
-
- **Telegram** (✅
|
|
170
|
-
- **Zalo Bot API** (✅
|
|
171
|
-
- **Zalo Cá nhân** (⚠️
|
|
162
|
+
- **Telegram** (✅ Chính thức) — Tìm **@BotFather** → `/newbot` → Copy token.
|
|
163
|
+
- **Zalo Bot API** (✅ Chính thức) — Vào [developers.zalo.me](https://developers.zalo.me) → Tạo bot → Copy token.
|
|
164
|
+
- **Zalo Cá nhân** (⚠️ Không chính thức) — Quét QR sau khi cài (không cần token). Dùng tài khoản phụ.
|
|
172
165
|
|
|
173
|
-
> ⚠️ **Zalo Cá nhân** dùng
|
|
166
|
+
> ⚠️ **Zalo Cá nhân** dùng API không chính thức. Tài khoản có thể bị hạn chế. Chỉ dùng tài khoản phụ.
|
|
174
167
|
|
|
175
168
|
---
|
|
176
169
|
|
|
177
|
-
## 📁 Cấu trúc
|
|
170
|
+
## 📁 Cấu trúc Repo
|
|
178
171
|
|
|
179
172
|
```
|
|
180
|
-
index.html ←
|
|
181
|
-
style.css ← Giao diện
|
|
182
|
-
setup.js ← Logic
|
|
173
|
+
index.html ← Wizard UI (mở trên trình duyệt)
|
|
174
|
+
style.css ← Giao diện Wizard
|
|
175
|
+
setup.js ← Logic Wizard
|
|
183
176
|
cli.js ← CLI tương tác (npx create-openclaw-bot)
|
|
184
177
|
CHANGELOG.md/.vi.md ← Lịch sử phiên bản
|
|
185
|
-
README.md ←
|
|
186
|
-
README.vi.md ←
|
|
178
|
+
README.md ← Tiếng Anh
|
|
179
|
+
README.vi.md ← Bạn đang đọc (Tiếng Việt)
|
|
187
180
|
SETUP.md/.vi.md ← Hướng dẫn kỹ thuật cho AI Agent
|
|
188
181
|
docs/
|
|
189
|
-
install-docker.md/.vi.md ← Cài Docker theo
|
|
190
|
-
install-native.md/.vi.md ← Cài Native/PM2 theo
|
|
191
|
-
ai-providers.md/.vi.md ← Cấu hình
|
|
192
|
-
hardware-guide.md/.vi.md ←
|
|
182
|
+
install-docker.md/.vi.md ← Cài Docker theo OS
|
|
183
|
+
install-native.md/.vi.md ← Cài Native/PM2 theo OS
|
|
184
|
+
ai-providers.md/.vi.md ← Cấu hình AI provider
|
|
185
|
+
hardware-guide.md/.vi.md ← Yêu cầu RAM cho Ollama/Gemma 4
|
|
193
186
|
faq.md/.vi.md ← Câu hỏi thường gặp
|
|
194
187
|
```
|
|
195
188
|
|
|
196
|
-
> **Lưu ý:**
|
|
189
|
+
> **Lưu ý:** Script khởi động (`.bat`, `.sh`) **không có trong repo** — chúng được tạo bởi Web Wizard hoặc CLI dựa trên cấu hình của bạn.
|
|
197
190
|
|
|
198
191
|
---
|
|
199
192
|
|
|
200
193
|
## ❓ Câu hỏi thường gặp
|
|
201
194
|
|
|
202
195
|
<details>
|
|
203
|
-
<summary><b>
|
|
196
|
+
<summary><b>Có thực sự miễn phí không?</b></summary>
|
|
204
197
|
|
|
205
|
-
|
|
198
|
+
Có. Docker, Google Gemini API (free tier), và token bot Telegram/Zalo đều miễn phí. Bạn chỉ trả tiền nếu chọn AI provider trả phí như Claude hoặc GPT-4o.
|
|
206
199
|
|
|
207
200
|
</details>
|
|
208
201
|
|
|
209
202
|
<details>
|
|
210
203
|
<summary><b>Bot chạy ở đâu?</b></summary>
|
|
211
204
|
|
|
212
|
-
Trên máy hoặc server của bạn.
|
|
205
|
+
Trên máy tính hoặc server của bạn. Với Docker thì chạy trong container; với Native thì chạy như tiến trình PM2. Nếu máy tắt thì bot cũng tắt. Dùng VPS để bot chạy 24/7.
|
|
213
206
|
|
|
214
207
|
</details>
|
|
215
208
|
|
|
216
209
|
<details>
|
|
217
|
-
<summary><b>
|
|
210
|
+
<summary><b>Tôi có cần Docker không?</b></summary>
|
|
218
211
|
|
|
219
|
-
Không bắt buộc. Windows/macOS
|
|
212
|
+
Không bắt buộc. Docker chỉ là một tùy chọn. Người dùng Windows/macOS nên dùng Docker để cô lập sạch sẽ. Người dùng Ubuntu/VPS nên cài native với PM2 — ít tốn RAM hơn và OpenClaw đã bảo mật sẵn.
|
|
220
213
|
|
|
221
214
|
</details>
|
|
222
215
|
|
|
223
216
|
<details>
|
|
224
|
-
<summary><b>Làm sao
|
|
217
|
+
<summary><b>Làm sao dừng/khởi động lại bot?</b></summary>
|
|
225
218
|
|
|
226
219
|
**Docker:**
|
|
227
220
|
|
|
228
221
|
```bash
|
|
229
|
-
docker compose down #
|
|
230
|
-
docker compose up -d #
|
|
222
|
+
docker compose down # Dừng
|
|
223
|
+
docker compose up -d # Chạy
|
|
231
224
|
docker compose restart # Khởi động lại
|
|
232
225
|
```
|
|
233
226
|
|
|
@@ -242,66 +235,66 @@ pm2 restart openclaw-bot
|
|
|
242
235
|
</details>
|
|
243
236
|
|
|
244
237
|
<details>
|
|
245
|
-
<summary><b>
|
|
238
|
+
<summary><b>Tôi có thể đổi AI model sau không?</b></summary>
|
|
246
239
|
|
|
247
|
-
Có. Chạy lại `npx create-openclaw-bot` trong thư mục bot, hoặc sửa trực tiếp `.openclaw/openclaw.json`
|
|
240
|
+
Có. Chạy lại `npx create-openclaw-bot` trong thư mục bot, hoặc sửa trực tiếp `.openclaw/openclaw.json` và restart bot.
|
|
248
241
|
|
|
249
242
|
</details>
|
|
250
243
|
|
|
251
244
|
<details>
|
|
252
|
-
<summary><b>
|
|
245
|
+
<summary><b>Có an toàn không?</b></summary>
|
|
253
246
|
|
|
254
|
-
API key chỉ lưu trên máy
|
|
247
|
+
API key của bạn chỉ được lưu trên máy trong file `.env` cục bộ. OpenClaw không gửi chúng đi đâu. Khi dùng Ollama, toàn bộ AI chạy hoàn toàn offline.
|
|
255
248
|
|
|
256
249
|
</details>
|
|
257
250
|
|
|
258
251
|
<details>
|
|
259
252
|
<summary><b>9Router là gì?</b></summary>
|
|
260
253
|
|
|
261
|
-
9Router là AI proxy mã nguồn mở. Thay vì quản lý
|
|
254
|
+
9Router là AI proxy mã nguồn mở. Thay vì quản lý API key từ nhiều provider, bạn đăng nhập một lần qua OAuth tại `localhost:20128/dashboard`. Nó tự route request đến model AI tốt nhất hiện có. Từ v0.3.75, hỗ trợ passthrough cho Claude Code, Codex, Gemini CLI, và Antigravity.
|
|
262
255
|
|
|
263
256
|
</details>
|
|
264
257
|
|
|
265
258
|
<details>
|
|
266
259
|
<summary><b>Skills và Plugins khác nhau thế nào?</b></summary>
|
|
267
260
|
|
|
268
|
-
**Skills** thêm
|
|
261
|
+
**Skills** thêm khả năng cho agent (Web Search, Browser Automation, Memory, RAG, Code Interpreter...) — cài qua `openclaw skills install` từ ClawHub.
|
|
269
262
|
|
|
270
|
-
**Plugins** thêm kênh hoặc
|
|
263
|
+
**Plugins** thêm kênh hoặc extension runtime (Voice Call, Matrix, MS Teams...) — cài qua `openclaw plugins install` từ npm.
|
|
271
264
|
|
|
272
265
|
</details>
|
|
273
266
|
|
|
274
267
|
<details>
|
|
275
|
-
<summary><b>Cần bao nhiêu RAM
|
|
268
|
+
<summary><b>Cần bao nhiêu RAM cho Gemma 4?</b></summary>
|
|
276
269
|
|
|
277
|
-
| Model
|
|
278
|
-
|
|
|
279
|
-
| `gemma4:e2b` | ~4 GB
|
|
280
|
-
| `gemma4:e4b` | ~8 GB
|
|
281
|
-
| `gemma4:26b` | ~18 GB
|
|
282
|
-
| `gemma4:31b` | ~24 GB
|
|
270
|
+
| Model | RAM tối thiểu (Native) | RAM tối thiểu (Docker) |
|
|
271
|
+
| --- | --- | --- |
|
|
272
|
+
| `gemma4:e2b` | ~4 GB | ~5 GB |
|
|
273
|
+
| `gemma4:e4b` | ~8 GB | ~9 GB |
|
|
274
|
+
| `gemma4:26b` | ~18 GB | ~20 GB |
|
|
275
|
+
| `gemma4:31b` | ~24 GB | ~26 GB |
|
|
283
276
|
|
|
284
|
-
Xem
|
|
277
|
+
Xem [docs/hardware-guide.md](docs/hardware-guide.md) để biết thêm chi tiết kể cả cách cấu hình swap cho VPS.
|
|
285
278
|
|
|
286
279
|
</details>
|
|
287
280
|
|
|
288
281
|
---
|
|
289
282
|
|
|
290
|
-
## 🔗
|
|
283
|
+
## 🔗 Liên kết
|
|
291
284
|
|
|
292
285
|
- [OpenClaw Docs](https://openclaw.ai/docs)
|
|
293
286
|
- [9Router](https://github.com/decolua/9router)
|
|
294
|
-
- [Google AI Studio
|
|
287
|
+
- [Google AI Studio](https://aistudio.google.com/)
|
|
295
288
|
- [Telegram BotFather](https://t.me/BotFather)
|
|
296
289
|
- [Zalo Developer Platform](https://developers.zalo.me)
|
|
297
290
|
- [Docker Desktop](https://www.docker.com/products/docker-desktop/)
|
|
298
291
|
- [Ollama](https://ollama.com)
|
|
299
292
|
- [OpenRouter](https://openrouter.ai)
|
|
300
|
-
- [ClawHub (Skills
|
|
293
|
+
- [ClawHub (Skills)](https://clawhub.com)
|
|
301
294
|
|
|
302
295
|
---
|
|
303
296
|
|
|
304
|
-
## 📈
|
|
297
|
+
## 📈 Star History
|
|
305
298
|
|
|
306
299
|
<div align="center">
|
|
307
300
|
|
|
@@ -311,13 +304,13 @@ Xem chi tiết tại [docs/hardware-guide.vi.md](docs/hardware-guide.vi.md).
|
|
|
311
304
|
|
|
312
305
|
---
|
|
313
306
|
|
|
314
|
-
## 🙏
|
|
307
|
+
## 🙏 Lời cảm ơn
|
|
315
308
|
|
|
316
309
|
- [OpenClaw](https://openclaw.ai) — AI Gateway framework
|
|
317
|
-
- [9Router](https://github.com/decolua/9router) — AI proxy
|
|
318
|
-
- [Playwright](https://playwright.dev) —
|
|
310
|
+
- [9Router](https://github.com/decolua/9router) — Open-source AI proxy (OAuth-based, no API keys)
|
|
311
|
+
- [Playwright](https://playwright.dev) — Browser automation engine
|
|
319
312
|
- [ClawHub](https://clawhub.com) — Skills registry
|
|
320
|
-
- [TheSVG](https://thesvg.org) —
|
|
313
|
+
- [TheSVG](https://thesvg.org) — High-quality SVG brand icons
|
|
321
314
|
|
|
322
315
|
---
|
|
323
316
|
|