Commit Graph

11 Commits

Author SHA1 Message Date
b076815171 feat: 海外化改造(新加坡市场)—— 阶段 0-3
Some checks failed
Tests / test (push) Has been cancelled
按 U-Claw-海外化改造方案.md 与 范围决策记录.md 实施。这是 fork,不回上游:
海外版删掉的正是上游的中国市场默认值。

阶段 0 地基
- 下载源全部改国际:脚本/CI 61 处 + lockfile 880 条 npmmirror URL 归零
  (lockfile 那 880 条是 npm 的 resolved 字段,脚本层参数化根本绕不过它)
- 移除 install.ps1 里三个第三方 GitHub 加速代理,bundle 改直连 + SHA256 校验
  (原来只检查"文件大于 1MB"就解压运行)
- 技能内容与分发分离:skills/manifest.json 单一来源,install.sh 1170→658 行、
  install.ps1 721→546 行,两者技能内容归零
  实测原来是三份不一致:skills-cn 完整、install.sh 约 40%、install.ps1 约 17%,
  且 7 个通用技能只有 U 盘版有 —— 一键安装的用户一个能用的技能都没有
- Node 版本三种(v22.14/16/22.1)统一,新建 NODE_VERSION 单一来源
- Config 页三份合一。portable/Config.html 用根相对路径调 API 却只从 file:// 打开,
  保存功能已静默失效两个月;现缩为 120 行重定向壳
- 测试接入 CI(此前 node --test 无人运行,所有断言形同虚设)

阶段 1 双语可用
- 浏览器侧 i18n:JSON 为源、生成经典 script(file:// 下 fetch 本地 JSON 被拦)
  语言跟盘走不跟机器走:启动器写 data/.openclaw/locale.js
- 8 处硬编码 lang="zh-CN" 归零,data-i18n 覆盖 213 处,词条 en/zh 各 279 条
- B3 单框 Key:12 张模型卡 → 一个输入框,前缀识别 provider,
  服务端 /api/test-key 发 1-token 请求实测,错误映射成人话
  Key 填错到得知:从"直到对话失败"降到 ≤1 秒
- 区域格式 SG:DD/MM/YYYY、12 小时、S$、Asia/Singapore
  (ICU 在 en-SG 下把 SGD 渲染成裸 $,与美元无法区分,故自行拼 S$)
- README 内容分叉而非翻译,§1.3 证据清单逐条清零

阶段 2 降门槛
- 启动逻辑上移 lib/start.mjs:Windows-Start.bat 220→28 行、
  Mac-Start.command 235→33 行
  修掉 Mac 侧两个 bug:控制台端口硬编码 18788(回落时打开死页)、
  微信插件从未在 Mac 上安装
- U 盘根目录 23 → 3 个可点文件,其余进 advanced/
- 首启向导:语言 → 用途(7 角色,manifest 驱动)→ 密钥,答过不再问
- 三档界面,Simple 档隐藏一切技术名词
- 自动自愈:启动失败先自查自修,修不好导出脱敏诊断包
  (Doctor 从"用户要知道去点的工具"变成后台机制)

阶段 3 技能库
- 19 个英文技能,planned 归零。sg-weather / sg-transport 的端点均实测过
- SkillHub 从 56 张手写第三方卡片改为 manifest 生成:703→125 行,中文归零

其他
- origin.json 收拢所有运行时地址,tests/origin.test.mjs 保证迁移不会漏
- portable/ 下用户可见中文归零(由断言保证)
- 82 项测试

未验证(本机无 Windows / 无 pwsh):
- install.ps1、setup.ps1 约 210 行改动从未经 PowerShell 解析器
- 完整启动路径仅在假 node + 假 openclaw 上冒烟
- 8 个 .bat 的盘根推导仅静态断言
详见 U盘实测清单.md

受阻:
- 隐藏黑窗口 —— 需代码签名证书(.vbs 已被 Windows 弃用,替代方案都要签名)
- 场景卡 —— OpenClaw 上游 Dashboard 无预填 prompt 接口
- 官网 36 条 —— 上游 2026-04-14 拆到私有仓库,无权限
2026-08-17 18:37:49 +08:00
hfshfg
0be55b9064 fix(models): DeepSeek 写死已下线的 deepseek-chat,客户配完必坏
api.deepseek.com 已停用 deepseek-chat / deepseek-coder / deepseek-reasoner,
现在只接受 deepseek-v4-flash 和 deepseek-v4-pro,用旧名调用直接返回:

  400 The supported API model names are deepseek-v4-pro or
      deepseek-v4-flash, but you passed deepseek-chat.

Config.html 把 card.dataset.model 直接写进 openclaw.json 的 models[].id 和
agents.defaults.model.primary,所以客户只要在配置页点「DeepSeek」卡片,配出来
的就是必然失败的配置——网关照常 listening、webchat 照常连上,只在日志里刷
embedded_run_agent_end/isError=True,界面上表现为「发消息没反应」,极难自诊。

客户机 pc-5376 实测:连续 2 小时、20+ 次对话全部 400 失败。

改动(deepseek-chat -> deepseek-v4-flash):
- portable/Config.html                     data-model,落盘值
- portable/config-server/public/index.html data-model,落盘值(同一清单第 2 份拷贝)
- install/install.ps1                      交互式选项 1
- install/install.sh                       交互式选项 1 + 未知选项兜底
- u-claw-app/resources/Config.html         已废弃的 Electron 归档,一并改防止复活
- portable/Mac-Menu.command                提示文字
- portable/skills-cn/deepseek-helper/      技能文档模型表(会被 AI 读取并转述给用户)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 20:48:35 +08:00
hfshfg
8981c21262 fix(config): 移除 gateway.auth.scopes,修复保存后 gateway 起不来
Config.html 生成的 openclaw.json 里 gateway.auth 带 scopes:['operator.admin'],
被 OpenClaw 2026.6.x 的 strict schema 拒绝(gateway.auth: Invalid input),
导致用户选完模型保存后 gateway 启动失败。三个 Config 页统一为
{ mode:'local', auth:{ mode:'token', token:'uclaw' }, remote:{ token:'uclaw' } },
与服务页 public/index.html 及启动脚本默认配置对齐。

实测:虾盘云 Key + deepseek-v4-pro 直连 api.u-claw.org/v1 返回 200;
去 scopes 后 gateway 正常启动并加载 uclaw-cloud provider。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 15:51:26 +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
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
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
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
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
be734cb111 feat: restructure repo for collaboration + add desktop app source
- Reorganize project: clean structure (portable/ u-claw-app/ usb-scripts/ website/)
- Move docs into website/, rename uclaw-scripts to usb-scripts
- Add u-claw-app/ Electron desktop source code
- Add portable/setup.sh: one-command dev environment setup
- Add portable/SkillHub.html: skill marketplace page
- Update README: dev guide, contribution workflow, project structure
- Update .gitignore: exclude runtime binaries and build artifacts
- Expand China install guide: npm mirrors, detailed onboard wizard
2026-03-12 10:59:26 +08:00