chore(portable): 回归纯开源 — 移除指纹/自动开户/崩溃上报
去掉不适合开源的商业逻辑,保持一个纯粹的开源 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>
This commit is contained in:
61
CLAUDE.md
61
CLAUDE.md
@@ -26,8 +26,8 @@ Four distribution forms:
|
||||
|
||||
```bash
|
||||
# Portable version — build dev copy
|
||||
cd portable && bash setup.sh # Downloads Node.js v22 + OpenClaw + QQ plugin to app/
|
||||
bash Mac-Start.command # Launch (Mac ARM64 only currently)
|
||||
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/
|
||||
@@ -46,17 +46,41 @@ cd bootable
|
||||
.\4-copy-to-usb.ps1 # Copy ISO + persistence + scripts to USB
|
||||
```
|
||||
|
||||
Testing should be done in a separate folder or directly on USB. This repo stays clean (no node_modules, no app/ runtime).
|
||||
### Tests
|
||||
|
||||
```bash
|
||||
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)
|
||||
Scripts, HTML pages, setup.sh
|
||||
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)
|
||||
Mac-Install.command / Windows-Install.bat — install to computer from USB
|
||||
skills-cn/ — 10 个中国本地化技能(小红书、微博、B站等)
|
||||
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
|
||||
@@ -85,10 +109,35 @@ Both portable and desktop versions auto-find a free port in range 18789–18799
|
||||
|
||||
- **Node.js discovery**: Portable looks at `app/runtime/node-mac-arm64/bin/node`; Electron looks at `resources/runtime/node-{platform}-{arch}` then falls back to system `node`
|
||||
- **China mirrors**: All downloads use `npmmirror.com` — Node.js binaries from `npmmirror.com/mirrors/node`, npm packages from `registry.npmmirror.com`
|
||||
- **`OPENCLAW_VERSION` file**: 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 into `portable/` so USB users / `check-update.mjs` can compare installed vs latest. Bump this file to upgrade.
|
||||
- **Environment variables**: `OPENCLAW_HOME`, `OPENCLAW_STATE_DIR`, `OPENCLAW_CONFIG_PATH` control where OpenClaw reads config
|
||||
- **macOS quarantine**: Mac scripts run `xattr -rd com.apple.quarantine` to 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.json` and 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 backs
|
||||
`Config.html` — it writes `openclaw.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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user