create-openclaw-bot 5.8.21 → 5.8.24
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/README.md +23 -18
- package/README.vi.md +22 -17
- package/dist/cli.js +36 -8
- package/dist/server/local-server.js +511 -461
- package/dist/setup/shared/bot-config-gen.js +41 -8
- package/dist/setup/shared/docker-gen.js +11 -9
- package/dist/web/app.js +73 -72
- package/package.json +1 -1
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.8.
|
|
6
|
+
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.8.24-0EA5E9?style=for-the-badge" alt="Version 5.8.24" /></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>
|
|
@@ -23,30 +23,35 @@ A next-generation **Web UI Setup** and management dashboard that automates 100%
|
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
|
-
## 🆕 What's New in v5.8.
|
|
26
|
+
## 🆕 What's New in v5.8.24
|
|
27
27
|
|
|
28
|
-
###
|
|
28
|
+
### 🔧 Fixes: Auto-update Launcher Version
|
|
29
29
|
|
|
30
|
-
- **
|
|
31
|
-
|
|
30
|
+
- **Fix: Cached Launcher Out-of-Sync**: Automatically detects if the running launcher (e.g. downloaded via `npx`) has a newer/different version than the cached installation inside `~/.openclaw-setup`, and automatically triggers an upgrade to match.
|
|
31
|
+
|
|
32
|
+
<details>
|
|
33
|
+
<summary><b>Previous: What's new in v5.8.23 (Memory Skill Integration)</b></summary>
|
|
34
|
+
|
|
35
|
+
- **New: Long-Term Memory & Skill Auto-Evolution (learning-memory)**: Pre-integrates the autonomous memory and learning skill from ClawHub.
|
|
36
|
+
- Automatically records newly learned facts, instructions, and user preferences into `MEMORY.md` in real-time.
|
|
37
|
+
- Enables agents to self-package and compile newly acquired behaviors and workflows into reusable `.js` and `SKILL.md` files directly within the `./skills/` folder, allowing the bot to organically evolve its capabilities.
|
|
38
|
+
- Implements OS-agnostic post-install triggers on all platforms (Docker, Windows, macOS, Linux) without requiring manual setup.
|
|
39
|
+
- **New: UI Skill Toggle**: Added the "Siêu Trí Nhớ Dài Hạn" (learning-memory) toggle option directly to the Setup Wizard interface with full installation logic support.
|
|
40
|
+
|
|
41
|
+
</details>
|
|
42
|
+
|
|
43
|
+
<details>
|
|
44
|
+
<summary><b>Previous: What's new in v5.8.22</b></summary>
|
|
45
|
+
|
|
46
|
+
- **Infographic Poster Generator Skill**: Integrates automatic infographic and poster generation via 9Router API. Automatically generates the helper script `image-generator.js` (synchronizing API credentials from `openclaw.json`) and a comprehensive `SKILL.md` guiding agents on styling rules, Vietnamese font support, layouts, and image generation syntax.
|
|
47
|
+
- **Zalo Sticker & Auto-Tag Skill**:
|
|
32
48
|
- Automatically mentions the active sender in group chats (Agent doesn't need to manually prefix with `@Name` anymore, the system handles it).
|
|
33
49
|
- Enables agents to dynamically send Zalo stickers by appending `[Sticker: <keyword>]` at the end of their text responses.
|
|
34
|
-
- Automatically maps emotional keywords (such as `love`, `haha`, `ca khia`, `angry`, `thank you`, etc.) to
|
|
50
|
+
- Automatically maps emotional keywords (such as `love`, `haha`, `ca khia`, `angry`, `thank you`, etc.) to Zalo sticker IDs.
|
|
35
51
|
- Generates the patch script `mentions.js` and a dedicated `SKILL.md` inside the agent's workspace.
|
|
36
|
-
- **Polish: Simplified TOOLS.md generation**: Streamlined the `TOOLS.md` generator to output a concise, static guide focusing on general principles and referencing the `./skills/` directory
|
|
52
|
+
- **Polish: Simplified TOOLS.md generation**: Streamlined the `TOOLS.md` generator to output a concise, static guide focusing on general principles and referencing the `./skills/` directory.
|
|
37
53
|
- **Polish: Standardized Reference Docs list in AGENTS.md**: Updated the reference docs list in the generated `AGENTS.md` (for both single and relay variants in Vietnamese and English) to match the new structure, removing obsolete files (`TEAMS.md` for single-bot, `BROWSER.md`) and standardizing descriptions to keep exactly 9 core documents.
|
|
38
54
|
|
|
39
|
-
<details>
|
|
40
|
-
<summary><b>Previous: What's new in v5.8.0 (Major Release)</b></summary>
|
|
41
|
-
|
|
42
|
-
- 🎨 **Modern Web UI Dashboard**: Completely replaces the legacy `index.html` static wizard and terminal-based manual setups with a highly intuitive, premium dark red/black themed web dashboard to install and manage bots.
|
|
43
|
-
- 🔀 **Centralized AI Proxy via 9Router**: The installer now relies exclusively on **9Router** as the unified AI gateway. Through 9Router's OAuth sign-in flow, you can easily route requests to free models (like Google Gemini free tier, Ollama local offline models) as well as premium paid models.
|
|
44
|
-
- 📊 **Process Controller**: Directly Start, Stop, or Recreate bot containers and processes via user-friendly dashboard buttons.
|
|
45
|
-
- 📑 **Real-Time Live Logs**: View real-time streaming console logs of your bot processes directly on the Web UI.
|
|
46
|
-
- 📁 **File Tree Editor**: Read, modify, and save configuration files (`openclaw.json`, `SOUL.md`, `AGENTS.md`) directly in the browser.
|
|
47
|
-
- 🔑 **Zalo QR Authorization**: Authorize Zalo Personal bots in seconds by scanning the Zalo login QR code rendered directly on the management dashboard.
|
|
48
|
-
- 🔄 **Smart Port Conflict Resolution**: Automatically scans and dynamically assigns unique network ports (`routerPort`) to avoid conflicts when launching multiple bot instances.
|
|
49
|
-
|
|
50
55
|
</details>
|
|
51
56
|
|
|
52
57
|
---
|
package/README.vi.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.8.
|
|
6
|
+
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.8.24-0EA5E9?style=for-the-badge" alt="Version 5.8.24" /></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>
|
|
@@ -23,30 +23,35 @@ Trình cài đặt và quản trị **Web UI Setup** thế hệ mới giúp tự
|
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
|
-
## 🆕 Có gì mới trong v5.8.
|
|
26
|
+
## 🆕 Có gì mới trong v5.8.24
|
|
27
27
|
|
|
28
|
-
###
|
|
28
|
+
### 🔧 Sửa lỗi: Tự động cập nhật phiên bản Launcher
|
|
29
29
|
|
|
30
|
-
- **
|
|
31
|
-
|
|
30
|
+
- **Sửa lỗi: Lệch phiên bản cache Launcher**: Tự động phát hiện nếu launcher đang chạy (tải qua `npx`) có phiên bản mới hơn hoặc khác với bản đang cache trong `~/.openclaw-setup` và tự nâng cấp tương ứng.
|
|
31
|
+
|
|
32
|
+
<details>
|
|
33
|
+
<summary><b>Trước đó: Có gì mới trong v5.8.23 (Tích hợp Skill Siêu Trí Nhớ)</b></summary>
|
|
34
|
+
|
|
35
|
+
- **Mới: Siêu Trí Nhớ Dài Hạn & Tự Đóng Gói Kỹ Năng (learning-memory)**: Tích hợp sẵn skill tự học và tự tiến hóa kỹ năng mới cho Agent.
|
|
36
|
+
- Tự động ghi nhận thông tin, kiến thức và chỉ dẫn mới từ người dùng vào file `MEMORY.md` để ghi nhớ lâu dài.
|
|
37
|
+
- Cho phép Agent tự đóng gói các quy trình làm việc hoặc logic mới học được thành mã nguồn `.js` và file hướng dẫn `SKILL.md` trực tiếp vào thư mục `./skills/`, giúp bot tự phát triển kỹ năng mà không cần lập trình viên can thiệp.
|
|
38
|
+
- Hỗ trợ chạy tự động script cài đặt (postinstall) mượt mà trên mọi nền tảng (Docker, Windows, macOS, Linux) ngay sau khi cài từ ClawHub.
|
|
39
|
+
- **Mới: Quản lý Skill trên UI**: Thêm nút bật/tắt và quản lý cài đặt skill "Siêu Trí Nhớ Dài Hạn" trực tiếp trên giao diện quản trị Web UI Setup.
|
|
40
|
+
|
|
41
|
+
</details>
|
|
42
|
+
|
|
43
|
+
<details>
|
|
44
|
+
<summary><b>Trước đó: Có gì mới trong v5.8.22</b></summary>
|
|
45
|
+
|
|
46
|
+
- **Hỗ trợ Skill Tạo ảnh Infographic chuyên nghiệp**: Tích hợp hoàn toàn công cụ tạo ảnh infographic, poster tự động thông qua API của 9Router. Tự động sinh mã nguồn script `image-generator.js` đồng bộ API credentials từ `openclaw.json` và hướng dẫn `SKILL.md` cụ thể giúp Agent nắm vững cấu trúc prompt, font chữ tiếng Việt, layout và quy tắc thiết kế ảnh.
|
|
47
|
+
- **Hỗ trợ Skill Sticker & Auto-Tag (Zalo)**:
|
|
32
48
|
- Tự động tag tên người gửi tin nhắn gần nhất trong group chat Zalo (Agent không cần tự điền `@Tên` ở đầu câu trả lời nữa, hệ thống sẽ tự làm).
|
|
33
49
|
- Cho phép Agent gửi kèm Sticker Zalo trực tiếp trong câu trả lời thông qua thẻ `[Sticker: <từ_khóa>]` đặt ở cuối tin nhắn.
|
|
34
50
|
- Tích hợp bộ giải nghĩa từ khóa cảm xúc thông minh (như `love`, `haha`, `ca khia`, `angry`, `thank you`,...) để tự động map sang sticker Zalo phù hợp.
|
|
35
51
|
- Tự động sinh script vá logic `mentions.js` và tài liệu hướng dẫn `SKILL.md` trong workspace.
|
|
36
|
-
- **Tối ưu hóa: Đơn giản hóa sinh file TOOLS.md**: Điều chỉnh generator của `TOOLS.md` để sinh ra nội dung tĩnh gọn gàng, tập trung định hướng Agent đọc chi tiết các tài liệu hướng dẫn skill tương ứng
|
|
52
|
+
- **Tối ưu hóa: Đơn giản hóa sinh file TOOLS.md**: Điều chỉnh generator của `TOOLS.md` để sinh ra nội dung tĩnh gọn gàng, tập trung định hướng Agent đọc chi tiết các tài liệu hướng dẫn skill tương ứng.
|
|
37
53
|
- **Tối ưu hóa: Chuẩn hóa danh sách Tài liệu tham chiếu trong AGENTS.md**: Cập nhật danh sách tài liệu tham chiếu được tạo trong file `AGENTS.md` (cho cả 2 chế độ single/relay và cả tiếng Việt/tiếng Anh) để khớp chính xác cấu trúc mới gồm đúng 9 tài liệu cốt lõi, loại bỏ các file không còn phù hợp (`TEAMS.md` cho single-bot, `BROWSER.md`) và chuẩn hóa phần mô tả.
|
|
38
54
|
|
|
39
|
-
<details>
|
|
40
|
-
<summary><b>Trước đó: Có gì mới trong v5.8.0 (Bản nâng cấp lớn)</b></summary>
|
|
41
|
-
|
|
42
|
-
- 🎨 **Giao diện Quản trị Web UI Mới**: Thay thế hoàn toàn các file tĩnh `index.html` và kịch bản dòng lệnh thủ công bằng một Dashboard cài đặt và quản lý bot cực kỳ trực quan với tone màu Dark Red/Black cao cấp.
|
|
43
|
-
- 🔀 **Hợp nhất Cấu hình AI qua 9Router**: Sử dụng duy nhất **9Router** làm Gateway AI Proxy trung tâm. Người dùng không cần cấu hình API key phức tạp hay thủ công cho từng provider nữa. Thông qua 9Router, bạn có thể dễ dàng quản lý và kết nối mọi nhà cung cấp AI từ miễn phí (Gemini free, Ollama offline) đến các mô hình trả phí (GPT-4o, Claude...) qua OAuth nhanh chóng.
|
|
44
|
-
- 📊 **Bảng điều khiển Tiến trình (Process Controller)**: Dễ dàng Bật (`Start`), Tắt (`Stop`), hoặc Tạo lại (`Recreate`) các bot container ngay trên giao diện Web.
|
|
45
|
-
- 📑 **Xem Log thời gian thực (Live Logs)**: Tích hợp trình xem nhật ký hoạt động trực tiếp (streaming logs) từ bot lên giao diện.
|
|
46
|
-
- 📁 **Trình quản lý File trực quan (File Tree Editor)**: Cho phép xem và chỉnh sửa trực tiếp các file cấu hình quan trọng như `openclaw.json`, `SOUL.md`, `AGENTS.md` ngay từ trình duyệt web.
|
|
47
|
-
- 🔑 **Đăng nhập Zalo QR trực tiếp**: Tích hợp luồng kích hoạt Zalo Personal bằng cách quét mã QR hiển thị ngay trên giao diện quản trị.
|
|
48
|
-
- 🔄 **Phân bổ Cổng Mạng thông minh**: Cơ chế tự động phát hiện cổng rảnh và gán cổng động (`routerPort`) giúp loại bỏ hoàn toàn xung đột mạng khi chạy nhiều bot trên cùng một máy.
|
|
49
|
-
|
|
50
55
|
</details>
|
|
51
56
|
|
|
52
57
|
---
|
package/dist/cli.js
CHANGED
|
@@ -57,9 +57,10 @@ const hostArg = args.find((arg) => arg.startsWith('--host='));
|
|
|
57
57
|
const portArg = args.find((arg) => arg.startsWith('--port='));
|
|
58
58
|
const projectDirArg = args.find((arg) => arg.startsWith('--project-dir='));
|
|
59
59
|
|
|
60
|
+
const fallbackDir = path.join(os.homedir(), 'openclaw-setup');
|
|
60
61
|
const defaultProjectDir = process.platform === 'win32'
|
|
61
|
-
? 'C:\\openclaw-setup'
|
|
62
|
-
:
|
|
62
|
+
? ((!fs.existsSync('C:\\openclaw-setup') && fs.existsSync(fallbackDir)) ? fallbackDir : 'C:\\openclaw-setup')
|
|
63
|
+
: fallbackDir;
|
|
63
64
|
|
|
64
65
|
let projectDir = projectDirArg ? projectDirArg.slice('--project-dir='.length) : defaultProjectDir;
|
|
65
66
|
|
|
@@ -69,7 +70,6 @@ if (!fs.existsSync(projectDir)) {
|
|
|
69
70
|
console.log(`Folder setup được tạo tại: ${projectDir}`);
|
|
70
71
|
} catch (err) {
|
|
71
72
|
if (err.code === 'EPERM' || err.code === 'EACCES') {
|
|
72
|
-
const fallbackDir = path.join(os.homedir(), 'openclaw-setup');
|
|
73
73
|
console.warn(`⚠️ Không có quyền tạo thư mục tại: ${projectDir}`);
|
|
74
74
|
console.log(`👉 Đang chuyển sang thư mục mặc định trong User Profile: ${fallbackDir}`);
|
|
75
75
|
try {
|
|
@@ -97,6 +97,8 @@ if (process.env.OPENCLAW_SETUP_WIZARD === 'true' || isLocalRepo()) {
|
|
|
97
97
|
} else {
|
|
98
98
|
const targetDirName = '.openclaw-setup';
|
|
99
99
|
const targetPath = path.join(os.homedir(), targetDirName);
|
|
100
|
+
const cliPath = path.join(targetPath, 'node_modules', 'create-openclaw-bot', 'dist', 'cli.js');
|
|
101
|
+
const shouldUpdate = args.includes('--update');
|
|
100
102
|
|
|
101
103
|
try {
|
|
102
104
|
if (!fs.existsSync(targetPath)) {
|
|
@@ -107,13 +109,39 @@ if (process.env.OPENCLAW_SETUP_WIZARD === 'true' || isLocalRepo()) {
|
|
|
107
109
|
fs.writeFileSync(pkgPath, JSON.stringify({ name: 'openclaw-setup-container', version: '1.0.0', private: true, dependencies: {} }, null, 2), 'utf8');
|
|
108
110
|
}
|
|
109
111
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
let needsInstall = !fs.existsSync(cliPath) || shouldUpdate;
|
|
113
|
+
let installSpec = 'create-openclaw-bot@latest';
|
|
114
|
+
|
|
115
|
+
try {
|
|
116
|
+
const runningPkgPath = path.join(__dirname, '..', 'package.json');
|
|
117
|
+
if (fs.existsSync(runningPkgPath)) {
|
|
118
|
+
const runningPkg = JSON.parse(fs.readFileSync(runningPkgPath, 'utf8'));
|
|
119
|
+
if (runningPkg.version) {
|
|
120
|
+
installSpec = `create-openclaw-bot@${runningPkg.version}`;
|
|
121
|
+
|
|
122
|
+
const installedPkgPath = path.join(targetPath, 'node_modules', 'create-openclaw-bot', 'package.json');
|
|
123
|
+
if (fs.existsSync(installedPkgPath)) {
|
|
124
|
+
const installedPkg = JSON.parse(fs.readFileSync(installedPkgPath, 'utf8'));
|
|
125
|
+
if (runningPkg.version !== installedPkg.version) {
|
|
126
|
+
console.log(`Version mismatch: Launcher is v${runningPkg.version}, but cached installation is v${installedPkg.version}.`);
|
|
127
|
+
needsInstall = true;
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
needsInstall = true;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
} catch (err) {}
|
|
135
|
+
|
|
136
|
+
if (needsInstall) {
|
|
137
|
+
console.log(`Checking/Installing Setup Wizard package (${installSpec}) in: ${targetPath}...`);
|
|
138
|
+
await runCmd('npm', ['install', installSpec, '--no-audit', '--no-fund'], { cwd: targetPath });
|
|
139
|
+
}
|
|
112
140
|
|
|
113
|
-
console.log('\
|
|
114
|
-
const
|
|
141
|
+
console.log('\nStarting Setup Wizard...');
|
|
142
|
+
const cleanArgs = args.filter((arg) => arg !== '--update');
|
|
115
143
|
|
|
116
|
-
const child = spawn(process.argv[0], [cliPath, ...
|
|
144
|
+
const child = spawn(process.argv[0], [cliPath, ...cleanArgs, `--project-dir=${projectDir}`], {
|
|
117
145
|
cwd: targetPath,
|
|
118
146
|
shell: false,
|
|
119
147
|
stdio: 'inherit',
|