Skip to content

Architecture

This page explains how OpenClaw and SimpleX integrate through this plugin.

High-level diagram

text
            +-------------------------+
            |        OpenClaw         |
            |  (agent + router/core)  |
            +------------+------------+
                         |
                         | channel plugin API
                         v
            +-------------------------+
            | @dangoldbj/openclaw-    |
            |        simplex          |
            | - inbound monitor       |
            | - outbound actions      |
            | - policy enforcement    |
            | - account/runtime state |
            +------------+------------+
                         |
                         | WebSocket API
                         v
            +-------------------------+
            |   SimpleX CLI Runtime   |
            |      (simplex-chat)     |
            +------------+------------+
                         |
                         | network
                         v
            +-------------------------+
            |      SimpleX Network    |
            +-------------------------+

Data flow

  1. SimpleX emits events through CLI WebSocket API.
  2. Plugin monitor parses and normalizes events.
  3. OpenClaw applies policy checks and agent logic.
  4. Plugin sends replies/actions through SimpleX command API.

Control points

  • Access control: dmPolicy, allowFrom, groupPolicy, groupAllowFrom.
  • Runtime mode: managed (plugin starts CLI) vs external (plugin connects only).
  • Account-level config through channels.simplex.accounts.

Failure boundaries

  • If SimpleX WS is unavailable, plugin reports runtime status errors.
  • Outbound/inbound are isolated at channel boundary, so other OpenClaw channels keep working.