Skip to content

OpenClaw plugin for DashBot — connects your AI agent to the dashboard

License

Notifications You must be signed in to change notification settings

wembledev/dashbot-openclaw

Repository files navigation

dashbot-openclaw

OpenClaw plugin that connects your AI agent to DashBot — giving it a real-time dashboard with chat, status monitoring, and agentic cards.

  • Real-time: Two-way communication over Action Cable WebSockets — messages stream instantly.
  • Zero config: Auto-detects memory backend (QMD or OpenClaw SQLite) and status sources.
  • Lightweight: Single plugin, no external dependencies beyond OpenClaw and DashBot.

CI Node License: MIT

How It Works

graph TD
    Dashboard["🖥️ Dashboard"]
    DashBot["⚡ DashBot"]
    Plugin["🔌 This Plugin"]
    Gateway["🤖 OpenClaw Gateway"]

    Dashboard <--> DashBot
    DashBot <-->|Action Cable| Plugin
    Plugin <--> Gateway
Loading

The plugin runs inside your OpenClaw gateway and connects to DashBot's Action Cable server. When a user sends a message in the dashboard, it flows through the plugin to the agent and back. The plugin also streams agent status data (sessions, cron jobs, memory stats) for the status page.

Quick Start

Prerequisites

Install

git clone https://github.com/wembledev/dashbot-openclaw.git
cd dashbot-openclaw
npm install
openclaw plugins install -l /path/to/dashbot-openclaw

Configure

Point the plugin at your DashBot instance. The token must match DASHBOT_API_TOKEN in DashBot's .env:

openclaw config set channels.dashbot.enabled true
openclaw config set channels.dashbot.url http://localhost:3000
openclaw config set channels.dashbot.token <your-token>
openclaw gateway restart

Verify

openclaw logs

You should see:

Subscribed to ChatChannel

Open the DashBot dashboard and send a message — it round-trips through the agent.

Configuration

Key Description
channels.dashbot.enabled Enable/disable the channel
channels.dashbot.url Base URL of your DashBot instance
channels.dashbot.token Shared API token (must match DashBot's DASHBOT_API_TOKEN)

Generate a token:

ruby -e "require 'securerandom'; puts SecureRandom.hex(32)"

Set it in both places — DashBot's .env and the plugin config.

Status Page

The plugin automatically provides real-time agent status to DashBot's status page — no extra configuration needed.

Data Source
Sessions OpenClaw session state
Cron jobs OpenClaw cron state
Memory QMD (auto-detected) or OpenClaw SQLite

Override the memory backend with DASHBOT_MEMORY_BACKEND=qmd or DASHBOT_MEMORY_BACKEND=openclaw.

Architecture

index.ts          → Plugin entry point
src/channel.ts    → OpenClaw ChannelPlugin (chat + status commands)
src/connection.ts → Action Cable WebSocket client (auto-reconnect)
src/outbound.ts   → Sends responses over WebSocket (HTTP fallback)
src/status-reporter.ts → Reads OpenClaw state, streams to dashboard
src/types.ts      → TypeScript interfaces

Development

npm install
npm run dev        # tsc watch mode
npm test           # vitest
npm run check      # type-check
npm run lint       # eslint

After changes, restart the gateway to reload:

openclaw gateway restart

Testing

npm test           # run all tests
npm run test:watch # watch mode

Related

License

This project is licensed under the MIT License.

About

OpenClaw plugin for DashBot — connects your AI agent to the dashboard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •