create-openclaw-bot 5.7.5 → 5.7.6
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 +2 -3
- package/README.vi.md +33 -34
- package/dist/cli.js +1 -1
- package/dist/setup/shared/docker-gen.js +1 -13
- package/dist/setup.js +1 -13
- package/package.json +2 -2
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.6-0EA5E9?style=for-the-badge" alt="Version 5.7.6" /></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>
|
|
@@ -38,8 +38,7 @@ An interactive **CLI tool** and **Setup Wizard** to deploy your own free AI Bot
|
|
|
38
38
|
- 🐛 **Removed `autoReply` bug** — The `autoReply: true` field that caused gateway startup crashes on Zalo Personal has been permanently removed from all generators.
|
|
39
39
|
- 💬 **Standardized Zalo Personal config** — Zalo Personal (`zalouser`) channel now uses production-matching config with `groups`, `groupPolicy`, `historyLimit`, and proper `bindings`.
|
|
40
40
|
|
|
41
|
-
</details>
|
|
42
|
-
---
|
|
41
|
+
## </details>
|
|
43
42
|
|
|
44
43
|
## ✨ Features
|
|
45
44
|
|
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.6-0EA5E9?style=for-the-badge" alt="Version 5.7.6" /></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>
|
|
@@ -38,8 +38,7 @@ Công cụ **CLI tương tác** và **Setup Wizard** để tự triển khai Bot
|
|
|
38
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.
|
|
39
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.
|
|
40
40
|
|
|
41
|
-
</details>
|
|
42
|
-
---
|
|
41
|
+
## </details>
|
|
43
42
|
|
|
44
43
|
## ✨ Tính năng
|
|
45
44
|
|
|
@@ -61,12 +60,12 @@ Công cụ **CLI tương tác** và **Setup Wizard** để tự triển khai Bot
|
|
|
61
60
|
|
|
62
61
|
> **Không biết nên dùng cách nào?** Bảng dưới đây sẽ giúp bạn:
|
|
63
62
|
|
|
64
|
-
| Bạn là ai
|
|
65
|
-
|
|
|
66
|
-
| Không quen terminal
|
|
67
|
-
| Không quen terminal
|
|
68
|
-
| Quen terminal
|
|
69
|
-
| Muốn tự động hóa hoàn toàn | Bất kỳ
|
|
63
|
+
| Bạn là ai | Môi trường | Cách được đề xuất |
|
|
64
|
+
| -------------------------- | --------------- | ------------------------------------- |
|
|
65
|
+
| Không quen terminal | Windows / macOS | **Web Wizard** (`index.html`) |
|
|
66
|
+
| Không quen terminal | Ubuntu Desktop | **Web Wizard** → chọn Native |
|
|
67
|
+
| Quen terminal | Ubuntu / VPS | **CLI** (`npx create-openclaw-bot`) |
|
|
68
|
+
| Muốn tự động hóa hoàn toàn | Bất kỳ | **AI Agent** (Antigravity + SETUP.md) |
|
|
70
69
|
|
|
71
70
|
### 1️⃣ Tùy chọn A — Web Wizard (không cần terminal)
|
|
72
71
|
|
|
@@ -122,34 +121,34 @@ Chạy trong terminal → làm theo hướng dẫn → script khởi động đ
|
|
|
122
121
|
|
|
123
122
|
### Không dùng Docker (Native — khuyến nghị cho Ubuntu/VPS)
|
|
124
123
|
|
|
125
|
-
| Yêu cầu
|
|
126
|
-
|
|
|
127
|
-
| **Node.js 20/22/24**
|
|
128
|
-
| **AI provider**
|
|
129
|
-
| **Bot Token**
|
|
130
|
-
| **Ollama** _(tùy chọn)_ | Chỉ cần nếu muốn chạy Gemma 4 locally · [Tải](https://ollama.com/)
|
|
124
|
+
| Yêu cầu | Ghi chú |
|
|
125
|
+
| ----------------------- | ------------------------------------------------------------------------- |
|
|
126
|
+
| **Node.js 20/22/24** | [Tải](https://nodejs.org/) · Kiểm tra: `node -v` · Tránh Node 25 hiện tại |
|
|
127
|
+
| **AI provider** | 9Router (miễn phí) hoặc Gemini/Claude/GPT-4o |
|
|
128
|
+
| **Bot Token** | Từ Telegram BotFather hoặc Zalo Developer |
|
|
129
|
+
| **Ollama** _(tùy chọn)_ | Chỉ cần nếu muốn chạy Gemma 4 locally · [Tải](https://ollama.com/) |
|
|
131
130
|
|
|
132
131
|
### Dùng Docker (khuyến nghị cho Windows/macOS)
|
|
133
132
|
|
|
134
|
-
| Yêu cầu
|
|
135
|
-
|
|
|
136
|
-
| **Node.js 20/22/24**
|
|
133
|
+
| Yêu cầu | Ghi chú |
|
|
134
|
+
| ------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
135
|
+
| **Node.js 20/22/24** | [Tải](https://nodejs.org/) · Kiểm tra: `node -v` · Tránh Node 25 hiện tại |
|
|
137
136
|
| **Docker Desktop + Compose V2** | [Tải](https://www.docker.com/products/docker-desktop/) · Kiểm tra: `docker compose version` |
|
|
138
|
-
| **AI provider**
|
|
139
|
-
| **Bot Token**
|
|
137
|
+
| **AI provider** | 9Router chạy như container sidecar — không cần cài riêng |
|
|
138
|
+
| **Bot Token** | Từ Telegram BotFather hoặc Zalo Developer |
|
|
140
139
|
|
|
141
140
|
---
|
|
142
141
|
|
|
143
142
|
## 🧠 Các Provider AI được hỗ trợ
|
|
144
143
|
|
|
145
|
-
| Provider
|
|
146
|
-
|
|
|
147
|
-
| **9Router**
|
|
148
|
-
| **Google Gemini**
|
|
149
|
-
| **Ollama / Gemma 4** | 🏠 Miễn phí
|
|
150
|
-
| **Anthropic Claude** | 💰 Trả phí
|
|
151
|
-
| **OpenAI / Codex**
|
|
152
|
-
| **OpenRouter**
|
|
144
|
+
| Provider | Chi phí | API Key | Ghi chú |
|
|
145
|
+
| -------------------- | ------------- | -------- | ----------------------------------------------------------------------------------------- |
|
|
146
|
+
| **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. |
|
|
147
|
+
| **Google Gemini** | 🆓 Free tier | ✅ Có | Chất lượng cao. Free tier rất rộng rãi. |
|
|
148
|
+
| **Ollama / Gemma 4** | 🏠 Miễn phí | ❌ Không | Chạy 100% offline. Tự pull model khi khởi động lần đầu. |
|
|
149
|
+
| **Anthropic Claude** | 💰 Trả phí | ✅ Có | Chất lượng suy luận và viết tốt nhất. |
|
|
150
|
+
| **OpenAI / Codex** | 💰 Trả phí | ✅ Có | GPT-4o, Codex Mini. |
|
|
151
|
+
| **OpenRouter** | 🆓/💰 Hỗn hợp | ✅ Có | Nhiều model chung một key. Một số miễn phí. |
|
|
153
152
|
|
|
154
153
|
> 🔀 **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.
|
|
155
154
|
|
|
@@ -265,12 +264,12 @@ API key của bạn chỉ được lưu trên máy trong file `.env` cục bộ.
|
|
|
265
264
|
<details>
|
|
266
265
|
<summary><b>Cần bao nhiêu RAM cho Gemma 4?</b></summary>
|
|
267
266
|
|
|
268
|
-
| Model
|
|
269
|
-
|
|
|
270
|
-
| `gemma4:e2b` | ~4 GB
|
|
271
|
-
| `gemma4:e4b` | ~8 GB
|
|
272
|
-
| `gemma4:26b` | ~18 GB
|
|
273
|
-
| `gemma4:31b` | ~24 GB
|
|
267
|
+
| Model | RAM tối thiểu (Native) | RAM tối thiểu (Docker) |
|
|
268
|
+
| ------------ | ---------------------- | ---------------------- |
|
|
269
|
+
| `gemma4:e2b` | ~4 GB | ~5 GB |
|
|
270
|
+
| `gemma4:e4b` | ~8 GB | ~9 GB |
|
|
271
|
+
| `gemma4:26b` | ~18 GB | ~20 GB |
|
|
272
|
+
| `gemma4:31b` | ~24 GB | ~26 GB |
|
|
274
273
|
|
|
275
274
|
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.
|
|
276
275
|
|
package/dist/cli.js
CHANGED
|
@@ -2191,7 +2191,7 @@ async function main() {
|
|
|
2191
2191
|
socatBridge,
|
|
2192
2192
|
deviceApproveLoop,
|
|
2193
2193
|
].filter(Boolean),
|
|
2194
|
-
volumeMount: '
|
|
2194
|
+
volumeMount: '../..:/root/project',
|
|
2195
2195
|
singleComposeName: `oc-${agentId}`,
|
|
2196
2196
|
multiComposeName: 'oc-multibot',
|
|
2197
2197
|
singleAppContainerName: `openclaw-${agentId}`,
|
|
@@ -269,7 +269,7 @@ CMD ["/bin/sh", "/usr/local/bin/openclaw-entrypoint.sh"]`;
|
|
|
269
269
|
const docker9RouterEntrypointScript = build9RouterComposeEntrypointScript(syncScriptBase64, patchScriptBase64);
|
|
270
270
|
const extraHostsBlock = ` extra_hosts:\n - "host.docker.internal:host-gateway"`;
|
|
271
271
|
|
|
272
|
-
const appEnvironmentBlock = ' environment:\n - OPENCLAW_HOME=/root/project/.openclaw\n - OPENCLAW_STATE_DIR=/
|
|
272
|
+
const appEnvironmentBlock = ' environment:\n - OPENCLAW_HOME=/root/project/.openclaw\n - OPENCLAW_STATE_DIR=/root/project/.openclaw\n';
|
|
273
273
|
|
|
274
274
|
let compose;
|
|
275
275
|
if (isMultiBot) {
|
|
@@ -462,18 +462,6 @@ ${appEnvironmentBlock}${plainSingleExtraHosts ? `${extraHostsBlock}\n` : ''}
|
|
|
462
462
|
- "18791:18791"`;
|
|
463
463
|
}
|
|
464
464
|
|
|
465
|
-
compose = compose.replaceAll(
|
|
466
|
-
` - ${volumeMount}`,
|
|
467
|
-
` - ${volumeMount}\n - openclaw-state:/var/lib/openclaw-state`
|
|
468
|
-
);
|
|
469
|
-
if (compose.includes('\nvolumes:\n')) {
|
|
470
|
-
if (!compose.includes(' openclaw-state:')) {
|
|
471
|
-
compose = compose.replace('\nvolumes:\n', '\nvolumes:\n openclaw-state:\n');
|
|
472
|
-
}
|
|
473
|
-
} else {
|
|
474
|
-
compose += '\n\nvolumes:\n openclaw-state:';
|
|
475
|
-
}
|
|
476
|
-
|
|
477
465
|
return {
|
|
478
466
|
dockerfile,
|
|
479
467
|
compose,
|
package/dist/setup.js
CHANGED
|
@@ -2743,7 +2743,7 @@ CMD ["/bin/sh", "/usr/local/bin/openclaw-entrypoint.sh"]`;
|
|
|
2743
2743
|
const docker9RouterEntrypointScript = build9RouterComposeEntrypointScript(syncScriptBase64, patchScriptBase64);
|
|
2744
2744
|
const extraHostsBlock = ` extra_hosts:\n - "host.docker.internal:host-gateway"`;
|
|
2745
2745
|
|
|
2746
|
-
const appEnvironmentBlock = ' environment:\n - OPENCLAW_HOME=/root/project/.openclaw\n - OPENCLAW_STATE_DIR=/
|
|
2746
|
+
const appEnvironmentBlock = ' environment:\n - OPENCLAW_HOME=/root/project/.openclaw\n - OPENCLAW_STATE_DIR=/root/project/.openclaw\n';
|
|
2747
2747
|
|
|
2748
2748
|
let compose;
|
|
2749
2749
|
if (isMultiBot) {
|
|
@@ -2936,18 +2936,6 @@ ${appEnvironmentBlock}${plainSingleExtraHosts ? `${extraHostsBlock}\n` : ''}
|
|
|
2936
2936
|
- "18791:18791"`;
|
|
2937
2937
|
}
|
|
2938
2938
|
|
|
2939
|
-
compose = compose.replaceAll(
|
|
2940
|
-
` - ${volumeMount}`,
|
|
2941
|
-
` - ${volumeMount}\n - openclaw-state:/var/lib/openclaw-state`
|
|
2942
|
-
);
|
|
2943
|
-
if (compose.includes('\nvolumes:\n')) {
|
|
2944
|
-
if (!compose.includes(' openclaw-state:')) {
|
|
2945
|
-
compose = compose.replace('\nvolumes:\n', '\nvolumes:\n openclaw-state:\n');
|
|
2946
|
-
}
|
|
2947
|
-
} else {
|
|
2948
|
-
compose += '\n\nvolumes:\n openclaw-state:';
|
|
2949
|
-
}
|
|
2950
|
-
|
|
2951
2939
|
return {
|
|
2952
2940
|
dockerfile,
|
|
2953
2941
|
compose,
|
package/package.json
CHANGED