create-openclaw-bot 5.7.3 → 5.7.5
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 +8 -11
- package/README.vi.md +8 -11
- package/dist/cli.js +18 -15
- package/package.json +39 -39
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.7.
|
|
6
|
+
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.7.5-0EA5E9?style=for-the-badge" alt="Version 5.7.5" /></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,7 +24,13 @@ 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.7.
|
|
27
|
+
## 🆕 What's new in v5.7.5
|
|
28
|
+
|
|
29
|
+
- 🐛 **Hotfix: CLI crash on all platforms** — Fixed `ReferenceError: channelKey is not defined` that caused the CLI to crash immediately after completing the setup wizard on every platform (Telegram, Zalo). The `writeWorkspaceFiles()` function now correctly receives `channelKey` as an explicit parameter.
|
|
30
|
+
- 🔤 **Fix: Vietnamese text encoding** — Restored proper UTF-8 encoding integrity in `cli.src.js` to prevent double-encoding of Vietnamese characters from Windows tools.
|
|
31
|
+
|
|
32
|
+
<details>
|
|
33
|
+
<summary><b>Previous: What's new in v5.7.2</b></summary>
|
|
28
34
|
|
|
29
35
|
- 🏗️ **Centralized config architecture** — All `openclaw.json`, `.env`, and `exec-approvals.json` generation now flows through a single `bot-config-gen.js` module. Both the Web Wizard and CLI share the same builder, eliminating config drift between surfaces.
|
|
30
36
|
- 🔄 **Rolling `@latest` versioning** — Installation scripts now use `openclaw@latest` instead of pinned versions, ensuring users always get the newest release without waiting for a setup update.
|
|
@@ -32,16 +38,7 @@ An interactive **CLI tool** and **Setup Wizard** to deploy your own free AI Bot
|
|
|
32
38
|
- 🐛 **Removed `autoReply` bug** — The `autoReply: true` field that caused gateway startup crashes on Zalo Personal has been permanently removed from all generators.
|
|
33
39
|
- 💬 **Standardized Zalo Personal config** — Zalo Personal (`zalouser`) channel now uses production-matching config with `groups`, `groupPolicy`, `historyLimit`, and proper `bindings`.
|
|
34
40
|
|
|
35
|
-
<details>
|
|
36
|
-
<summary><b>Previous: What's new in v5.7.2</b></summary>
|
|
37
|
-
|
|
38
|
-
- 🔧 **OpenAI Codex provider fix** — Updated Codex model registry to match OpenAI's current API. Removed 6 deprecated models, retained 4 active ones: `gpt-5.4`, `gpt-5.3-codex`, `gpt-5.2`, `gpt-5.4-mini`.
|
|
39
|
-
- 🔀 **9Router API mode switch** — Switched from `openai-completions` to `openai-responses` to align with OpenAI's Responses API.
|
|
40
|
-
- 🩹 **Auto-patch 9Router** — New `patch-9router.js` automatically patches 9Router source files on setup, upgrade, and before every launch to stay compatible with Codex API changes.
|
|
41
|
-
- 🎯 **Direct Codex model targeting** — 9Router config now exposes individual Codex models alongside `smart-route` so users can pick a specific model.
|
|
42
|
-
|
|
43
41
|
</details>
|
|
44
|
-
|
|
45
42
|
---
|
|
46
43
|
|
|
47
44
|
## ✨ Features
|
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.7.
|
|
6
|
+
<a href="https://github.com/tuanminhhole/openclaw-setup/releases"><img src="https://img.shields.io/badge/RELEASE-v5.7.5-0EA5E9?style=for-the-badge" alt="Version 5.7.5" /></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,7 +24,13 @@ 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.7.
|
|
27
|
+
## 🆕 Có gì mới trong v5.7.5
|
|
28
|
+
|
|
29
|
+
- 🐛 **Hotfix: CLI crash trên mọi nền tảng** — Sửa lỗi `ReferenceError: channelKey is not defined` khiến CLI crash ngay sau khi hoàn thành wizard trên mọi nền tảng (Telegram, Zalo). Hàm `writeWorkspaceFiles()` giờ nhận `channelKey` như một tham số tường minh.
|
|
30
|
+
- 🔤 **Sửa: Encoding tiếng Việt trong CLI** — Khôi phục tính toàn vẹn UTF-8 trong `cli.src.js`, ngăn double-encoding ký tự tiếng Việt do công cụ Windows gây ra.
|
|
31
|
+
|
|
32
|
+
<details>
|
|
33
|
+
<summary><b>Trước đó: Có gì mới ở v5.7.2</b></summary>
|
|
28
34
|
|
|
29
35
|
- 🏗️ **Kiến trúc config tập trung** — Toàn bộ logic tạo `openclaw.json`, `.env`, và `exec-approvals.json` giờ chạy qua module duy nhất `bot-config-gen.js`. Cả Web Wizard và CLI dùng chung cùng một builder, loại bỏ sai lệch config giữa 2 bề mặt.
|
|
30
36
|
- 🔄 **Phiên bản rolling `@latest`** — Script cài đặt giờ dùng `openclaw@latest` thay vì version cố định, đảm bảo người dùng luôn nhận bản mới nhất.
|
|
@@ -32,16 +38,7 @@ Công cụ **CLI tương tác** và **Setup Wizard** để tự triển khai Bot
|
|
|
32
38
|
- 🐛 **Xóa lỗi `autoReply`** — Trường `autoReply: true` gây crash gateway khi khởi động Zalo Personal đã bị loại bỏ vĩnh viễn khỏi mọi generator.
|
|
33
39
|
- 💬 **Chuẩn hóa config Zalo Personal** — Kênh Zalo Personal (`zalouser`) giờ dùng config khớp production với `groups`, `groupPolicy`, `historyLimit`, và `bindings` đúng.
|
|
34
40
|
|
|
35
|
-
<details>
|
|
36
|
-
<summary><b>Trước đó: Có gì mới ở v5.7.2</b></summary>
|
|
37
|
-
|
|
38
|
-
- 🔧 **Sửa provider OpenAI Codex** — Cập nhật registry model Codex phù hợp API hiện tại của OpenAI. Loại 6 model đã dừng, giữ 4 model đang hoạt động: `gpt-5.4`, `gpt-5.3-codex`, `gpt-5.2`, `gpt-5.4-mini`.
|
|
39
|
-
- 🔀 **Chuyển chế độ API 9Router** — Đổi từ `openai-completions` sang `openai-responses` cho khớp với Responses API mới của OpenAI.
|
|
40
|
-
- 🩹 **Tự động patch 9Router** — Script `patch-9router.js` mới tự vá source files 9Router khi setup, upgrade và trước mỗi lần khởi động để tương thích thay đổi API Codex.
|
|
41
|
-
- 🎯 **Chọn model Codex trực tiếp** — Config 9Router giờ hiển thị từng model Codex bên cạnh `smart-route` để người dùng có thể chọn model cụ thể.
|
|
42
|
-
|
|
43
41
|
</details>
|
|
44
|
-
|
|
45
42
|
---
|
|
46
43
|
|
|
47
44
|
## ✨ Tính năng
|
package/dist/cli.js
CHANGED
|
@@ -1815,6 +1815,7 @@ async function writeWorkspaceFiles({
|
|
|
1815
1815
|
agentWorkspaceDir = 'workspace',
|
|
1816
1816
|
isRelayBot = false,
|
|
1817
1817
|
replyToDirectMessages = true,
|
|
1818
|
+
channelKey = 'telegram',
|
|
1818
1819
|
}) {
|
|
1819
1820
|
const skillListStr = SKILLS
|
|
1820
1821
|
.filter((s) => selectedSkills.includes(s.value))
|
|
@@ -2157,18 +2158,18 @@ async function main() {
|
|
|
2157
2158
|
|
|
2158
2159
|
|
|
2159
2160
|
// ── Docker artifacts: Dockerfile + docker-compose via shared buildDockerArtifacts() ──────
|
|
2160
|
-
const skillSlugs = SKILLS
|
|
2161
|
-
.filter(s => selectedSkills.includes(s.value) && s.slug)
|
|
2162
|
-
.map(s => s.slug);
|
|
2163
|
-
const skillInstallCmd = skillSlugs.length > 0
|
|
2164
|
-
? skillSlugs.map(s => `
|
|
2165
|
-
: '';
|
|
2161
|
+
const skillSlugs = SKILLS
|
|
2162
|
+
.filter(s => selectedSkills.includes(s.value) && s.slug)
|
|
2163
|
+
.map(s => s.slug);
|
|
2164
|
+
const skillInstallCmd = skillSlugs.length > 0
|
|
2165
|
+
? skillSlugs.map(s => `openclaw skills install ${s} 2>/dev/null || true`).join(' && ')
|
|
2166
|
+
: '';
|
|
2166
2167
|
const relayInstallCmd = (isMultiBot && channelKey === 'telegram')
|
|
2167
2168
|
? buildRelayPluginInstallCommand('openclaw')
|
|
2168
2169
|
: '';
|
|
2169
|
-
const zaloModInstallCmd = hasZaloPersonal(channelKey)
|
|
2170
|
-
? '
|
|
2171
|
-
: '';
|
|
2170
|
+
const zaloModInstallCmd = hasZaloPersonal(channelKey)
|
|
2171
|
+
? 'openclaw plugins install openclaw-zalo-mod 2>/dev/null || true'
|
|
2172
|
+
: '';
|
|
2172
2173
|
const socatBridge = hasBrowserDesktop ? 'socat TCP-LISTEN:9222,fork,reuseaddr TCP:host.docker.internal:9222 &' : '';
|
|
2173
2174
|
const deviceApproveLoop = 'while true; do sleep 5; openclaw devices approve --latest 2>/dev/null || true; done >/dev/null 2>&1 &';
|
|
2174
2175
|
|
|
@@ -2183,12 +2184,12 @@ async function main() {
|
|
|
2183
2184
|
hasBrowser: hasBrowserDesktop || hasBrowserServer,
|
|
2184
2185
|
selectedModel: modelsPrimary,
|
|
2185
2186
|
agentId,
|
|
2186
|
-
runtimeCommandParts: [
|
|
2187
|
-
skillInstallCmd,
|
|
2188
|
-
relayInstallCmd,
|
|
2189
|
-
zaloModInstallCmd,
|
|
2190
|
-
socatBridge,
|
|
2191
|
-
deviceApproveLoop,
|
|
2187
|
+
runtimeCommandParts: [
|
|
2188
|
+
skillInstallCmd ? skillInstallCmd + ' &&' : '',
|
|
2189
|
+
relayInstallCmd ? relayInstallCmd + ' &&' : '',
|
|
2190
|
+
zaloModInstallCmd ? zaloModInstallCmd + ' &&' : '',
|
|
2191
|
+
socatBridge,
|
|
2192
|
+
deviceApproveLoop,
|
|
2192
2193
|
].filter(Boolean),
|
|
2193
2194
|
volumeMount: '../../.openclaw:/root/project/.openclaw',
|
|
2194
2195
|
singleComposeName: `oc-${agentId}`,
|
|
@@ -2387,6 +2388,7 @@ async function main() {
|
|
|
2387
2388
|
agentWorkspaceDir: meta.workspaceDir,
|
|
2388
2389
|
isRelayBot: true,
|
|
2389
2390
|
replyToDirectMessages: true,
|
|
2391
|
+
channelKey,
|
|
2390
2392
|
});
|
|
2391
2393
|
}
|
|
2392
2394
|
} else {
|
|
@@ -2468,6 +2470,7 @@ async function main() {
|
|
|
2468
2470
|
agentWorkspaceDir: loopWorkspaceDir,
|
|
2469
2471
|
isRelayBot: isMultiBot,
|
|
2470
2472
|
replyToDirectMessages: true,
|
|
2473
|
+
channelKey,
|
|
2471
2474
|
});
|
|
2472
2475
|
|
|
2473
2476
|
if (isMultiBot) {
|
package/package.json
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "create-openclaw-bot",
|
|
3
|
-
"version": "5.7.
|
|
4
|
-
"description": "Interactive CLI installer for OpenClaw Bot",
|
|
5
|
-
"main": "dist/cli.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"create-openclaw-bot": "./dist/cli.js"
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"dist"
|
|
11
|
-
],
|
|
12
|
-
"scripts": {
|
|
13
|
-
"build": "node src/build.mjs --deploy",
|
|
14
|
-
"dev": "node src/build.mjs --deploy --watch",
|
|
15
|
-
"test": "node src/tests/smoke-cli-logic.mjs && node src/tests/test-generation.mjs && node src/tests/test-matrix.mjs",
|
|
16
|
-
"bump": "node src/bump-version.mjs"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [
|
|
19
|
-
"openclaw",
|
|
20
|
-
"cli",
|
|
21
|
-
"bot",
|
|
22
|
-
"zalo",
|
|
23
|
-
"telegram",
|
|
24
|
-
"ai"
|
|
25
|
-
],
|
|
26
|
-
"author": "tuanminhhole",
|
|
27
|
-
"license": "MIT",
|
|
28
|
-
"dependencies": {
|
|
29
|
-
"@inquirer/prompts": "^4.3.1",
|
|
30
|
-
"chalk": "^5.3.0",
|
|
31
|
-
"fs-extra": "^11.2.0"
|
|
32
|
-
},
|
|
33
|
-
"bundleDependencies": [
|
|
34
|
-
"@inquirer/prompts",
|
|
35
|
-
"chalk",
|
|
36
|
-
"fs-extra"
|
|
37
|
-
],
|
|
38
|
-
"type": "module"
|
|
39
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "create-openclaw-bot",
|
|
3
|
+
"version": "5.7.5",
|
|
4
|
+
"description": "Interactive CLI installer for OpenClaw Bot",
|
|
5
|
+
"main": "dist/cli.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"create-openclaw-bot": "./dist/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "node src/build.mjs --deploy",
|
|
14
|
+
"dev": "node src/build.mjs --deploy --watch",
|
|
15
|
+
"test": "node src/tests/smoke-cli-logic.mjs && node src/tests/test-generation.mjs && node src/tests/test-matrix.mjs",
|
|
16
|
+
"bump": "node src/bump-version.mjs"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"openclaw",
|
|
20
|
+
"cli",
|
|
21
|
+
"bot",
|
|
22
|
+
"zalo",
|
|
23
|
+
"telegram",
|
|
24
|
+
"ai"
|
|
25
|
+
],
|
|
26
|
+
"author": "tuanminhhole",
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@inquirer/prompts": "^4.3.1",
|
|
30
|
+
"chalk": "^5.3.0",
|
|
31
|
+
"fs-extra": "^11.2.0"
|
|
32
|
+
},
|
|
33
|
+
"bundleDependencies": [
|
|
34
|
+
"@inquirer/prompts",
|
|
35
|
+
"chalk",
|
|
36
|
+
"fs-extra"
|
|
37
|
+
],
|
|
38
|
+
"type": "module"
|
|
39
|
+
}
|