`node --test tests/` 在 Node 22 上根本不工作 —— Node 把路径当模块加载, 报 "Cannot find module .../tests",退出码 1,零个测试执行。而这条命令在 CLAUDE.md 里被当作标准用法记了很久。这大概就是这套断言从来没人跑起来的 一个主要原因:照文档敲,得到一个看不懂的错误。 正确形式是裸 `node --test`(自动发现 **/*.test.mjs)。四处全改,并加断言 钉住 —— 我自己第一版钩子和 workflow 也照抄了那个错误形式,实测才发现 它会无条件拦住每一次 push。 - .gitea/workflows/tests.yml:Gitea 原生位置。用 node 容器而非 setup-node, 自建 Gitea 上后者要从 GitHub 拉,是新 runner 上又一个可能缺的东西。 容器 tag 与 NODE_VERSION 绑定,否则 CI 测的运行时和出货的不是一个。 - .github/workflows/tests.yml:镜像一份,断言保证两边执行内容一致。 - .githooks/pre-push:不依赖任何 runner 的兜底。实测过它会拦下失败的 push。 写明 --no-verify 怎么跳过 —— 拦不掉的钩子会被第一个被卡住的人删掉。 为什么需要钩子这一层:这台 Gitea 的 Actions 是开着的,但推上去的 workflow 产生了 0 次运行(total_count: 0),runner API 要鉴权查不了,最可能是没注册 runner。钩子是唯一完全不需要服务端支持的一层。 CLAUDE.md 补上 `git config core.hooksPath .githooks` —— 钩子是 per-clone 的, 没人替你装。
U-Claw
An AI workspace on a USB drive. Plug it into any computer — your settings, memory and tools come with it.
Download · Guide · Build from source · 中文
Important
This repository is not a tool that builds a USB drive — it is the drive's contents. Run
setup.shonce to fetch the runtime, then copyportable/onto the drive.
Why a USB drive
Three reasons, and they are the whole pitch:
- Your work computer will not let you install software. Finance, government contracting and most regulated industries lock this down. A USB drive needs no installer and no admin rights.
- Your setup travels with you. Model keys, chat history and project memory live in
data/on the drive, not on whichever machine you borrowed. - Nothing is left behind on the host. Pull the drive out and walk away. (One caveat, stated plainly: U-Claw writes a rebuildable cache to the host's local disk to keep startup fast on slow drives. There is a one-click clean-up under
advanced/.)
Get started
- Download the portable build from Releases, unzip it onto a USB drive, and double-click
START HERE - Windows.bat(orSTART HERE - Mac.command). - Settings opens by itself. Paste an API key — U-Claw identifies the provider and checks the key before letting you continue.
- Start talking.
No key yet? Google Gemini is the quickest: sign in with a Google account, no card, free tier. OpenRouter is a good second choice if you want one key across many models.
Models
| Model | Best for |
|---|---|
| Claude | Best all-rounder |
| GPT | Most widely used |
| Gemini | Free tier, easiest signup |
| SEA-LION | Malay, Tamil and Singlish — built by AI Singapore |
| Local model | Offline. Nothing leaves the machine. |
Others, including DeepSeek, Kimi, Qwen and GLM, are available under Advanced in Settings.
A note on SEA-LION: the hosted API is free but currently rate-limited to 10 requests per minute per user, and there is no published paid tier. That is fine for chatting and tight for agent workloads, so it is offered as a specialist choice rather than a default.
Chat platforms
| Platform | Status | Notes |
|---|---|---|
| Telegram | ✅ Built-in | — |
| ⚠️ Built-in | Uses the Baileys protocol, which is unofficial. There is a real risk of your account being banned — see the warning in Settings before connecting a number you care about. | |
| Discord | ✅ Built-in | — |
| Slack | ✅ Built-in | — |
| WeChat · QQ · Feishu · DingTalk | Available | Mainly useful for users in China — see README.zh-CN.md |
Build it yourself
git clone https://gitea.fanghe.it.com/zhenghy/u-claw.git
cd u-claw/portable/advanced && bash setup.sh # fetches Node.js + OpenClaw, about a minute
cp -R portable/ /Volumes/YOUR_USB/U-Claw/ # Mac
# On Windows, drag the folder onto the drive
What is on the drive
| Mac | Windows | |
|---|---|---|
| Run it | START HERE - Mac.command |
START HERE - Windows.bat |
| All the other tools | Mac-Menu.command |
Windows-Menu.bat |
| Copy onto this computer | Mac-Install.command |
Windows-Install.bat |
| Settings | opens on first run | opens on first run |
U-Claw/
├── START HERE - Windows.bat ← double-click this
├── START HERE - Mac.command ← or this
├── Read me first.html Three-step walkthrough
├── advanced/ Diagnostics, CLI, install-to-PC, build scripts
├── skills/ Skill content + manifest.json
├── lib/ Launcher, i18n, helpers
├── app/ Runtime (fetched by setup.sh, not in git)
│ ├── core/ OpenClaw
│ └── runtime/node-{mac-arm64,mac-x64,win-x64}/
└── data/ Your data (not in git)
├── .openclaw/ Config
├── memory/ What the AI remembers
└── backups/
Linux bootable USB
No operating system on the machine at all? Boot it from the drive into Ubuntu with U-Claw already installed. See bootable/, built on Ventoy + Ubuntu 24.04 LTS with persistence.
The Electron desktop app (
u-claw-app/) was deprecated on 2026-06-19 and is no longer published — seeu-claw-app/DEPRECATED.md. The portable USB build is the product.
Is this safe?
- Your API key is written to the drive only. It is never sent anywhere except to the model provider you chose.
- No telemetry. No device fingerprinting, no usage reporting, no account required. This build has none of that code in it.
- Your conversations stay in
data/on the drive. - What does leave the machine: your messages go to whichever model provider you configured, exactly as they would in that provider's own app. If that is not acceptable for your data, use the local model option instead.
Contributing
See CONTRIBUTING.md. Tests run on every push:
node --test tests/
They check the things that break quietly: launchers staying thin, .bat files staying pure ASCII, no China-routed download sources creeping back, both installers agreeing on the skill list, and every UI string existing in every language.
FAQ
Do I need to install anything? No. That is the point.
Does it work on both Mac and Windows? Yes, from the same drive. Windows builds ship with the runtime included; on Mac the first launch fetches it (about a minute).
Where do my settings live?
data/.openclaw/openclaw.json on the drive. Copy the drive, copy your setup.
Can I use it without an internet connection? Yes, with a local model. Everything else needs to reach your model provider.
Which file system should the drive use? exFAT. macOS can only read NTFS, not write to it, which would break the whole "your settings travel with you" idea.
Contact
- Email — help@u-claw.org
- Issues — GitHub
- Site — u-claw.org
English · 中文
MIT License