Root cause: portable zip was 1MB skeleton; first launch triggered
`npm install` of OpenClaw + 36 bundled deps on customer's USB drive.
On exFAT-formatted USB this hangs/takes 20+ minutes, gateway never
binds 18789, dashboard shows "Gateway 未启动".
Fix follows StanleyChanH/openclaw-offline-package pattern (153MB
single-platform zip, gateway starts directly):
- release.yml: only build Windows bundle (~150-200MB). Mac users
fall back to setup.sh. Reasoning: 99% of customers are Windows;
bundling 3 platforms × Node ~30MB + 3× node_modules dedup pain
is what blew the previous attempt past GitHub's 2GB cap (see
5916ff5 history). Smaller scope = simpler + safer.
- Windows-Start.bat / Mac-Start.command: warn if node_modules
missing; fallback `npm install` adds --ignore-scripts --no-audit
--no-fund for speed.
- Release notes: NTFS U-disk recommendation.
Lessons applied (from 5916ff5):
- Stay on linux runner with --ignore-scripts (Stanley pattern)
- Drop mac-x64 / mac-arm64 Node from bundle (setup.sh handles Mac)
- rm -rf node-llama-cpp / sharp / canvas explicitly
- Hard size guard: fail CI if zip > 1500MB (buffer below 2GB cap)
Two real bugs in the portable launchers:
1. Windows-Install.bat: xcopy reads from %TEMP%\node-<ver>-win-x64
but Expand-Archive extracts into %TEMP%\node-extract\node-<ver>-win-x64.
Result: empty runtime\node-win-x64\ on networked install path.
2. Mac-Start.command + Windows-Start.bat: legacy-config sync block
was placed AFTER the default-config block, so the "config.json
exists but openclaw.json doesn't" branch was unreachable. Existing
USB users with config.json never got their settings migrated;
they got the empty default instead.
Reordered so legacy migration runs first, default only as fallback.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add in-app WeChat scanning via Tencent iLink API:
- server.js: QR code PNG renderer, WeChat API proxy, plugin auto-install
- index.html: WeChat channel card with QR display and polling UI
- Windows-Start.bat: auto-install WeChat plugin on startup
- Windows-Install.bat: copy WeChat plugin during installation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Windows-Start.bat:
- Fix duplicate browser tab opening (was opening 3 tabs)
- Read gateway token from config instead of hardcoding
- Add config sync from legacy location
- Use delayed browser open for gateway startup time
Windows-Menu.bat:
- Fix Node version display bug (double %% issue)
- System info: add Windows version, architecture, memory, disk size
- Check updates: auto-fetch latest version from npmmirror, one-click upgrade
- Disk cleanup: show directory sizes, clean old backups/logs/npm cache
- Log management: add export to desktop, clean logs older than 7 days
- Restore backup: numbered list selection instead of typing folder name
- Kill processes: add confirmation prompt before killing
- Chat platforms: individual setup guidance per platform
Windows-Install.bat:
- Add Node.js online download fallback (was exit-only when missing)
- Add system Node.js version check (require v20+)
- Generated start.bat now has port detection loop
- Show install size on completion
Windows-Diagnose.bat:
- Add system info logging (Windows version, architecture)
- Add config file and model configuration check
- Expand port scan to full 18789-18799 range
- Show OpenClaw version in test output
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Delete usb-scripts/, Linux-*.sh, setup-linux-usb.sh, migrate.js
- Rename core-mac/core-win → core (with migration shims for existing USBs)
- Fix Mac-Menu.command ARM64 hardcode — now detects Intel/Apple Silicon
- setup.sh: remove Linux branch, Windows download only with --all-platforms
- Update README.md and CLAUDE.md to reflect Mac + Windows only
Replaces the problematic file:// protocol Config.html with a stable
Node.js HTTP server following industry standard patterns (n8n, Langflow).
Changes:
- Add portable/config-server/ with REST API (GET/POST /api/config)
- Add simplified Chinese/English web UI for AI model and QQ Bot config
- Update Windows-Start.bat to launch both services simultaneously
- Config Center on port 18788
- OpenClaw Gateway on port 18789
- Remove Config.html file:// protocol issues
- Use zero-dependency pure Node.js standard library
Benefits:
- No file:// CORS or WebSocket issues
- Industry-standard localhost HTTP pattern
- Simplified configuration interface for Chinese users
- Unified startup experience
🤖 Generated with Claude Code
- Windows-Start.bat: Always open dashboard instead of Config.html
The dashboard can guide first-time setup, avoiding file:// protocol issues
- Windows-Diagnose.bat: Add Chinese output for better user experience
Error counting and friendly suggestions included
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major fixes for Windows portable version:
1. **Fixed critical bugs:**
- Replace Unix /dev/null with Windows nul in all .bat files
- Unified config path to data/.openclaw/openclaw.json
- Fixed cross-platform node_modules compatibility issue
2. **Implemented separated core directories:**
- app/core-mac/ for Mac dependencies
- app/core-win/ for Windows dependencies
- Prevents cross-platform file system conflicts
- Shared data/ directory for configs and memory
3. **Enhanced setup.sh:**
- Now downloads both Mac and Windows Node.js runtimes
- Ensures U-Claw works on both platforms after setup
4. **Added diagnostic tools:**
- Windows-Diagnose.bat for troubleshooting
- Mac-Diagnose.command for troubleshooting
- Auto-generates diagnostic-log.txt
5. **Improved user experience:**
- Added Welcome.html - Simple 3-step guide in Chinese
- All scripts updated to use platform-specific core directories
- Better error messages and user guidance
Files modified:
- portable/Windows-Start.bat: Use core-win, fix syntax
- portable/Windows-Menu.bat: Use core-win, fix syntax
- portable/Mac-Start.command: Use core-mac
- portable/Mac-Menu.command: Use core-mac
- portable/setup.sh: Download both platforms, use core-mac
Files added:
- portable/Windows-Diagnose.bat: Diagnostic tool
- portable/Mac-Diagnose.command: Diagnostic tool
- portable/Welcome.html: User-friendly welcome page
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add U-Claw.html navigation page with OS auto-detection and live status
- Rename scripts: start → Mac-Start/Windows-Start, menu → Mac-Menu/Windows-Menu
- Update installer scripts to reference new v2 directory structure (app/core)
- Update .gitignore to exclude build artifacts and marketing assets