Files
apress/deploy/uno-q/systemd/zeroclaw-reload-watcher.service
T
Omar SobhandClaude Opus 4.8 7233a4b1c0 feat(uno-q): LAN-open boot + Telegram self-serve + guided lockdown modalities
Boards now boot LAN-open (host 0.0.0.0, allow_public_bind, require_pairing=false)
so a team reaches its node's embedded ZeroClaw dashboard + web chat directly by
IP with no token — the 'Open your node' path. Two more modalities ride the same
default (cloud-first) agent:

- Telegram: config seeds [channels.telegram.default] disabled + pre-bound to the
  default agent; a team enables it from the dashboard by pasting a @BotFather
  token. Dashboard writes only set pending_reload, and /admin/reload is
  loopback-only, so a new zeroclaw-reload-watcher.sh (loopback) applies dashboard
  config edits within seconds — no shell. provision-fleet pushes + launches it.
- Lockdown: zeroclaw-lockdown.sh flips require_pairing=true, reloads, and mints a
  pair code (open -> locked harden step); documented as a board/adb action since
  minting + reload are loopback-only.
- Voice: seeds a commented [channels.voice_duplex.default] + documents the
  aarch64 build (embedded-web + gateway-voice-duplex); build/hardware work is
  separate.

Onboarding scripts (apess-selfregister.sh, provision-uno-q.sh) now tolerate
open-boot: when the gateway mints no pair code, they announce with a placeholder
token (the open board ignores auth) instead of hard-failing.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-15 16:35:28 -07:00

19 lines
651 B
Desktop File

[Unit]
Description=ZeroClaw reload-watcher (applies dashboard config edits via loopback reload)
After=zeroclaw-daemon.service
Wants=zeroclaw-daemon.service
[Service]
Type=simple
User=arduino
# Watches config.toml and fires POST /admin/reload (loopback) when a team edits
# config from the browser dashboard — so Telegram-enable / allowed_users / the
# lockdown flip take effect without a shell. No-root boards: launch instead with
# setsid nohup /home/arduino/zeroclaw-reload-watcher.sh >/tmp/zc-reload.log 2>&1 </dev/null &
ExecStart=/home/arduino/zeroclaw-reload-watcher.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target