create-openclaw-bot 4.1.0 → 4.1.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 CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [4.1.1] — 2026-04-01
6
+
7
+ ### Fixed
8
+
9
+ - **CLI setup**: Fixed `docker-compose.yml` generation syntax error for 9Router (`yaml: while scanning a simple key` issue) by using bash heredoc block scalars instead of single-line escaping for the `syncComboScript`.
10
+
5
11
  ## [4.1.0] — 2026-04-01
6
12
 
7
13
  ### 🚀 Stable 9Router Smart Routing
package/CHANGELOG.vi.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  Tất cả những thay đổi nổi bật của dự án sẽ được ghi chép trong file này.
4
4
 
5
+ ## [4.1.1] — 2026-04-01
6
+
7
+ ### Khắc phục
8
+
9
+ - **CLI setup**: Khắc phục lỗi sinh file `docker-compose.yml` định dạng sai khi dùng 9Router (lỗi báo `yaml: while scanning a simple key`) bằng cách đổi cách escape string `syncComboScript` sang kiểu heredoc block scalars của bash để tránh xung đột nháy kép/nháy đơn trong YAML.
10
+
5
11
  ## [4.1.0] — 2026-04-01
6
12
 
7
13
  ### 🚀 Stable 9Router Smart Routing
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-v4.1.0-0EA5E9?style=for-the-badge" alt="Version 4.1.0" /></a>
6
+ <a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v4.1.1-0EA5E9?style=for-the-badge" alt="Version 4.1.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>
@@ -119,7 +119,7 @@ The fastest way to install OpenClaw is using the interactive NPM package.
119
119
  2. Open this repo as workspace
120
120
  3. Paste into chat:
121
121
  ```text
122
- Read SETUP.md and set up OpenClaw v4.1.0 for me.
122
+ Read SETUP.md and set up OpenClaw v4.1.1 for me.
123
123
  My bot token is X, my 9Router proxy doesn't need a key.
124
124
  My project folder: <YOUR_PATH>
125
125
  ```
@@ -205,7 +205,7 @@ Yes! Re-run the Setup Wizard or manually edit <code>.openclaw/openclaw.json</cod
205
205
 
206
206
  <div align="center">
207
207
 
208
- [![Star History Chart](https://api.star-history.com/svg?repos=tuanminhhole/openclaw-setup&type=Date)](https://star-history.com/#tuanminhhole/openclaw-setup&Date)
208
+ [![Star History Chart](https://starchart.cc/tuanminhhole/openclaw-setup.svg?variant=adaptive)](https://starchart.cc/tuanminhhole/openclaw-setup)
209
209
 
210
210
  </div>
211
211
 
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-v4.1.0-0EA5E9?style=for-the-badge" alt="Version 4.1.0" /></a>
6
+ <a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v4.1.1-0EA5E9?style=for-the-badge" alt="Version 4.1.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>
@@ -118,7 +118,7 @@ Dùng NPX là cách cài chuẩn nhất:
118
118
  2. Mở repo này làm workspace
119
119
  3. Paste vào chat:
120
120
  ```text
121
- Read SETUP.md and install OpenClaw 4.1.0 for me.
121
+ Read SETUP.md and install OpenClaw 4.1.1 for me.
122
122
  My bot token is X, my 9Router proxy doesn't need a key.
123
123
  My project folder: <THƯ_MỤC_CỦA_BẠN>
124
124
  ```
@@ -208,7 +208,7 @@ API key chỉ lưu trên máy bạn. SETUP.md có các quy tắc bảo mật ngh
208
208
 
209
209
  <div align="center">
210
210
 
211
- [![Star History Chart](https://api.star-history.com/svg?repos=tuanminhhole/openclaw-setup&type=Date)](https://star-history.com/#tuanminhhole/openclaw-setup&Date)
211
+ [![Star History Chart](https://starchart.cc/tuanminhhole/openclaw-setup.svg?variant=adaptive)](https://starchart.cc/tuanminhhole/openclaw-setup)
212
212
 
213
213
  </div>
214
214
 
package/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { input, select, checkbox, confirm } from '@inquirer/prompts';
4
4
  import fs from 'fs-extra';
@@ -111,7 +111,11 @@ async function main() {
111
111
  message: isVi ? 'Chọn nền tảng bot:' : 'Select bot platform:',
112
112
  choices: Object.entries(CHANNELS).map(([k, v]) => ({ name: `${v.icon} ${v.name}`, value: k }))
113
113
  });
114
- const channel = CHANNELS[channelKey];
114
+ const channel = CHANNELS[channelKey];
115
+
116
+ if (channelKey === 'zalo-bot') {
117
+ console.log(chalk.yellow(`\n⚠️ ${isVi ? 'LƯU Ý: Zalo OA Bot yêu cầu phải thiết lập Webhook Public (qua VPS/ngrok có HTTPS). Hãy dùng Zalo Personal nếu bạn chưa có Webhook.' : 'NOTE: Zalo OA requires a Public Webhook (via VPS/ngrok with HTTPS). Use Zalo Personal if you do not have one.'}`));
118
+ }
115
119
 
116
120
  let botToken = '';
117
121
  if (channelKey !== 'zalo-personal') {
@@ -284,8 +288,16 @@ ${selectedSkills.includes('browser') ? ` extra_hosts:
284
288
  image: node:22-slim
285
289
  container_name: 9router-${agentId}
286
290
  restart: always
287
- entrypoint: >
288
- /bin/sh -c "npm install -g 9router && echo '${syncComboScript}' > /tmp/sync.js && (node /tmp/sync.js &) && exec 9router -n -t -l -H 0.0.0.0 -p 20128 --skip-update"
291
+ entrypoint:
292
+ - /bin/sh
293
+ - -c
294
+ - |
295
+ npm install -g 9router
296
+ cat << 'CLAWEOF' > /tmp/sync.js
297
+ ${syncComboScript.replace(/\$/g, '$$').replace(/\n/g, '\n ')}
298
+ CLAWEOF
299
+ node /tmp/sync.js > /tmp/sync.log 2>&1 &
300
+ exec 9router -n -t -l -H 0.0.0.0 -p 20128 --skip-update
289
301
  environment:
290
302
  - PORT=20128
291
303
  - HOSTNAME=0.0.0.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-openclaw-bot",
3
- "version": "4.1.0",
3
+ "version": "4.1.1",
4
4
  "description": "Interactive CLI installer for OpenClaw Bot",
5
5
  "main": "cli.js",
6
6
  "bin": {
package/setup.js CHANGED
@@ -258,6 +258,7 @@
258
258
  envKeys: [],
259
259
  envExtra: 'ZALO_BOT_TOKEN=<your_zalo_bot_token>',
260
260
  credSteps: [
261
+ { textVi: '<span style="color: #fbbf24; font-weight: 500;">⚠️ LƯU Ý: Bot OA Zalo đòi hỏi bạn phải thiết lập Webhook Public (qua VPS/ngrok có HTTPS). Hãy cân nhắc dùng Zalo Personal nếu bạn chưa có Webhook.</span>', textEn: '<span style="color: #fbbf24; font-weight: 500;">⚠️ NOTE: Zalo OA Bot requires setting up a Public Webhook (using VPS/ngrok with HTTPS). Consider using Zalo Personal if you do not have a webhook.</span>' },
261
262
  { textVi: 'Vào <a href="https://developers.zalo.me" target="_blank">Zalo Bot Platform</a> → Tạo bot mới → copy Bot Token', textEn: 'Go to <a href="https://developers.zalo.me" target="_blank">Zalo Bot Platform</a> → Create new bot → copy Bot Token' },
262
263
  ],
263
264
  channelConfig: {