Skip to content

feat(openclaw-bridge): bridge W2A sensors to OpenClaw via /hooks/agent webhook#8

Merged
daibor merged 1 commit intomainfrom
feat/openclaw-sensor-bridge
Apr 29, 2026
Merged

feat(openclaw-bridge): bridge W2A sensors to OpenClaw via /hooks/agent webhook#8
daibor merged 1 commit intomainfrom
feat/openclaw-sensor-bridge

Conversation

@daibor
Copy link
Copy Markdown
Collaborator

@daibor daibor commented Apr 29, 2026

Out-of-process supervisor that runs W2A sensors as subprocesses and POSTs
each emitted signal to OpenClaw's public /hooks/agent webhook with Bearer
auth. Mirrors hermes-sensor-bridge's architecture; differs only in the
delivery hop — Bearer + structured payload instead of per-sensor webhook
URLs + HMAC.

  • supervisor: per-sensor reconciliation, hot-reload via fs.watch on
    ~/.world2agent/config.json, dedup by signal_id, retry on 5xx/network,
    fail-fast on 4xx, restart-with-backoff on child exit
  • runner: channel-agnostic (stock startSensor + SDK stdoutTransport)
  • openclaw-config: auto-discover gateway URL + hook token + session-key
    prefix from ~/.openclaw/openclaw.json (env overrides supported)
  • manifest: shared ~/.world2agent/config.json under _openclaw_bridge
    namespace block; foreign _ blocks preserved verbatim
  • skill: 13 host-side bash scripts (bootstrap / install-sensor /
    remove-sensor / list / status / log / start / stop / read-setup /
    install-launchd / install-systemd / uninstall-bootstrap) + SKILL.md
    for conversational install via the user's main agent
  • e2e: 24 checks covering delivery contract (URL, headers, payload
    shape, retry behavior) and config-watcher reconcile (spawn on add,
    terminate on remove)

…t webhook

Out-of-process supervisor that runs W2A sensors as subprocesses and POSTs
each emitted signal to OpenClaw's public /hooks/agent webhook with Bearer
auth. Mirrors hermes-sensor-bridge's architecture; differs only in the
delivery hop — Bearer + structured payload instead of per-sensor webhook
URLs + HMAC.

- supervisor: per-sensor reconciliation, hot-reload via fs.watch on
  ~/.world2agent/config.json, dedup by signal_id, retry on 5xx/network,
  fail-fast on 4xx, restart-with-backoff on child exit
- runner: channel-agnostic (stock startSensor + SDK stdoutTransport)
- openclaw-config: auto-discover gateway URL + hook token + session-key
  prefix from ~/.openclaw/openclaw.json (env overrides supported)
- manifest: shared ~/.world2agent/config.json under _openclaw_bridge
  namespace block; foreign _<runtime> blocks preserved verbatim
- skill: 13 host-side bash scripts (bootstrap / install-sensor /
  remove-sensor / list / status / log / start / stop / read-setup /
  install-launchd / install-systemd / uninstall-bootstrap) + SKILL.md
  for conversational install via the user's main agent
- e2e: 24 checks covering delivery contract (URL, headers, payload
  shape, retry behavior) and config-watcher reconcile (spawn on add,
  terminate on remove)
@daibor daibor merged commit 3fd7295 into main Apr 29, 2026
1 check passed
@daibor daibor deleted the feat/openclaw-sensor-bridge branch April 29, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant