Commit Graph

60 Commits

Author SHA1 Message Date
hfshfg
1517152a19 fix(portable): keep config center visible on startup 2026-06-20 12:16:42 +08:00
hfshfg
8bffa5d9d7 feat(portable): 预装国内渠道+本地模型自动发现+4个新技能
- release.yml 便携包离线预装 钉钉/飞书中国版/企业微信 插件(借鉴 openclaw-china 生态)
- config-server 新增 /api/local-models:自动探测 Ollama/LM Studio 本地模型(借鉴 RealShocky/openclaw-windows)
- Config.html 检测到本地模型自动生成卡片、免 Key 点选即用;新增钉钉渠道卡片
- skills-cn 新增 pdf-toolkit/web-to-markdown/qrcode-maker/image-compress(13→17)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 22:45:59 +08:00
hfshfg
4fab64e877 fix(wechat): 便携包打包微信插件 + 修连接成功却报「插件未安装」的矛盾提示
根因:微信插件 @tencent-weixin/openclaw-weixin 是独立 npm 包,但 setup/CI
从没装过它,portable/app/ 又被 gitignore —— 发布包 app/extensions/ 是空的,
客户扫码连上后 config-server 找不到插件源,报「插件未安装」。

- release.yml: 装 @tencent-weixin/openclaw-weixin@latest 到 app/extensions/
  (npm 包自带 dist/index.js 无需 build;显式把 qrcode-terminal 放进插件
   node_modules 以满足 server.js:52 的硬要求)
- config-server/public/index.html: 去掉「连接成功」却又「插件未安装」的自相
  矛盾提示。后端已自动装插件+写好 openclaw.json+存账号,只需重启即可,
  不再暴露 pluginInstalled 内部状态吓客户,改为清晰的「重启 U-Claw 即可用」
- config-server/server.js: 插件 copy 失败时容错(不抛错中断 confirmed 流程)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 19:33:25 +08:00
hfshfg
f715aef9c9 perf(portable): U盘启动加速 — 缓存搬本机 + 启动首屏 + 首轮预热
便携版从 U 盘启动慢,瓶颈在 U 盘随机小写 IO + 首屏无反馈 + 首轮冷启动。
移植 v2 u-clawx 4.0 的 4 个可在纯脚本层复刻的手段(均零依赖、静默失败):

- portable-cache.mjs: 把浏览器 user-data(几百 MB 随机小写)+ V8 编译缓存
  从 U 盘搬到本机 SSD(win junction / mac symlink 重定向 .openclaw/browser,
  NODE_COMPILE_CACHE 落本机)。UUID 隔离让换盘符仍命中同一份缓存。
  业务数据(openclaw.json/memory/账号)仍留 U 盘,便携性不变。
- loading.html: 双击即弹的启动首屏,自轮询 /ready,gateway 真就绪后自动跳
  Dashboard——天然规避"gateway 没起就开 Dashboard 拒连"(issue #46/#48)。
- prewarm.mjs: gateway 首轮预热,后台静默唤醒 config/model 子系统。
- Windows-Start.bat: 等 config-server 改写死 timeout 为动态轮询 18788。
- wait-gateway.bat 退居兜底(首屏页负责主跳转)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 16:38:05 +08:00
hfshfg
29238fc423 fix(portable/mac): setup.sh 装不上 + Bonjour 广播 + 首次启动浏览器不开
在 macmini (Apple Silicon, macOS 15.6.1) 实测发现并修复 3 个 Mac 版问题:

1. setup.sh 漏 --ignore-scripts → 装不上 openclaw(致命)
   openclaw 的 preinstall 脚本会调系统 `node`,但便携版用 app/runtime 下的
   node(不在 PATH),未装 Node 的 Mac 用户 → "node: command not found" code 127。
   两条 npm install 补 --ignore-scripts --no-audit --no-fund --omit=dev,与
   Mac-Start.command 的 fallback install 对齐。

2. Mac-Start.command 没关 Bonjour → mDNS 自动对外广播
   macOS 上 bonjour 插件 auto-start(Win/Linux 是 opt-in)。实测日志:
   `bonjour: advertised ... state=announcing` + `no IPv4 address available on
   utun12`。本地用 Dashboard 不需要 LAN 发现。补 OPENCLAW_DISABLE_BONJOUR=1
   (Windows-Start.bat 早已设)。

3. 首次启动浏览器不自动打开(同 issue #46/#48,此前误判 Mac 无此问题)
   首次启动实测 94.5s(staging 35 个 bundled deps),但浏览器轮询只等 15s
   (30×0.5s) 就放弃。改为最多等 ~3 分钟 (180×1s),加"首次启动需 30-90 秒"
   提示,超时回退打开 Config Center。

三处修复均已在 macmini 端到端重测通过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 12:02:48 +08:00
hfshfg
0d88c9b0cc 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>
2026-06-17 11:47:19 +08:00
hfshfg
b1468d455c feat(portable): 虾盘云插上即用 — 自动开户送试用额度 + Config 首选卡片
解决「插上 U 盘选虾盘云模型却 Invalid token」:之前客户端只生成
sk-uc-指纹 key 写进配置,但后台从没注册该 token。

- xiapan-client.mjs 加 provisionApiKey():把设备指纹送到虾盘云后台
  (POST api.u-claw.org/internal/token/provision) 自动开一个带试用额度
  的 token,返回真正可用的 key。
- bootstrap-xiapan.mjs 改:首启(配置无 cloud key 时)调 provision 拿真
  key 写配置;已有 key 则幂等跳过;provision 失败回退指纹 key 不阻塞启动。
  后端按 deviceId 幂等,刷不出额度。
- Config.html:模型网格加「虾盘云」首选卡片(一个 key 用全部模型,无需
  申请,选中直接启动跳过填 Key);更新过时型号(MiniMax-M2/kimi-k2/
  qwen-plus/doubao-seed-1.6/gpt-5.4/claude-opus-4-6/deepseek-v4);
  banner 文案改为「已含试用额度」。

注:开户/送额度的商业逻辑在闭源服务端(token-key-service),开源仓只放
调用机制。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 16:01:35 +08:00
hfshfg
2d0f33d5a0 chore: 加 .gitattributes 锁定换行符(修跨平台脚本隐患)
core.autocrlf 在不同机器上会把 .command/.sh 转成 CRLF,导致 Mac 用户
双击 .command 报 bad interpreter。明确锁定:
- .bat/.cmd/.ps1 → CRLF(Windows 批处理需要)
- .command/.sh/.mjs/.js/.json → LF(Mac/Linux 需要)

附带把 install/README.md、Windows-Menu.bat 的换行一次性规范化(纯换行,
无内容改动)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 12:29:45 +08:00
hfshfg
01ed1348ef feat(portable): 交互式 CLI 启动器 + 3 个办公技能(采纳自 PR #36)
基于最新 main 重做 PR #36(fanjiazhen)中有价值的部分:
- OpenClaw-CLI.bat / Mac-OpenClaw-CLI.command:进阶用户双击打开一个配好
  便携环境(盘内 Node + 盘内数据 + .bin 入 PATH)的命令行,可直接敲
  openclaw 命令(chat/configure/doctor/gateway status 等)。
- skills-cn/ 新增 word-writer / excel-helper / ppt-designer 三个办公文本
  技能,与现有 10 个本地化技能(小红书/知乎等)互补,frontmatter 格式一致。

未采纳 PR #36 的其余部分:HTML 品牌改动、skill_zip 二进制、删充值.html。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 12:27:13 +08:00
hfshfg
270cf4bda0 fix(portable): gateway 启动卡死/Dashboard 拒连 (issue #46/#48)
根因:Windows-Start.bat 在 gateway 启动【前】就打开 http://127.0.0.1:18789,
而慢 U 盘上 OpenClaw 首次启动要几十秒 staging bundled deps,浏览器打开时
端口还没监听 → "127.0.0.1 拒绝连接",用户以为坏了。

修复:
- 新增 lib/wait-gateway.bat:后台轮询端口(每2s,最多~5min),gateway 真正
  LISTENING 后才打开 Dashboard;超时回退到 Config Center。
- Windows-Start.bat:移除 gateway 启动前的过早开浏览器,改由 wait-gateway
  在 ready 后触发;加"首次启动需 30-90 秒"的明确提示。
- Mac-Start.command 本就先轮询 curl 再开浏览器,无此问题。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 12:23:13 +08:00
hfshfg
6eb54f8ea3 feat(portable): bug 一键上报 + 自动崩溃上报 + openclaw 升级 2026.6.6
Bug 上报(方便服务器侧排查便携版问题):
- 新增 lib/report-bug.mjs:算设备指纹→sk-uc apiKey,收集 openclaw 版本/
  系统信息/最近日志(gzip+base64),POST 到 api.u-claw.org/recharge/bug/submit。
  静默失败,绝不影响主流程。复用 fingerprint.mjs + xiapan-client.mjs。
- config-server 加 POST /api/report-bug:本地补齐信息后转发,配置中心加
  「🐛 报 Bug」表单(标题/描述/是否附日志)。
- Windows-Start.bat / Mac-Start.command:gateway 端口耗尽或异常退出时
  自动后台上报(Ctrl+C 正常停止不上报)。

openclaw 升级:
- OPENCLAW_VERSION 2026.4.29 → 2026.6.6(X 盘真实 USB 实测 gateway
  启动/ready、Dashboard 200、旧配置兼容、虾盘云 status 均通过)。

便携性改进(借鉴 OpenClaw-Windows-Portable):
- setup.sh / 启动脚本的 npm install 设 npm_config_cache 指向盘内
  app/.npm-cache,避免污染系统缓存,拔盘不留痕。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 11:46:42 +08:00
hfshfg
d9dd98d650 feat(portable): 便携版更新检测 — config-server 加 /api/update-status + check/publish 脚本 + CI 剥 BOM
config-server 新增 /api/update-status 和 /api/update-check,读取 check-update.mjs
写入的 update-available.json,便携版可提示有无新版本。publish-latest.mjs 用于
发布端生成 manifest。release.yml 顺手修打包时 .bat 的 UTF-8 BOM(BOM 会让 cmd.exe
把首条命令认错报 not internal/external command)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 13:12:16 +08:00
hfshfg
c6a11b6aac build(portable): 把 OPENCLAW_VERSION 拷进 portable/ 让 U盘用户能读版本 + Start.bat 转义修复
setup.bat/setup.sh 打包时把版本文件 copy 进 portable/,U盘用户脱离 repo 根
也能读到版本号。Windows-Start.bat 修 cmd.exe 把未转义 ) 当块结束的坑(加 ^ 转义)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 12:58:01 +08:00
8000cabbage
3ff3661825 fix: stabilize Windows launchers for v2.1.4
Fix Windows portable, installer, and desktop launcher startup paths; bump desktop metadata to 2.1.4.
2026-05-19 14:30:34 +08:00
hfshfg
78bcb7fd8e fix(release): Windows-only portable bundle with pre-installed deps
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)
2026-05-04 11:02:56 +08:00
hfshfg
cc2984234b feat(v2.1.2): align with ClawX schema + config-server port fallback
Three changes for v2.1.2:

1. bootstrap-xiapan now writes "agents.defaults.model.primary/fallbacks"
   (uclaw-cloud/deepseek-v4-flash + 3 fallbacks) and an empty models[],
   matching the ClawX commercial schema. Lets OpenClaw runtime auto-discover
   models from /v1/models instead of hard-coding a list that drifts.

2. config-server tries ports 18788..18798 with EADDRINUSE fallback and
   persists the live port to data/.openclaw/runtime.json so future tooling
   can discover it. Fixes silent failure when a second portable instance
   started while 18788 was occupied.

3. u-claw-app/package.json version 2.0.0 -> 2.1.2 so .exe/.dmg filenames
   align with the release tag.
2026-05-03 00:07:09 +08:00
hfshfg
1f8224561b fix(bootstrap): use "name" instead of "label" for model schema
OpenClaw 2026.4.29 renamed the per-model field from "label" to "name". The
old field is now an Unrecognized key, which fails schema validation at
gateway startup and exits OpenClaw before any HTTP listener binds.

Symptom (v2.1.0 first-launch):
  - models.providers.uclaw-cloud.models.0.name: Invalid input: expected string, received undefined
  - models.providers.uclaw-cloud.models.0: Unrecognized key: "label"
  - throwInvalidConfig() at io-DaEsZ_NY.js:2901 -> process exit

Found via end-to-end H: drive test of v2.1.0 portable zip.
2026-05-02 18:58:05 +08:00
hfshfg
9ecbbd445c feat: 内置虾盘云 + 设备指纹绑定 + Release 流水线
- 新增 portable/lib/{fingerprint,xiapan-client,bootstrap-xiapan}.mjs:
  跨平台设备指纹(Win USB/disk + Mac UUID + Linux machine-id + seed 兜底)
  生成 sk-uc-{fingerprint} 形式的虾盘云 apiKey,启动时 merge 到 openclaw.json
- Config.html 顶部新增「已绑定虾盘云」横幅:指纹来源 + Key + 余额 + 充值/解绑
- config-server 增加 /api/xiapan/{status,bind,unbind} 三个端点
- Electron app 在 whenReady 调 bootstrap,新增 sync-lib.js 让 build 前自动同步
- 锁 OpenClaw 版本到 2026.4.29(OPENCLAW_VERSION 单一来源)
- 删除死代码 portable/充值.html
- 新增 .github/workflows/release.yml:tag 触发,出 portable zip + Electron exe/dmg
- README 增加内置虾盘云说明 + 直接下载发行版指引
2026-05-02 17:07:42 +08:00
hfshfg
b6ba958b79 fix(portable): node-extract path + unreachable legacy-config sync
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>
2026-05-01 15:36:34 +08:00
hfshfg
88cf2b2dc4 fix(portable/setup.ps1): cd to core dir before npm install
When users run setup.ps1 from PowerShell with cwd outside the repo
(e.g. C:\Users\Admin>), npm 11 walks up looking for package.json and
errors with ENOENT before honoring --prefix. setup.bat already pushd's
into core; setup.ps1 was missing the equivalent Push-Location guard.

Fixes #27 (setup.ps1 ENOENT package.json reported by lawler-code).
2026-05-01 15:29:04 +08:00
hfshfg
efebe923aa fix windows install node version guard 2026-04-30 19:50:15 +08:00
hfshfg
b57aeb068c fix portable config and qqbot packaging 2026-04-30 19:47:57 +08:00
dongsheng123132
49b875b081 feat: add uninstall.sh for one-click uninstall 2026-04-13 18:17:14 +08:00
hfshfg
690d1b7060 fix: 修复 QQ Bot 配置后 Gateway 无法启动的问题
1. 清除旧版 "agent" 废弃键 — 保存 channel 配置时自动删除旧的 agent 键,
   防止 OpenClaw 报 "agent.* was moved" 错误(前端 + 服务端双重防御)
2. Dashboard URL 动态端口探测 — 将硬编码 18789 改为扫描 18789-18799,
   解决端口被占用时打不开 Dashboard 的问题
3. 安装脚本配置格式升级 — install.sh / install.ps1 / install-silent.ps1
   生成的 openclaw.json 从旧的 "agent" 格式迁移到 "agents.defaults.model.primary"
4. 文档示例同步更新 — CLAUDE.md / cloud.html / guide.html 中的配置示例

影响文件: 14 个(portable/, install/, website/, u-claw-app/, usb-release/)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 22:05:09 +08:00
hfshfg
220599584e feat: add WeChat QR code login to config-server
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>
2026-04-09 22:03:20 +08:00
hfshfg
e9c508a27e fix: 充值页改为浅色风格,仅支付宝,余额401显示新用户提示
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 16:52:39 +08:00
hfshfg
6598eaaa35 fix: 充值.html 余额显示乘以7.2换算为CNY
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 16:27:45 +08:00
hfshfg
70fc030e8e fix: replace setup.bat with complete version (add QQ plugin + --all-platforms)
PR #13 (luckylibin) version includes:
- QQ plugin installation step (was missing)
- --all-platforms flag to download Mac Node.js runtimes
- More robust error handling

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 22:28:36 +08:00
dongsheng123132
c0ea59e16f feat: add Windows setup.ps1 for portable
# Add Windows setup.ps1 for portable
2026-04-04 21:21:57 +08:00
hfshfg
5dc204ab4e fix: 补全遗漏的 botToken 修复(config-server + 官网教程)
code review 发现三处漏修:
- fix(config-server/public/index.html): botToken → token,
  这是实际运行的配置页面,漏改会导致用户配置后仍然 401
- fix(website/tutorial.html): 示例 JSON botToken → token
- fix(website/guide.html): 示例 JSON botToken → token
  文档示例错误会导致用户手动配置时照抄出错

全仓库现已无 botToken 残留。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 10:04:24 +08:00
hfshfg
4dac1ae4ab fix: code review 修复两处 bug 并优化启动提示
- fix(setup.bat): 修复 Node.js 解压路径错误
  xcopy 来源从 %TEMP%\node-v22-win-x64\* 改为
  %TEMP%\node-extract\node-v22-win-x64\*,
  否则解压后 xcopy 找不到文件,Node.js 安装必然失败
- fix(Config.html): 点击「启动 OpenClaw」后 toast 改为
  「配置已保存!请关闭此页面,回到启动窗口使用 U-Claw」,
  避免用户误以为点击后会自动启动而一直等待
  (portable / usb-release / u-claw-app 三个版本同步)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 09:48:44 +08:00
hfshfg
3f6f960ffc fix: 修复 bat 编码乱码、Config.html 打不开、missing scope 问题
- fix(bat): 所有 Windows .bat 文件加 UTF-8 BOM,修复中文乱码
  (portable 和 usb-release 共 7 个文件,close #3)
- fix(usb-release/Windows-Start.bat): 首次启动打开 Config.html
  时补加 file:/// 前缀,修复浏览器无法打开本地文件的问题
  (close #12)
- fix(Config.html): gateway.auth 加入 scopes: ['operator.admin'],
  修复配置模型时报 missing scope: operator.admin 错误
  (portable / usb-release / u-claw-app 三个版本同步,close #11)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 09:31:16 +08:00
hfshfg
4647a49cea fix: 修复 Telegram 401 错误并新增 Windows setup.bat
- fix(Config.html): telegram channel 配置字段 botToken → token,
  修复接入 Telegram 时所有请求返回 401 Unauthorized 的问题
  (影响 portable / usb-release / u-claw-app 三个版本)
- feat(portable): 新增 setup.bat,Windows 用户可一键下载
  Node.js v22 + 安装 OpenClaw + 安装中文技能包,
  对应 setup.sh 的 Windows 版本(解决 issue #10 #17)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 09:28:27 +08:00
Skandhas5
ecc03ab859 Add setup.ps1 for portable setup in Windows 2026-03-22 17:03:19 +08:00
hfshfg
fc9e20125d fix: Mac-Start.command 重写 + Node.js 升级到 v22.22.1
Mac-Start.command:
- 用 config-server (18788端口) 替代 python3 读取 token 和打开 Config.html
- 去掉 python3 依赖(HAS_MODEL 检测、token 读取)
- 启动后同时打开 Dashboard 和 Config Center
- 退出时自动清理 gateway 和 config-server 进程
- 对齐 Windows-Start.bat 和 G 盘 Pro 版的架构

setup.sh:
- Node.js v22.14.0 → v22.22.1(满足 openclaw >=22.16.0 要求)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 10:49:40 +08:00
hfshfg
6569bcddf6 fix: Windows-Start.bat 启动修复 + Config Center 全面升级
Windows-Start.bat:
- 去掉 EnableDelayedExpansion,避免感叹号解析问题
- 用 config-server (18788端口) 替代直接打开 Config.html
- 去掉有 bug 的 token 读取(引号嵌套问题)
- 去掉 powershell 日志管道,简化启动流程
- 对齐 H 盘已验证可用的方案

Config Center (config-server/public/index.html):
- 步骤式引导:选模型 → 填 Key → 启动
- 11 个模型:MiniMax/Kimi/DeepSeek/智谱GLM/通义千问/豆包/OpenAI/Claude/Groq/硅基流动/自定义
- 4 个聊天平台:Telegram/QQ/飞书/企业微信
- Gateway 状态实时检测
- 正确的 OpenClaw v3 配置格式

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 10:47:52 +08:00
dongsheng123132
889fc2a685 feat(config): Config.html Pro 版 + 渠道卡片展开填写 + Portable 模式
- Config.html 全新 Pro 版:3步式配置(选模型→填Key→启动)
- Step 3 渠道卡片可展开填写:Telegram / QQ Bot / 飞书 / 企业微信
- 渠道配置启动时自动写入 openclaw.json
- main.js 支持 Portable 模式(.app 旁有 portable/ 目录时使用)
- hasModelConfigured() 兼容新配置格式
- Node 升级到 v22.16.0
2026-03-19 15:25:42 +08:00
dongsheng123132
83996e42db feat: enhance Windows scripts to match Mac feature parity
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>
2026-03-16 15:51:54 +08:00
dongsheng123132
c284a604c0 fix: add migration shim to Menu and Diagnose scripts
Mac-Menu, Mac-Diagnose, and Windows-Diagnose were missing the
core-mac/core-win → core migration shim, causing them to fail
on existing USB drives that still have the old directory name.
2026-03-14 17:37:00 +08:00
dongsheng123132
4fcd22d4e3 cleanup: remove Linux scripts, unify core dir, fix Intel Mac bug
- 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
2026-03-14 00:08:56 +08:00
dongsheng123132
e4c8e7550a feat: add Intel Mac (x64) support in Mac-Start.command
Co-authored-by: Zhangchen <2hangchen@users.noreply.github.com>
Closes #6
2026-03-13 19:02:11 +08:00
dongsheng123132
7766d59e55 merge: resolve conflict in Windows-Start.bat, add Linux scripts and maintain lib 2026-03-13 17:35:55 +08:00
hfshfg
8ae4d87e4f feat: add independent config server to replace Config.html
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
2026-03-12 20:26:15 +08:00
hfshfg
874e2445f8 Improve Windows startup and diagnostics
- 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>
2026-03-12 19:29:27 +08:00
hfshfg
25bc0076b0 fix: Windows support & cross-platform architecture
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>
2026-03-12 18:50:55 +08:00
hfshfg
11220537a0 fix: correct Windows batch file syntax and config path consistency
Fixed critical Windows-specific bugs in portable USB scripts:
- Replaced Unix /dev/null with Windows nul in all batch files
- Unified config file path to use .openclaw/openclaw.json consistently
- Windows-Start.bat now uses same config structure as Windows-Menu.bat

Files modified:
- portable/Windows-Start.bat: Fix /dev/null syntax, unify config path
- portable/Windows-Menu.bat: Fix multiple /dev/null occurrences
- usb-scripts/Windows-Install.bat: Fix /dev/null syntax

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-12 17:50:20 +08:00
dongsheng123132
920fc06679 feat: add 10 China-optimized skills, auto-install via setup.sh
Skills (40KB total, in portable/skills-cn/):
- deepseek-helper: DeepSeek API usage and model selection
- china-weather: Chinese city weather via wttr.in
- xiaohongshu-writer: 小红书爆款笔记写作
- wechat-article: 微信公众号文章写作
- douyin-script: 抖音/快手短视频脚本
- bilibili-helper: B站内容优化
- china-search: 百度/搜狗/Bing国内搜索
- zhihu-writer: 知乎回答写作
- weibo-poster: 微博内容创作
- china-translate: 中英互译+本地化

setup.sh auto-copies skills-cn/ into OpenClaw skills directory.
No external dependency on ClawHub for these skills.
2026-03-12 15:48:17 +08:00
dongsheng123132
b9037ebfa1 fix: remove build-usb.sh, correct README positioning
The repo IS the USB content (minus large deps), not a builder tool.
setup.sh fills in missing deps → folder is ready to copy to USB.
2026-03-12 15:24:55 +08:00
dongsheng123132
9136b5ae69 feat: add USB builder tool and install-to-computer scripts
- build-usb.sh: one-click USB drive builder (downloads Node.js + OpenClaw
  from China mirrors, packages into USB-ready directory)
- Mac-Install.command: install from USB to Mac (~/.uclaw/), offline-first
  with China mirror fallback
- Windows-Install.bat: same for Windows
- README.md rewritten to position project as "USB drive builder toolkit"
2026-03-12 14:02:53 +08:00
dongsheng123132
ed454f78ac fix: correct openclaw.mjs path in Windows scripts, remove broken build step
Same fixes as Mac scripts: use full node_modules path for openclaw.mjs
and remove non-existent npm run build step.
2026-03-12 12:03:17 +08:00