Commit Graph

15 Commits

Author SHA1 Message Date
stswangzhiping
7e44744c31 fix: apply web search config even when no provider configured; bump to 1.3.5
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-05 21:40:15 +08:00
stswangzhiping
684e9728dd feat: write searxng config via .env + openclaw.json on activation/reconnect; bump to 1.3.4
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-05 20:49:04 +08:00
stswangzhiping
f61a0a4305 feat: ensure searxng config on reconnect if missing/changed; bump to 1.3.3
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-05 18:46:17 +08:00
stswangzhiping
4d13fdec8c feat: write searxng web search config on activation, remove on unbind; bump to 1.3.2
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-05 18:26:39 +08:00
stswangzhiping
18bea4ae38 fix: applyFullProviderFromVps 无变化时跳过写盘
apiKey + 模型列表 MD5 均未变化时不写 openclaw.json,
避免 BOX 每次重连都触发不必要的 gateway 重启。

Made-with: Cursor
2026-04-23 08:22:32 +08:00
stswangzhiping
4cf0e4e948 feat: 重连时 MD5 校验模型列表,有变化才更新 openclaw.json
- 新增 computeModelsMd5():对模型 id 列表排序后取 MD5
- 新增 refreshModelsIfChanged():读现有 provider 配置拉新模型,MD5 不同才写盘
- client.js: 重连(active + 无完整 provider)时调用 refreshModelsIfChanged,而非直接跳过

Made-with: Cursor
2026-04-23 07:53:49 +08:00
stswangzhiping
c64aeab3b2 feat: model 列表增加 input 字段
Made-with: Cursor
2026-04-14 09:04:58 +08:00
stswangzhiping
f6afcd5cc2 refactor: 移除 restartGateway,openclaw.json 单次写入
gateway 自动检测文件变更并重启,clawd 无需主动 kill。
同时去掉 applyFullProviderFromVps 的预清理写盘,
改为拉完模型后一次性写入,避免 gateway 读到中间状态。

Made-with: Cursor
2026-04-05 09:12:57 +08:00
stswangzhiping
4852ded7e5 fix: clawd 不再写 agents/main/agent/auth-profiles.json
clawd 以 root 身份运行,写该目录会导致 gateway(sts 用户)的 agents 目录被 root 创建。
clawd 只需修改 openclaw.json,gateway 重启后会自行读取,无需操作 gateway 内部目录。

Made-with: Cursor
2026-04-04 21:33:35 +08:00
stswangzhiping
66b94d828f fix: 还原 inactive 路径 restartGateway + showTime keepalive
1. 还原 7737e08:removeProviderByName 重新调用 restartGateway(),
   inactive/active 状态变化均重启 gateway 使 openclaw.json 生效

2. led.js showTime() 加 30s keepalive 定时器:持续向 vfdservice
   管道写入,防止长时间无写入后管道"冷却",导致随后 showPin()
   调用 openSync(FIFO, 'w') 因无读端而阻塞、blink timer 无法触发

Made-with: Cursor
2026-04-03 18:40:08 +08:00
stswangzhiping
7737e08464 fix: inactive 路径不重启 gateway,修复 PIN 不闪问题
removeProviderByName 中移除 restartGateway() 调用。

原因:inactive 时 kill openclaw-gateway 会破坏 vfdservice
(gateway 的子进程或共享 VFD 管道的进程),导致后续 showPin
写管道失败或被 gateway 重启后的时钟命令覆盖,数码管无法显示
PIN 闪烁。

inactive 期间设备 frp 隧道已断开,无人访问 gateway,无需立即
重启。下次 active 时 applyFullProviderFromVps 会写完整 provider
config 并重启 gateway。

Made-with: Cursor
2026-04-03 18:20:09 +08:00
stswangzhiping
f4efb13612 fix: restartGateway 改异步,修复 inactive 时 PIN 不闪问题
原来 removeProviderByName 内用 execSync 调 pkill,在 showPin 前
阻塞事件循环约 100ms+;若 vfdservice 是 gateway 子进程则管道无
读端,导致 showPin 写入失败或 blink setTimeout 无法触发。

改为 exec(异步):pkill 在后台执行,不阻塞事件循环,LED/VFD
操作(showPin blink)可正常调度。

Made-with: Cursor
2026-04-03 11:41:59 +08:00
stswangzhiping
7c9a6e913e fix: 确保 origin 更新后再重启 gateway
active+full provider 路径:
  addProviderSync → onDone(写 origin) → restartGateway 一次
之前顺序错误导致 gateway 用旧 origin 重启后再重启一次。

_updateOpenClawOrigin 只负责写盘,不再调 pkill。
移除 client.js 中已无用的 execSync 引入。

Made-with: Cursor
2026-04-03 10:53:05 +08:00
stswangzhiping
701251f19b fix: 写盘 openclaw.json 后自动重启 gateway
- openclaw-provider.js: 新增 restartGateway(),在 removeProviderByName
  和 applyFullProviderFromVps 写盘成功后均调用,确保 inactive/active
  两路都能触发重启
- client.js: _updateOpenClawOrigin 去掉 CLAWD_OPENCLAW_GATEWAY_PKILL
  env var 门控,origin 变更后默认重启

Made-with: Cursor
2026-04-03 10:50:29 +08:00
stswangzhiping
4cfdaa46e5 feat: apply VPS provider to OpenClaw on status_update (fetch models, merge config)
- Add openclaw-provider: fetch /v1/models, merge provider/auth, remove by name
- Wire client _applyStatus: inactive removes provider; active applies full provider then origin
- Single-flight _busy to ignore concurrent apply/remove; isFullProvider uses base-url key

Made-with: Cursor
2026-03-31 14:32:50 +08:00