去掉不适合开源的商业逻辑,保持一个纯粹的开源 U 盘工具: - 删除设备指纹 (fingerprint.mjs)、虾盘云自动开户 (bootstrap-xiapan.mjs / xiapan-client.mjs)、自动崩溃上报 (report-bug.mjs),portable 和 Electron 两份都删 - 启动脚本去掉绑定指纹调用 + 全部 --auto 自动上报;保留 bonjour 禁用与括号转义 - config-server 删掉 /api/xiapan/* 和 /api/report-bug 端点 - Config.html:虾盘云改为普通「首选」卡片,强调中转站 / 国内外全部大模型, 和其它 provider 一样需用户自填 Key(去 u-claw.org/cloud.html 注册),不再自动开户 - 报 Bug 表单改为指向 GitHub Issue,不再上传日志 - README / release notes / CLAUDE.md 文案改为「选模型填 Key,不绑定设备、不打指纹、不上传数据」 - OPENCLAW_VERSION 跟进最新龙虾版本 2026.6.6 → 2026.6.8 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
10 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview — CRITICAL MENTAL MODEL
This repo IS the USB drive content, minus large dependencies. The relationship:
代码库(git)= U 盘骨架(脚本 + HTML + 小文件)
↓ bash setup.sh
完整文件夹 = U 盘内容(骨架 + Node.js + OpenClaw)
↓ 拷贝到 U 盘
U 盘 = 插上就能用
The repo is NOT a "build tool" or "generator" — it IS the USB structure. setup.sh only fills in large deps that can't go in git. After setup.sh, the portable/ folder is directly copyable to a USB drive.
Four distribution forms:
- Portable USB (
portable/): Run from USB on existing Mac/Windows, zero install. - Electron desktop app (
u-claw-app/): Install-to-computer version, packaged as DMG/EXE. - Bootable Linux USB (
bootable/): Ventoy + Ubuntu 24.04 — boots any x86_64 PC from USB, no OS needed. - One-line install (
install/):curl | bashorirm | iex— download and install from network, no USB needed.
Development Commands
# Portable version — build dev copy
cd portable && bash setup.sh # Downloads Node.js v22 + OpenClaw + WeChat/QQ plugin to app/
bash Mac-Start.command # Launch (Mac ARM64). Windows: Windows-Start.bat
# Copy to USB drive
cp -R portable/ /Volumes/YOUR_USB/U-Claw/
# Electron desktop app
cd u-claw-app && bash setup.sh # One-click: Node.js + Electron + deps (China mirrors)
npm run dev # Dev mode
npm run build:mac-arm64 # Build Mac ARM64 DMG
npm run build:win # Build Windows NSIS + portable
# Bootable Linux USB (run on Windows PowerShell as Admin)
cd bootable
.\1-prepare-usb.ps1 # Write Ventoy to USB (formats drive!)
.\2-download-iso.ps1 # Download Ubuntu ISO (~5.8GB, China mirrors)
.\3-create-persistence.ps1 # Create 20GB ext4 persistence image
.\4-copy-to-usb.ps1 # Copy ISO + persistence + scripts to USB
Tests
node --test tests/ # Run all tests (node:test, no test framework dep)
node --test tests/windows-launchers.test.mjs # Run one test file
Tests assert on the text/behavior of the launcher scripts (.bat/.command) — e.g. that
Windows-Start.bat escapes ^(...^) parens inside IF blocks and disables OpenClaw bonjour
discovery. They read repo files as strings; they do not spawn OpenClaw. There is no root
package.json — tests are not run by the release CI (.github/workflows/release.yml only
builds and publishes). Run them locally before pushing launcher changes.
Testing of the actual runtime should be done in a separate folder or directly on USB. This repo stays clean (no node_modules, no app/ runtime).
Architecture
portable/ THE USB content (= repo + setup.sh downloads)
setup.sh / setup.bat / setup.ps1 — fill in app/ (Node + OpenClaw + plugins)
{Mac,Windows}-Start — launch gateway + config-server, open dashboard/Config
{Mac,Windows}-Menu — interactive CLI launcher (pick start/config/CLI/diagnose)
{Mac,Windows}-Install — copy USB → computer (~/.uclaw/ or %USERPROFILE%)
{Mac,Windows}-Diagnose — health check / collect logs for bug reports
{Mac-OpenClaw-CLI,OpenClaw-CLI.bat} — drop into raw `openclaw` CLI
*.html (Welcome, Config, U-Claw, SkillHub) — local UI pages
config-server/server.js — local HTTP server (port 18788-18798) backing
Config.html: writes openclaw.json, WeChat QR login, update-status API
lib/ — Node helpers (see "lib/ helpers" below)
default-config.json — seed config copied to data/.openclaw/ on first run
app/core/ (OpenClaw) + app/runtime/ (Node.js) — downloaded by setup.sh
data/.openclaw/openclaw.json — user config (on USB, portable)
skills-cn/ — 13 个中国本地化技能(小红书/微博/B站/抖音/知乎/
微信公众号/Word/Excel/PPT/天气/搜索/翻译/DeepSeek)
u-claw-app/ Electron desktop app (main.js ~400 lines)
setup.sh / setup.bat for one-click dev environment
Bundles Node.js in resources/runtime/node-{platform}-{arch}
Config stored in app.getPath('userData')/.openclaw/
bootable/ Linux 可启动 U 盘模块(完全独立,不依赖其他模块)
4 步 PowerShell 脚本 (Windows 上制作)
Ventoy 1.0.99 + Ubuntu 24.04 LTS + casper-rw 持久化
linux-setup/ — setup-openclaw.sh 安装到 /opt/u-claw/
独立仓库镜像: github.com/dongsheng123132/u-claw-linux
install/ 一键在线安装模块(curl | bash / irm | iex)
install.sh (Mac/Linux) + install.ps1 (Windows)
7 步流程: 系统检测 → Node.js → OpenClaw → QQ插件 → 技能 → 模型配置 → 启动脚本
安装到 ~/.uclaw/,与 Mac-Install.command 结果相同
Note
: 官网 (u-claw.org) 已拆分到独立私有仓库 u-claw.org,本仓库不再包含 website/ 和 vercel.json。 虾航: AI人导航站 (nav.u-claw.org) 在独立私有仓库 xiahang。
Both portable and desktop versions auto-find a free port in range 18789–18799 and start the OpenClaw gateway. On first run, they detect whether a model is configured — if not, they open Config.html; otherwise, they open the dashboard.
Key Technical Details
- Node.js discovery: Portable looks at
app/runtime/node-mac-arm64/bin/node; Electron looks atresources/runtime/node-{platform}-{arch}then falls back to systemnode - China mirrors: All downloads use
npmmirror.com— Node.js binaries fromnpmmirror.com/mirrors/node, npm packages fromregistry.npmmirror.com OPENCLAW_VERSIONfile: single source of truth for the bundled OpenClaw runtime version (e.g.2026.6.6). CI reads it to pin the npm install; it's copied intoportable/so USB users /check-update.mjscan compare installed vs latest. Bump this file to upgrade.- Environment variables:
OPENCLAW_HOME,OPENCLAW_STATE_DIR,OPENCLAW_CONFIG_PATHcontrol where OpenClaw reads config - macOS quarantine: Mac scripts run
xattr -rd com.apple.quarantineto remove Gatekeeper blocks - Config format:
{"gateway":{"mode":"local","auth":{"token":"uclaw"}},"models":{"mode":"merge","providers":{"xxx":{...}}},"agents":{"defaults":{"model":{"primary":"provider/model"}}}} - Config hot-reload: OpenClaw watches
openclaw.jsonand applies changes without restart - Two local servers on startup: launchers start the OpenClaw gateway (18789–18799) AND
the config-server (
config-server/server.js, 18788–18798). The config-server backsConfig.html— it writesopenclaw.json, drives WeChat QR login, and exposes update-status.
lib/ Helpers (portable)
Pure-Node, zero-dependency .mjs modules (use fetch + node:zlib only). All are designed to
fail silently and run detached so they never block or break OpenClaw startup.
| File | Purpose |
|---|---|
check-update.mjs / publish-latest.mjs |
Portable self-update: check installed vs latest OPENCLAW_VERSION; publish helper. |
wait-gateway.bat |
Windows helper: poll until gateway port is LISTENING before opening the dashboard (fixes startup race). |
maintain.sh |
Maintenance/diagnostics script. |
纯开源,无追踪: 这个开源版不含设备指纹 (
fingerprint.mjs)、自动开户 (bootstrap-xiapan.mjs/xiapan-client.mjs)、崩溃上报 (report-bug.mjs) 等商业版逻辑——这些已在 2026-06-17 移除。U-Claw 不绑定设备、不打指纹、不向api.u-claw.org上传任何数据。
模型配置 ("选模型填 Key")
Config.html 列出国内外大模型供用户挑选。首选卡片是 虾盘云 (Xiapan Cloud 中转站,api.u-claw.org/v1)
——一个 Key 调用 DeepSeek / Claude / GPT / 通义 等全部模型,但和其它 provider 一样需要用户自己去
https://u-claw.org/cloud.html 注册拿 Key,不再自动开户。其余 provider (DeepSeek/通义/Kimi/智谱/
豆包/MiniMax/OpenAI/Claude/Groq/硅基流动/自定义) 填各家官方 Key 即可。配置只写本地
data/.openclaw/openclaw.json。
What NOT to Commit
Never commit runtime dependencies or build artifacts. These are all in .gitignore:
portable/app/andportable/data/(runtime + user data)u-claw-app/node_modules/,u-claw-app/release/,u-claw-app/resources/runtime/*.dmg,*.exe,*.blockmap
Release artifacts go to GitHub Releases, not the repo.
Branding Rules
- Use only official
openclaw(notopenclaw-cnor any community fork) - All npm installs reference
openclaw@latest(official package) - External links point to
u-claw.org(our site) orgithub.com/openclaw/openclaw(upstream) - No references to competitor products (Qclaw, AutoClaw) in any tracked files
- Skill marketplace links point to
skillhub.tencent.comorgithub.com/openclaw/clawhub
Platform Support Status
- Mac Apple Silicon (ARM64): ✅ Working
- Mac Intel (x64): ✅ Working(portable 需先运行 setup.sh 下载 node-mac-x64)
- Windows x64: 🚧 In development
- Linux x64 (Bootable USB): ✅
bootable/目录 + 独立仓库 u-claw-linux
Bootable Linux Key Details
- 制作环境: Windows 10/11 + PowerShell (Admin),4 步脚本
- U 盘要求: 32GB+ USB 3.0
- 技术栈: Ventoy 1.0.99 引导 → Ubuntu 24.04 ISO → casper-rw 持久化 → OpenClaw 安装到 /opt/u-claw/
- 国内镜像: ISO 下载走清华/阿里/中科大,Node.js 和 npm 走 npmmirror.com
- Linux 环境变量:
OPENCLAW_HOME=/opt/u-claw/data/.openclaw - bootable/ 完全独立: 不引用 portable/、u-claw-app/ 的任何文件,修改互不影响
- 同步: bootable/ 内容与 u-claw-linux 仓库保持一致,改一边要记得同步另一边