create-openclaw-bot 5.2.3 → 5.3.3
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/.github/workflows/check-openclaw-update.yml +106 -0
- package/CHANGELOG.md +42 -0
- package/CHANGELOG.vi.md +34 -0
- package/README.md +11 -11
- package/README.vi.md +19 -11
- package/cli.js +3271 -2821
- package/index.html +11 -0
- package/package.json +1 -1
- package/setup.js +4550 -4074
- package/tests/smoke-cli-logic.mjs +10 -11
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
name: Check OpenClaw Version
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
# Run daily at 08:00 UTC (15:00 Vietnam time)
|
|
6
|
+
- cron: '0 8 * * *'
|
|
7
|
+
workflow_dispatch: # Allow manual trigger from GitHub Actions tab
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
check-version:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
permissions:
|
|
13
|
+
issues: write
|
|
14
|
+
contents: read
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- name: Checkout repo
|
|
18
|
+
uses: actions/checkout@v4
|
|
19
|
+
|
|
20
|
+
- name: Setup Node.js
|
|
21
|
+
uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: '22'
|
|
24
|
+
|
|
25
|
+
- name: Get pinned vs latest version
|
|
26
|
+
id: versions
|
|
27
|
+
run: |
|
|
28
|
+
# Extract pinned version from cli.js e.g. 'openclaw@2026.4.5'
|
|
29
|
+
PINNED=$(grep -oP "OPENCLAW_NPM_SPEC\s*=\s*'openclaw@\K[^']+" cli.js | head -1)
|
|
30
|
+
echo "pinned=$PINNED" >> $GITHUB_OUTPUT
|
|
31
|
+
|
|
32
|
+
# Get latest version from npm registry
|
|
33
|
+
LATEST=$(npm view openclaw version 2>/dev/null || echo "")
|
|
34
|
+
echo "latest=$LATEST" >> $GITHUB_OUTPUT
|
|
35
|
+
|
|
36
|
+
echo "Pinned in repo : $PINNED"
|
|
37
|
+
echo "Latest on npm : $LATEST"
|
|
38
|
+
|
|
39
|
+
- name: Check if update needed
|
|
40
|
+
id: check
|
|
41
|
+
run: |
|
|
42
|
+
PINNED="${{ steps.versions.outputs.pinned }}"
|
|
43
|
+
LATEST="${{ steps.versions.outputs.latest }}"
|
|
44
|
+
|
|
45
|
+
if [ -z "$LATEST" ]; then
|
|
46
|
+
echo "needs_update=false" >> $GITHUB_OUTPUT
|
|
47
|
+
echo "WARNING: Could not fetch latest version from npm"
|
|
48
|
+
exit 0
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
if [ "$PINNED" = "$LATEST" ]; then
|
|
52
|
+
echo "needs_update=false" >> $GITHUB_OUTPUT
|
|
53
|
+
echo "OK: Already on $PINNED"
|
|
54
|
+
else
|
|
55
|
+
echo "needs_update=true" >> $GITHUB_OUTPUT
|
|
56
|
+
echo "OUTDATED: pinned=$PINNED, latest=$LATEST"
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
- name: Check if issue already exists
|
|
60
|
+
id: existing
|
|
61
|
+
if: steps.check.outputs.needs_update == 'true'
|
|
62
|
+
env:
|
|
63
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
64
|
+
run: |
|
|
65
|
+
LATEST="${{ steps.versions.outputs.latest }}"
|
|
66
|
+
EXISTING=$(gh issue list --label "openclaw-update" --state open --json title -q ".[].title" | grep "$LATEST" | head -1)
|
|
67
|
+
if [ -n "$EXISTING" ]; then
|
|
68
|
+
echo "skip=true" >> $GITHUB_OUTPUT
|
|
69
|
+
echo "Issue already exists for $LATEST"
|
|
70
|
+
else
|
|
71
|
+
echo "skip=false" >> $GITHUB_OUTPUT
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
- name: Create GitHub Issue
|
|
75
|
+
if: steps.check.outputs.needs_update == 'true' && steps.existing.outputs.skip != 'true'
|
|
76
|
+
env:
|
|
77
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
78
|
+
run: |
|
|
79
|
+
PINNED="${{ steps.versions.outputs.pinned }}"
|
|
80
|
+
LATEST="${{ steps.versions.outputs.latest }}"
|
|
81
|
+
|
|
82
|
+
gh issue create \
|
|
83
|
+
--title "🔔 openclaw $LATEST available (pinned: $PINNED)" \
|
|
84
|
+
--label "openclaw-update" \
|
|
85
|
+
--body "## OpenClaw có phiên bản mới
|
|
86
|
+
|
|
87
|
+
| | Version |
|
|
88
|
+
|---|---|
|
|
89
|
+
| 📌 Đang dùng | \`$PINNED\` |
|
|
90
|
+
| 🆕 Mới nhất | \`$LATEST\` |
|
|
91
|
+
|
|
92
|
+
## Việc cần làm
|
|
93
|
+
|
|
94
|
+
1. Xem changelog tại: https://www.npmjs.com/package/openclaw?activeTab=versions
|
|
95
|
+
2. Test upgrade thủ công: \`npx create-openclaw-bot@latest upgrade\` tại thư mục bot
|
|
96
|
+
3. Kiểm tra các API mới / breaking changes trong phiên bản mới
|
|
97
|
+
4. Cập nhật \`OPENCLAW_NPM_SPEC\` trong \`cli.js\` và \`setup.js\`:
|
|
98
|
+
|
|
99
|
+
\`\`\`
|
|
100
|
+
const OPENCLAW_NPM_SPEC = 'openclaw@$LATEST';
|
|
101
|
+
\`\`\`
|
|
102
|
+
|
|
103
|
+
5. Chạy \`npm test\`, chạy \`/update\` để release bản mới của \`create-openclaw-bot\`
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
*Tự động phát hiện bởi [check-openclaw-update workflow](/.github/workflows/check-openclaw-update.yml)*"
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,48 @@
|
|
|
1
1
|
# Changelog (English)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [5.3.3] — 2026-04-11
|
|
5
|
+
|
|
6
|
+
### 🧹 Automated Uninstall Scripts
|
|
7
|
+
|
|
8
|
+
- **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.
|
|
9
|
+
- **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.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [5.3.2] — 2026-04-11
|
|
14
|
+
|
|
15
|
+
### 🐛 Windows Native — 9Router Launch Stability
|
|
16
|
+
|
|
17
|
+
- **Fix: Remove `-l` (stdin listen) flag from native 9Router launch** — `resolveNative9RouterDesktopLaunch()` previously passed `-l` which puts 9Router into interactive REPL mode. When spawned as a background process (no TTY), this caused the process to hang waiting for stdin input. Removed the flag; 9Router now starts reliably in the background on Windows, macOS desktop, and any non-VPS native flow.
|
|
18
|
+
- **Fix: Pre-seed `DATA_DIR/.9router/db.json` with `requireLogin: false` before 9Router starts** — If `db.json` does not exist when 9Router boots, it uses its own default path (`~/.9router`) and defaults `requireLogin` to `true`, causing the dashboard login wall. The CLI wizard now creates the `.9router` directory and writes a minimal `db.json` (with `requireLogin: false`) **before** spawning 9Router, matching the behavior of the fixed `setup-openclaw-win.bat` batch file.
|
|
19
|
+
- **No change to PM2/VPS flow** — The fix applies only to the desktop/background spawn path (`osChoice !== 'vps'`). VPS users still use the existing PM2-managed `startNative9RouterPm2` flow which is unaffected.
|
|
20
|
+
|
|
21
|
+
## [5.3.1] — 2026-04-10
|
|
22
|
+
|
|
23
|
+
### 🌟 Zalo Personal DM Policy
|
|
24
|
+
|
|
25
|
+
- **Open Zalo Inboxes**: The default `dmPolicy` for Zalo Personal deployments has been changed from `pairing` to `open`. This allows any user on the Zalo network to interact with the AI assistant immediately without requiring explicit device pairing approvals natively.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [5.3.0] — 2026-04-11
|
|
29
|
+
|
|
30
|
+
### 🆕 Multi-Channel: Telegram + Zalo Personal Simultaneously
|
|
31
|
+
|
|
32
|
+
- **Combo channel option** — New `telegram+zalo-personal` option in both CLI wizard (`select`) and web wizard (channel card). Selecting it configures a single bot to receive messages from both Telegram and Zalo Personal at the same time.
|
|
33
|
+
- **Auto-inject `plugins.entries.zalouser`** — When any Zalo Personal channel is selected, `openclaw.json` now automatically includes `plugins.entries.zalouser: { enabled: true }`, fixing the root cause of the "not configured" error on Zalo startup.
|
|
34
|
+
- **Docker cold-start fix in Dockerfile CMD** — A background `(sleep 45 && node -e '...touch historyLimit...')` script is now baked into the generated `Dockerfile` CMD. Triggers chokidar → gateway hot-reload → `restartChannel('zalouser')` after Docker network warms up. No more manual `lastTouchedAt` workarounds.
|
|
35
|
+
- **Helper predicates** — Added `hasTelegram(ck)` and `hasZaloPersonal(ck)` functions replacing all literal `channelKey === 'telegram/zalo-personal'` comparisons throughout `cli.js` for cleaner extensibility.
|
|
36
|
+
- **Smoke tests updated** — `tests/smoke-cli-logic.mjs` updated to match the new predicate-based assertions (78 checks passing).
|
|
37
|
+
|
|
38
|
+
## [5.2.4] — 2026-04-10
|
|
39
|
+
|
|
40
|
+
### 🐛 Bug Fixes & Developer Tooling
|
|
41
|
+
|
|
42
|
+
- **Fix: `docker compose build --no-cache` during upgrade** — Removed the `--no-cache` flag from the upgrade flow. Without it, Docker correctly reuses cached layers (including Playwright/Chromium ~300MB) and only rebuilds the `openclaw` layer that changed, making upgrades significantly faster.
|
|
43
|
+
- **UX: Upgrade CLI banner now matches upgrade.ps1/sh style** — `runUpgrade()` in `cli.js` now renders the same ╭╮╰╯ box using visual-width calculation (`vw()`) instead of plain `===` separators.
|
|
44
|
+
- **New: GitHub Actions workflow to auto-detect openclaw updates** — `.github/workflows/check-openclaw-update.yml` runs daily, compares the pinned `OPENCLAW_NPM_SPEC` in `cli.js` with the latest version on npm, and automatically creates a GitHub Issue with upgrade instructions if a new version is available.
|
|
45
|
+
|
|
4
46
|
## [5.2.3] — 2026-04-10
|
|
5
47
|
|
|
6
48
|
### 🐛 Bug Fixes & Encoding Improvements
|
package/CHANGELOG.vi.md
CHANGED
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
# Changelog (Tiếng Việt)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [5.3.3] — 2026-04-11
|
|
5
|
+
|
|
6
|
+
### 🧹 Tự Động Tạo Script Gỡ Cài Đặt
|
|
7
|
+
|
|
8
|
+
- **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.
|
|
9
|
+
- **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.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## [5.3.2] — 2026-04-11
|
|
14
|
+
|
|
15
|
+
### 🐛 Windows Native — Sửa Lỗi Khởi Động 9Router
|
|
16
|
+
|
|
17
|
+
- **Sửa: Bỏ flag `-l` (chế độ đọc stdin) khỏi lệnh launch 9Router** — `resolveNative9RouterDesktopLaunch()` trước đây truyền `-l` khiến 9Router chạy ở chế độ REPL tương tác. Khi chạy ẩn (không có TTY), tiến trình bị treo chờ stdin mà không bao giờ nhận được. Đã bỏ flag; 9Router giờ khởi động ổn định ở nền trên Windows, macOS desktop và mọi luồng native không phải VPS.
|
|
18
|
+
- **Sửa: Pre-seed `DATA_DIR/.9router/db.json` với `requireLogin: false` trước khi 9Router khởi động** — Nếu `db.json` chưa tồn tại khi 9Router khởi chạy, nó dùng đường dẫn mặc định của riêng mình (`~/.9router`) và đặt `requireLogin` là `true`, gây ra màn hình login khi mở dashboard. CLI wizard giờ tạo thư mục `.9router` và ghi sẵn `db.json` (với `requireLogin: false`) **trước** khi spawn 9Router, khớp với hành vi của file `setup-openclaw-win.bat` đã được sửa.
|
|
19
|
+
- **Không thay đổi luồng PM2/VPS** — Fix chỉ áp dụng cho path spawn nền của desktop (`osChoice !== 'vps'`). Người dùng VPS vẫn dùng luồng PM2 `startNative9RouterPm2` hiện tại, không bị ảnh hưởng.
|
|
20
|
+
|
|
21
|
+
## [5.3.1] — 2026-04-10
|
|
22
|
+
|
|
23
|
+
### 🌟 Đổi Chính Sách Bảo Mật Zalo Personal
|
|
24
|
+
|
|
25
|
+
- **Thả Ga Inbox Zalo Cầm Tay**: Lược bỏ rào cản duyệt bảo mật của Zalo Personal. Thông số `dmPolicy` trên cài đặt Zalo cá nhân đã được chuyển mặc định từ `pairing` sang `open`. Bây giờ bất cứ ai trên mạng lưới Zalo nhắn tin vào tài khoản của Bot đều sẽ được AI tự động tiếp đón ngay lập tức thay vì bị chặn lại chờ bạn duyệt lệnh kết nối E2E!
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [5.3.0] — 2026-04-11
|
|
29
|
+
|
|
30
|
+
### 🆕 Đa Kênh: Telegram + Zalo Personal Cùng Lúc
|
|
31
|
+
|
|
32
|
+
- **Tuỳ chọn kênh combo** — Thêm `telegram+zalo-personal` vào CLI wizard (menu `select`) và web wizard (channel card). Chọn option này để cấu hình 1 bot nhận tin nhắn từ cả Telegram **và** Zalo Personal cùng lúc trong 1 config duy nhất.
|
|
33
|
+
- **Tự inject `plugins.entries.zalouser`** — Khi chọn bất kỳ kênh Zalo Personal nào, `openclaw.json` giờ tự thêm `plugins.entries.zalouser: { enabled: true }`, xử lý nguyên nhân gốc rễ của lỗi "not configured" khi Zalo khởi động.
|
|
34
|
+
- **Fix cold-start Docker tích hợp sẵn** — Script nền `(sleep 45 && node -e '...touch historyLimit...')` giờ được baked thẳng vào Dockerfile CMD được generate. Kích hoạt chokidar → hot-reload gateway → `restartChannel('zalouser')` sau khi Docker network ổn định. Không cần hack `lastTouchedAt` thủ công nữa.
|
|
35
|
+
- **Helper predicates** — Thêm `hasTelegram(ck)` và `hasZaloPersonal(ck)` thay thế tất cả so sánh literal `channelKey === 'telegram/zalo-personal'` trong `cli.js` để dễ mở rộng sau này.
|
|
36
|
+
- **Cập nhật smoke tests** — `tests/smoke-cli-logic.mjs` cập nhật để match logic predicate mới (78 checks passing).
|
|
37
|
+
|
|
4
38
|
## [5.2.3] — 2026-04-10
|
|
5
39
|
|
|
6
40
|
### 🐛 Sửa lỗi & Cải thiện encoding
|
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.3.1-0EA5E9?style=for-the-badge" alt="Version 5.3.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,19 +24,19 @@ 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.3.1
|
|
28
28
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
29
|
+
- 🐛 **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
|
+
- 🐛 **Fix: Next button stuck on step 4 for combo** — Validation now correctly requires a Telegram token before enabling "Generate Configs" in combo mode.
|
|
31
|
+
- 🐛 **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
|
+
- 🐛 **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
33
|
|
|
34
34
|
<details>
|
|
35
|
-
<summary><b>Previous: What's new in v5.
|
|
35
|
+
<summary><b>Previous: What's new in v5.3.0</b></summary>
|
|
36
36
|
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
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
40
|
|
|
41
41
|
</details>
|
|
42
42
|
|
|
@@ -110,7 +110,7 @@ Run in your terminal → follow the interactive prompts → startup script is ge
|
|
|
110
110
|
2. Open this repo as your workspace
|
|
111
111
|
3. Paste into chat:
|
|
112
112
|
```
|
|
113
|
-
Read SETUP.md and set up OpenClaw v5.
|
|
113
|
+
Read SETUP.md and set up OpenClaw v5.3.1 for me.
|
|
114
114
|
My bot token is X. Use 9Router (no API key).
|
|
115
115
|
My project folder: <YOUR_PATH>
|
|
116
116
|
```
|
package/README.vi.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<div align="center">
|
|
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.3.1-0EA5E9?style=for-the-badge" alt="Version 5.3.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,19 +24,27 @@ 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.
|
|
27
|
+
## 🆕 Có gì mới trong v5.3.1
|
|
28
28
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
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>
|
|
36
|
+
|
|
37
|
+
- 📱 **Telegram + Zalo Personal cùng lúc** — Tuỳ chọn kênh combo mới cho phép chạy 1 bot trên cả Telegram **và** Zalo Personal cùng lúc, từ 1 config duy nhất. Không cần cài riêng.
|
|
38
|
+
- 🔌 **Tự cấu hình plugin `zalouser`** — Khi chọn Zalo Personal, wizard tự động thêm `plugins.entries.zalouser` vào `openclaw.json`, xử lý lỗi "not configured" phổ biến nhất khi khởi động Zalo.
|
|
39
|
+
- ⏱️ **Fix cold-start Docker tích hợp sẵn** — Dockerfile CMD giờ có script nền chạy sau 45 giây để kích hoạt kênh Zalo khi Docker network đã ổn định. Không cần hack `lastTouchedAt` thủ công nữa.
|
|
33
40
|
|
|
34
41
|
<details>
|
|
35
42
|
<summary><b>Trước đó: Có gì mới ở v5.2.3</b></summary>
|
|
36
43
|
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
44
|
+
- 🔄 **Upgrade 1 lệnh** — Chạy `npx create-openclaw-bot@latest upgrade` trong thư mục bot để cập nhật OpenClaw mà không cần chạy lại wizard. Tự động nhận diện Docker hay Native.
|
|
45
|
+
- 🪟 **Windows: double-click để upgrade** — File `upgrade.ps1` có sẵn trong repo. Nhấp đúp là xong — không cần biết terminal.
|
|
46
|
+
- 🐧 **Linux / macOS / Ubuntu** — `upgrade.sh` cho người dùng Unix. Chạy `bash upgrade.sh` hoặc pipe trực tiếp qua `curl` / `wget` từ GitHub.
|
|
47
|
+
- 🛡️ **Dữ liệu cũ giữ nguyên hoàn toàn** — `.env`, memory, sessions, credentials, OAuth token 9Router không bao giờ bị xoá khi upgrade.
|
|
40
48
|
|
|
41
49
|
</details>
|
|
42
50
|
|
|
@@ -110,7 +118,7 @@ Chạy lệnh trên trong Terminal → làm theo các prompt tương tác → sc
|
|
|
110
118
|
2. Mở repo này làm workspace
|
|
111
119
|
3. Paste vào chat:
|
|
112
120
|
```
|
|
113
|
-
Read SETUP.md and set up OpenClaw v5.
|
|
121
|
+
Read SETUP.md and set up OpenClaw v5.3.1 for me.
|
|
114
122
|
My bot token is X. Use 9Router (no API key).
|
|
115
123
|
My project folder: <THƯ_MỤC_CỦA_BẠN>
|
|
116
124
|
```
|