Commit Graph

  • 23afd24f4d feat(led): drive VFD digits via vfdservice pipe (TITLE/CLOCK), keep display API stswangzhiping 2026-03-29 13:40:56 +08:00
  • a6e2f7ab8f fix(client): default off BtMonitor unless CLAWD_ENABLE_BT (no env line needed) stswangzhiping 2026-03-29 08:20:08 +08:00
  • aa9561f946 chore(install): default CLAWD_DISABLE_BT=1 in new env file template stswangzhiping 2026-03-29 08:18:34 +08:00
  • b25bc58a3b fix(client): honor CLAWD_DISABLE_BT and skip BtMonitor without hci stswangzhiping 2026-03-29 08:16:13 +08:00
  • e3e9580e46 fix(network): async connectWifi so systemd watchdog can fire during nmcli wait stswangzhiping 2026-03-29 08:14:24 +08:00
  • 4c16483ee7 fix(network): robust AP->STA connect (nmcli argv, device show state, wifi iface for DNS) stswangzhiping 2026-03-29 07:46:22 +08:00
  • 012ad90335 fix(provision): treat WiFi join success by STA state, not internet ping stswangzhiping 2026-03-29 07:10:43 +08:00
  • 2ec02d71bb fix(client): start LAN carrier polling (led.lan was never started) stswangzhiping 2026-03-28 22:53:11 +08:00
  • f7c462220e fix(led): map LAN to play icon and WiFi status to wifi+eth pair stswangzhiping 2026-03-28 22:39:26 +08:00
  • ea502fc26a refactor(network): unify sysfs carrier reads and LAN vs wired iface logic stswangzhiping 2026-03-28 22:33:29 +08:00
  • 1910a2fb9f fix(led,provision): AP forces WiFi(play) off; LAN uses carrier+operstate stswangzhiping 2026-03-28 22:15:48 +08:00
  • 9800e712e5 fix(network): LAN LED use end0/eth0 carrier only, decouple from WiFi stswangzhiping 2026-03-28 22:07:20 +08:00
  • 23a1f8aad8 docs(install): CLAWD_ETH_IFACE optional with auto LAN iface cache stswangzhiping 2026-03-28 21:53:44 +08:00
  • a186857126 fix(network): auto-cache LAN iface for carrier when CLAWD_ETH_IFACE unset stswangzhiping 2026-03-28 21:53:21 +08:00
  • 8f5a8ec896 fix(led): swap WiFi(play)/LAN(wifi+eth), LAN carrier via CLAWD_ETH_IFACE, faster alarm stswangzhiping 2026-03-28 21:50:56 +08:00
  • 347b19a0c9 feat(led): OpenVFD sysfs (wifi+eth, alarm, play/lan), skip BT without hci stswangzhiping 2026-03-28 21:35:38 +08:00
  • abd123b3dd fix(client): remove AP net monitor WS terminate (scheme A) stswangzhiping 2026-03-28 17:18:36 +08:00
  • 06d06fdd1e fix(systemd): use systemd-notify + NotifyAccess=all for watchdog stswangzhiping 2026-03-28 14:54:56 +08:00
  • fdc1e9fbd3 fix(systemd): pet watchdog when WATCHDOG_USEC missing; StartLimitInterval for old systemd stswangzhiping 2026-03-28 14:49:07 +08:00
  • 04dd1017bb fix(network): wired ping probe, AP/WS and systemd notify hardening stswangzhiping 2026-03-28 14:37:56 +08:00
  • 402440aadc refactor(led): drop openvfd sysfs writes, log [vfd] at debug stswangzhiping 2026-03-27 16:31:17 +08:00
  • 6ad573e272 Revert "fix(openclaw): always set gateway.origin when updating claw subdomain" stswangzhiping 2026-03-27 14:42:53 +08:00
  • 69ac075e8c fix(openclaw): always set gateway.origin when updating claw subdomain stswangzhiping 2026-03-27 14:42:05 +08:00
  • 12366790d2 fix(network): auto-detect wired iface and ping via -I for hasInternet stswangzhiping 2026-03-27 14:30:23 +08:00
  • 88283ad6b6 chore(tools): box-install-from-tar runs bundled install.sh (no curl/CDN) stswangzhiping 2026-03-27 14:02:34 +08:00
  • 7823edc7b3 fix(install): skip git/tarball when package.json already present (offline BOX) stswangzhiping 2026-03-27 13:59:54 +08:00
  • 884b0dc50a feat(openclaw): persist config as ~/.openclaw/openclaw.json stswangzhiping 2026-03-27 13:49:23 +08:00
  • 85026cdf47 docs: add repo paths and module overview table to README stswangzhiping 2026-03-27 10:16:18 +08:00
  • 837cb8865f feat: BtMonitor 监控 bluetoothctl 状态驱动 BT 指示灯 stswangzhiping 2026-03-24 23:14:02 +08:00
  • dcc20e2cad fix: BT 灯仅在搜索热点和连接热点时闪烁 stswangzhiping 2026-03-24 23:00:07 +08:00
  • 37e93c66eb feat: 添加蓝牙指示灯(b6)控制 stswangzhiping 2026-03-24 22:58:10 +08:00
  • 935d5ba176 fix: 用 js-yaml 正确解析 config.yaml 获取 dashboard token stswangzhiping 2026-03-24 17:00:33 +08:00
  • cdb2ddc688 fix: getDashboardInfo 改为读取 config.yaml stswangzhiping 2026-03-24 16:47:35 +08:00
  • 7c03a59c57 refactor: 重构 OpenClaw config.yaml 更新逻辑 stswangzhiping 2026-03-24 16:22:05 +08:00
  • 4a1a2de300 fix: only run configureOpenClaw once per clawId, not on every WS reconnect stswangzhiping 2026-03-24 14:31:31 +08:00
  • 029f7fe0a9 fix: edit openclaw config.yaml directly and restart as sts user stswangzhiping 2026-03-24 14:07:22 +08:00
  • 1a63e90055 fix: use full path to find openclaw binary for root service stswangzhiping 2026-03-24 13:13:00 +08:00
  • cefbab28b7 feat: configure openclaw allowedOrigins on activation stswangzhiping 2026-03-24 11:38:58 +08:00
  • ffa13b7c81 fix: captive portal 改用 IP 地址 10.42.0.1 替代域名 stswangzhiping 2026-03-22 08:04:20 +08:00
  • 4716cc9820 fix: replace unstable disk serial with wired MAC for hardware fingerprint stswangzhiping 2026-03-22 07:38:05 +08:00
  • 86859a5e0d fix: 过滤AP热点IP,改用checkip.amazonaws.com获取外网IP,新增ipplus360地理位置 stswangzhiping 2026-03-21 09:20:00 +08:00
  • 878f3592bf feat: connect 消息上报 local_ip 和 external_ip stswangzhiping 2026-03-21 08:18:27 +08:00
  • af5248f2a6 fix: emit network-ready immediately when wired internet available, setup AP async stswangzhiping 2026-03-20 08:41:39 +08:00
  • 108bea4ed7 fix: use fixed 5s retry on cert-not-yet-valid to avoid 70s exponential backoff before NTP sync stswangzhiping 2026-03-20 08:34:53 +08:00
  • d3bd5ca3e7 fix: replace network-online.target with NetworkManager.service to avoid 60s+ startup delay stswangzhiping 2026-03-20 08:28:55 +08:00
  • e94e2bb10c fix: add AP net monitor to detect cable unplug within 5s, reduce ping interval to 10s stswangzhiping 2026-03-20 08:14:31 +08:00
  • 5ba8b7bffa fix: fast-path hasInternet() via carrier check to avoid nmcli cache delay stswangzhiping 2026-03-20 08:00:25 +08:00
  • 08fa4eefaa feat: skip WS in AP+no-internet, poll every 5s until network available stswangzhiping 2026-03-20 07:43:51 +08:00
  • c13ed3ba6d fix(vfd): use isApMode() instead of hasInternet() to decide AP vs Err0 stswangzhiping 2026-03-19 23:45:16 +08:00
  • 8f158eeeb2 fix: turn off LEDs on service start, suppress Err0 before first WS success stswangzhiping 2026-03-19 23:27:42 +08:00
  • 9b4287db1d feat(vfd): showConn blink on WS connecting, showErr0 on VPS unreachable stswangzhiping 2026-03-19 23:17:08 +08:00
  • 53b9804c72 feat(led): showErr(code) + WS fail>=3 shows ERRa or AP on VFD stswangzhiping 2026-03-19 22:44:56 +08:00
  • e36bec8660 refactor(led): startup all-off, AP shows VFD, WS close no VFD change stswangzhiping 2026-03-19 22:08:47 +08:00
  • d68d673cdc perf(heartbeat): 10s interval, collect metrics every 3rd beat (30s) stswangzhiping 2026-03-19 09:58:48 +08:00
  • 5824cf089a feat(ws): unified status_update handler, extract _applyStatus() stswangzhiping 2026-03-19 09:43:29 +08:00
  • 16f82d6ab8 feat(ws): handle activated message from server, switch to APPS+time stswangzhiping 2026-03-19 09:24:10 +08:00
  • fba9d401c2 feat(display): PIN 显示时加闪烁效果(亮1s灭0.5s) stswangzhiping 2026-03-19 09:13:07 +08:00
  • b4fa850445 feat(display): PIN 改为 4 位,showPinMiddle4 → showPin stswangzhiping 2026-03-19 08:57:44 +08:00
  • ce7f9f028e fix(display): 改用 #m2 模式显示 PIN 数字,修复 #m3 不支持数字导致的显示错误 stswangzhiping 2026-03-19 08:52:52 +08:00
  • 33046948b9 fix(display): 用 printf 代替 echo,修复 VFD 写入失败及数字显示偏移问题 stswangzhiping 2026-03-19 08:37:00 +08:00
  • e887f5b8e2 fix(display): 不在 ws.open 时 showTime,避免覆盖未激活时的 PIN 显示 stswangzhiping 2026-03-19 07:44:28 +08:00
  • 57c0a1b6f8 feat(display): 未激活+连网时 VFD 显示 PIN 码中间4位 stswangzhiping 2026-03-19 07:37:57 +08:00
  • cf2973946f fix(captive): 密码默认隐藏,眼睛图标初始为半透明 stswangzhiping 2026-03-18 21:54:40 +08:00
  • 7d3477454c feat(captive): 密码框增加眼睛图标切换可见性 stswangzhiping 2026-03-18 21:35:28 +08:00
  • 9e7dcada05 feat(captive): 将WiFi 网络改为请选择下列WiFi 网络 stswangzhiping 2026-03-18 21:26:58 +08:00
  • 959a2b67f2 refactor(display): tie VFD display to WS connection state only stswangzhiping 2026-03-18 21:17:36 +08:00
  • a737101c2e fix(display): use execSync shell pipe instead of fs.writeFileSync to avoid EINVAL stswangzhiping 2026-03-18 21:11:22 +08:00
  • 9da4cd0aa1 feat: VFD display shows AP when disconnected, time when connected stswangzhiping 2026-03-18 21:10:14 +08:00
  • a0f767f267 fix(led): swap SETUP/APPS paths, WiFi LED off in AP mode stswangzhiping 2026-03-18 20:56:49 +08:00
  • 90bba5f348 feat: add SETUP/APPS status LEDs (b2/b1), toggle on activation stswangzhiping 2026-03-18 20:25:54 +08:00
  • 06b670d5ec docs: add update instructions using /opt/clawd stswangzhiping 2026-03-18 20:09:44 +08:00
  • b95e909d48 fix(led): use log.info for LED state, show write errors and hasInternet failures stswangzhiping 2026-03-18 20:07:31 +08:00
  • 875e69a454 feat: add WiFi LED indicator (openvfd b5) stswangzhiping 2026-03-18 19:47:20 +08:00
  • d66558c9de fix: read dashboard token from ~/.openclaw/openclaw.json instead of running openclaw dashboard command stswangzhiping 2026-03-18 14:00:57 +08:00
  • 5f5b976f5b fix: split su command into separate args for ttyd stswangzhiping 2026-03-16 16:21:11 +08:00
  • 9dc559a43a fix: run ttyd shell as normal user (sts) instead of root stswangzhiping 2026-03-16 16:15:13 +08:00
  • 17d0711f67 ui: redesign WiFi list with signal bars and cleaner layout stswangzhiping 2026-03-16 13:11:23 +08:00
  • c6f55c8c15 fix: pre-scan WiFi before entering AP mode stswangzhiping 2026-03-16 13:04:00 +08:00
  • 64f4050014 fix: EROFS dns config, double WS connection, and watchdog timeout stswangzhiping 2026-03-16 12:54:46 +08:00
  • 9392f0f3d4 docs: add WiFi provisioning user manual to README stswangzhiping 2026-03-16 12:45:10 +08:00
  • 9d8af52bf4 fix: stop killing NM's dnsmasq - use dnsmasq-shared.d instead stswangzhiping 2026-03-16 12:40:19 +08:00
  • f58db93b64 fix: wait for NM auto-reconnect before starting AP on reboot stswangzhiping 2026-03-16 12:27:25 +08:00
  • b42e59fab8 feat: AP always-on mode - hotspot stays until WiFi STA connects stswangzhiping 2026-03-16 12:18:35 +08:00
  • dac68f78b4 fix: clawd-rfkill.service failed due to systemd $ expansion stswangzhiping 2026-03-16 11:49:07 +08:00
  • 7a80c03028 fix: kill NetworkManager's dnsmasq before starting our own stswangzhiping 2026-03-16 11:19:04 +08:00
  • 92906bcd4b fix: set AP hotspot password to fixed WPA2 PSK "12345678" stswangzhiping 2026-03-16 10:44:26 +08:00
  • 8a6e5b3666 fix: dnsmasq path detection and WiFi rfkill persistence stswangzhiping 2026-03-16 10:06:30 +08:00
  • eb9f4ab1c3 feat: add WiFi provisioning for headless devices (AP + Captive Portal) stswangzhiping 2026-03-16 08:58:51 +08:00
  • b3770d21d4 feat: add structured logging, process watchdog, and systemd hardening stswangzhiping 2026-03-16 07:31:19 +08:00
  • 42d1d361dc style(ttyd): enable cursor blink via client option stswangzhiping 2026-03-15 23:25:36 +08:00
  • 1ff9fd90e5 fix(ttyd): add -W writable and -i 127.0.0.1 flags stswangzhiping 2026-03-15 23:22:05 +08:00
  • 54476c82b6 fix(frpc): ttyd switch to tcp proxy to fix ws bidirectional issue stswangzhiping 2026-03-15 22:55:27 +08:00
  • c0c445b61d feat: add ttyd terminal support, parallel startup in frpc.js stswangzhiping 2026-03-15 21:39:05 +08:00
  • abf2cacac7 fix: use total-available for mem_used, aggregate real filesystems for disk stswangzhiping 2026-03-15 21:29:51 +08:00
  • f5ae8b0710 fix: use shell background + polling to get dashboard info reliably stswangzhiping 2026-03-15 14:29:03 +08:00
  • 64cd7432e1 fix: getDashboardInfo uses spawn+Promise to handle long-running process stswangzhiping 2026-03-15 14:09:41 +08:00
  • 516d0d26ee feat: integrate frpc manager and send dashboard info via WebSocket stswangzhiping 2026-03-15 11:10:33 +08:00
  • a9a7816e16 fix: show claw_id in activation box, remove noisy startup logs stswangzhiping 2026-03-14 22:46:49 +08:00
  • 3b7fc0c0d4 fix: combine machine-id+cpu+disk serial for box_id to prevent ghost clone collision stswangzhiping 2026-03-14 22:21:13 +08:00
  • aba21bf8b7 fix: replace MAC address with CPU serial / disk serial / DMI UUID for box_id stswangzhiping 2026-03-14 21:18:57 +08:00