create-openclaw-bot 5.3.4 → 5.3.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/CHANGELOG.md CHANGED
@@ -1,7 +1,22 @@
1
1
  # Changelog (English)
2
2
 
3
3
 
4
- ## [5.3.4] — 2026-04-12
4
+ ## [5.3.5] — 2026-04-12
5
+
6
+ ### 🐛 Fix: MEMORY.md Syntax Error in Zalo Workspace Files
7
+
8
+ - **Fix: `SyntaxError: Unexpected token ':'` in `setup.js`** — the previous TOOLS.md patch was inserted after the `vi` ternary arm of MEMORY.md, orphaning the `: en-value` colon arm below it. VS Code showed this as 7 error badges on `setup.js`. Now fixed; both MEMORY.md arms are contiguous, then TOOLS.md follows as a clean separate property.
9
+
10
+ ### 🐟 Improvement: Uninstall Script Written to Project Folder
11
+
12
+ - **All 4 OS native flows + Docker ZIP** now include the matching `uninstall-*.{bat,sh}` script **in the project folder** during setup. Previously the uninstall was only available as a separate browser download. Pattern mirrors `start-chrome-debug.bat` / `.sh`:
13
+ - Windows native: `uninstall-openclaw-win.bat` written via `appendBatWriteCommands`
14
+ - macOS native: `uninstall-openclaw.sh` written via `appendShWriteCommands`
15
+ - VPS/Ubuntu: `uninstall-openclaw-vps.sh` written via `appendShWriteCommands`
16
+ - Linux Desktop: `uninstall-openclaw.sh` written via `appendShWriteCommands`
17
+ - Docker (all OS): uninstall script included in the generatedFiles ZIP
18
+
19
+
5
20
 
6
21
  ### 🐛 Windows Native — Gateway & Workspace Stability
7
22
 
package/CHANGELOG.vi.md CHANGED
@@ -1,6 +1,22 @@
1
1
  # Changelog (Tiếng Việt)
2
2
 
3
3
 
4
+ ## [5.3.5] — 2026-04-12
5
+
6
+ ### 🐛 Sửa: Lỗi Syntax MEMORY.md trong Workspace Zalo
7
+
8
+ - **Sửa: `SyntaxError: Unexpected token ':'` trong `setup.js`** — Patch TOOLS.md trước đó được chèn sau nhánh `vi` của ternary MEMORY.md, khiến nhánh `: en-value` bị bỏ lơ phía dưới. VS Code hiển thị badge đỏ số "7" trên `setup.js`. Đã fix; hai nhánh MEMORY.md nay liền kề nhau, TOOLS.md theo sau như property riêng biệt.
9
+
10
+ ### 🐟 Cải Tiến: Script Gỡ Cài Đặt Nằm Trong Thư Mục Project
11
+
12
+ - **Tất cả 4 luồng native OS + Docker ZIP** giờ đều có sẵn file `uninstall-*.{bat,sh}` **trong thư mục project** ngay sau khi setup chạy xong. Trước đây uninstall chỉ có thể tải riêng từ trình duyệt. Pattern giống `start-chrome-debug.bat` / `.sh`:
13
+ - Windows native: `uninstall-openclaw-win.bat` viết qua `appendBatWriteCommands`
14
+ - macOS native: `uninstall-openclaw.sh` viết qua `appendShWriteCommands`
15
+ - VPS/Ubuntu: `uninstall-openclaw-vps.sh` viết qua `appendShWriteCommands`
16
+ - Linux Desktop: `uninstall-openclaw.sh` viết qua `appendShWriteCommands`
17
+ - Docker (mọi OS): uninstall script có trong ZIP generatedFiles
18
+
19
+
4
20
  ## [5.3.4] — 2026-04-12
5
21
 
6
22
  ### 🐛 Windows Native — Ổn Định Gateway & Workspace
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-openclaw-bot",
3
- "version": "5.3.4",
3
+ "version": "5.3.5",
4
4
  "description": "Interactive CLI installer for OpenClaw Bot",
5
5
  "main": "cli.js",
6
6
  "bin": {
package/setup.js CHANGED
@@ -3086,6 +3086,9 @@ I am **${botName}**. When asked my name, I answer: _"I'm ${botName}"_.`;
3086
3086
  generatedFiles['start-chrome-debug.bat'] = chromeBatContent;
3087
3087
  generatedFiles['start-chrome-debug.sh'] = chromeShContent;
3088
3088
  }
3089
+ // Include uninstall script in downloaded project files (same as start-chrome-debug pattern)
3090
+ const _uninstallForZip = generateUninstallScript();
3091
+ if (_uninstallForZip) generatedFiles[_uninstallForZip.name] = _uninstallForZip.content;
3089
3092
 
3090
3093
  state._generatedFiles = generatedFiles;
3091
3094
  if (isSharedMultiBot) {
@@ -4066,6 +4069,9 @@ ${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(No skills ins
4066
4069
  if (isMultiBot) {
4067
4070
  lines.push('echo [4/5] Tao runtime multi-agent dung chung...');
4068
4071
  appendBatWriteCommands(lines, mapWindowsNativeFiles(sharedNativeFileMap()));
4072
+ // Write uninstall script to project folder
4073
+ const _uninstallWinMulti = generateUninstallScript();
4074
+ if (_uninstallWinMulti) appendBatWriteCommands(lines, mapWindowsNativeFiles({ [_uninstallWinMulti.name]: _uninstallWinMulti.content }));
4069
4075
  if (is9Router) lines.push(windowsHiddenNodeLaunch('%DATA_DIR%\\9router-smart-route-sync.js', { DATA_DIR: '%DATA_DIR%' }));
4070
4076
  lines.push('if not exist "%OPENCLAW_HOME%\\openclaw.json" (echo ERROR: Khong tim thay "%OPENCLAW_HOME%\\openclaw.json" && goto :fail)');
4071
4077
  lines.push('echo.');
@@ -4189,10 +4195,10 @@ ${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(No skills ins
4189
4195
  : `# User Profile\n\n## Overview\n- **Preferred language:** Vietnamese\n\n## Notes\n${state.config.userInfo || '- _(Nothing yet)_'}`,
4190
4196
  [`.openclaw/${zaloWorkspaceDir}/MEMORY.md`]: isVi
4191
4197
  ? `# Bo nho dai han\n\n## Ghi chu\n- _(Chua co gi)_`
4198
+ : `# Long-term Memory\n\n## Notes\n- _(Nothing yet)_`,
4192
4199
  [`.openclaw/${zaloWorkspaceDir}/TOOLS.md`]: isVi
4193
4200
  ? `# Hướng dẫn sử dụng Tools\n\n## Skills đã cài\n${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(Chưa có skill nào)_'}\n\n## Quy ước\n- Ưu tiên dùng tool thay vì đoán\n- Browser: dùng khi user yêu cầu thao tác web\n- Memory: cập nhật khi biết thông tin quan trọng\n\n## Ghi chú thiết lập của bạn\n\nGhi lại cấu hình riêng của môi trường bạn, ví dụ:\n- Tên thiết bị, camera, SSH hosts\n- Giọng nói ưa thích (TTS)\n\n---\n\nThêm ghi chú nào giúp ích cho công việc của bạn.`
4194
4201
  : `# Tool Usage Guide\n\n## Installed Skills\n${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(No skills installed)_'}\n\n## Conventions\n- Prefer tools over guessing\n- Use Browser for explicit web tasks\n- Update Memory when important user info appears\n\n## Your Setup Notes\n\nRecord environment-specific config, e.g.:\n- Device names, cameras, SSH hosts\n- Preferred TTS voice\n\n---\n\nAdd whatever helps you do your job.`,
4195
- : `# Long-term Memory\n\n## Notes\n- _(Nothing yet)_`,
4196
4202
  };
4197
4203
  appendBatWriteCommands(lines, mapWindowsNativeFiles(zaloFiles));
4198
4204
  if (is9Router) lines.push(windowsHiddenNodeLaunch('%DATA_DIR%\\9router-smart-route-sync.js', { DATA_DIR: '%DATA_DIR%' }));
@@ -4252,6 +4258,9 @@ ${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(No skills ins
4252
4258
  } else {
4253
4259
  lines.push('echo [4/5] Tao file cau hinh...');
4254
4260
  appendBatWriteCommands(lines, mapWindowsNativeFiles(botFiles(0)));
4261
+ // Write uninstall script to project folder
4262
+ const _uninstallWin = generateUninstallScript();
4263
+ if (_uninstallWin) appendBatWriteCommands(lines, mapWindowsNativeFiles({ [_uninstallWin.name]: _uninstallWin.content }));
4255
4264
  if (is9Router) lines.push(windowsHiddenNodeLaunch('%DATA_DIR%\\9router-smart-route-sync.js', { DATA_DIR: '%DATA_DIR%' }));
4256
4265
  lines.push('if not exist "%OPENCLAW_HOME%\\openclaw.json" (echo ERROR: Khong tim thay "%OPENCLAW_HOME%\\openclaw.json" && goto :fail)');
4257
4266
  lines.push('echo.');
@@ -4376,10 +4385,14 @@ ${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(No skills ins
4376
4385
 
4377
4386
  if (isMultiBot) {
4378
4387
  appendShWriteCommands(sh, sharedNativeFileMap());
4388
+ const _uninstallMacMulti = generateUninstallScript();
4389
+ if (_uninstallMacMulti) appendShWriteCommands(sh, { [_uninstallMacMulti.name]: _uninstallMacMulti.content });
4379
4390
  sh.push('echo "Starting shared multi-bot gateway..."');
4380
4391
  sh.push('openclaw gateway run');
4381
4392
  } else {
4382
4393
  appendShWriteCommands(sh, botFiles(0));
4394
+ const _uninstallMac = generateUninstallScript();
4395
+ if (_uninstallMac) appendShWriteCommands(sh, { [_uninstallMac.name]: _uninstallMac.content });
4383
4396
  sh.push('openclaw gateway run');
4384
4397
  }
4385
4398
  scriptContent = sh.filter(Boolean).join('\n');
@@ -4415,6 +4428,8 @@ ${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(No skills ins
4415
4428
  if (isMultiBot) {
4416
4429
  vps.push('echo "--- Creating shared multi-agent runtime ---"');
4417
4430
  appendShWriteCommands(vps, sharedNativeFileMap());
4431
+ const _uninstallVpsMulti = generateUninstallScript();
4432
+ if (_uninstallVpsMulti) appendShWriteCommands(vps, { [_uninstallVpsMulti.name]: _uninstallVpsMulti.content });
4418
4433
  vps.push('echo "--- Starting shared gateway via PM2 ---"');
4419
4434
  if (is9Router) {
4420
4435
  vps.push(`NINE_ROUTER_ENTRY="$(${native9RouterServerEntryLookup()})"`);
@@ -4430,6 +4445,8 @@ ${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(No skills ins
4430
4445
  vps.push(`echo " pm2 logs openclaw-multibot"`);
4431
4446
  } else {
4432
4447
  appendShWriteCommands(vps, botFiles(0));
4448
+ const _uninstallVps = generateUninstallScript();
4449
+ if (_uninstallVps) appendShWriteCommands(vps, { [_uninstallVps.name]: _uninstallVps.content });
4433
4450
  if (is9Router) {
4434
4451
  vps.push(`NINE_ROUTER_ENTRY="$(${native9RouterServerEntryLookup()})"`);
4435
4452
  vps.push('PORT=20128 HOSTNAME=0.0.0.0 pm2 start "$NINE_ROUTER_ENTRY" --name openclaw-9router --interpreter "$(command -v node)"');
@@ -4469,10 +4486,14 @@ ${selectedSkillNames.length ? selectedSkillNames.join('\n') : '- _(No skills ins
4469
4486
 
4470
4487
  if (isMultiBot) {
4471
4488
  appendShWriteCommands(lnx, sharedNativeFileMap());
4489
+ const _uninstallLnxMulti = generateUninstallScript();
4490
+ if (_uninstallLnxMulti) appendShWriteCommands(lnx, { [_uninstallLnxMulti.name]: _uninstallLnxMulti.content });
4472
4491
  lnx.push('echo "Starting shared multi-bot gateway..."');
4473
4492
  lnx.push('openclaw gateway run');
4474
4493
  } else {
4475
4494
  appendShWriteCommands(lnx, botFiles(0));
4495
+ const _uninstallLnx = generateUninstallScript();
4496
+ if (_uninstallLnx) appendShWriteCommands(lnx, { [_uninstallLnx.name]: _uninstallLnx.content });
4476
4497
  lnx.push('openclaw gateway run');
4477
4498
  }
4478
4499
  scriptContent = lnx.filter(Boolean).join('\n');
package/test-path.bat DELETED
@@ -1,4 +0,0 @@
1
- @echo off
2
- set "PROJECT_DIR=D:\test"
3
- echo Path1: "%PROJECT_DIR%\.env"
4
- echo Path2: "%PROJECT_DIR%\\.env"