Dashbot
A real-time AI dashboard for your OpenClaw agent
Install / Use
/learn @wembledev/DashbotREADME
DashBot
A real-time dashboard that gives you a window into your OpenClaw AI assistant — chat, monitor status, and interact with agent-driven cards from any browser.
- Connected: Plugs into your OpenClaw gateway via the dashbot-openclaw plugin for live two-way communication.
- Mobile-first: Designed for Tesla browsers, phones, and tablets — works great on desktop too.
- Extensible: Widget system for custom status panels, agentic cards, and integrations.
How It Works
graph TD
Dashboard["🖥️ Dashboard"]
DashBot["⚡ DashBot"]
Plugin["🔌 dashbot-openclaw plugin"]
Gateway["🤖 OpenClaw Gateway"]
Dashboard <--> DashBot
DashBot <--> Plugin
Plugin <--> Gateway
Your OpenClaw AI agent runs on the gateway. The dashbot-openclaw plugin connects it to DashBot over WebSockets, streaming chat messages, status updates, and agentic card interactions in real time. Open the dashboard in any browser to see what your agent is up to.
Screenshots
| Chat | Status | Settings |
|------|--------|----------|
|
|
|
|
Features
- 💬 Chat — Talk to your AI agent with real-time streaming responses
- 📊 Status dashboard — Monitor agent health, memory, token usage, and cron jobs
- 🎯 Agentic cards — Interactive prompt/response widgets for structured AI actions
- 🔌 OpenClaw plugin — Drop-in integration via dashbot-openclaw
- 🔐 QR code login — Scan to authenticate from any device
- 🌙 Dark mode — Full theme support with system preference detection
- 📱 Responsive — Mobile-first design that scales to desktop
Getting Started
Prerequisites
- Ruby 4.0+
- Node.js 22+
- SQLite3
Setup
git clone https://github.com/wembledev/dashbot.git
cd dashbot
bin/setup # install deps, prepare DB
Or step by step:
bundle install && npm install
cp .env.example .env
bin/rails db:prepare
Configure .env:
DASHBOT_PASSWORD=<pick a password>
DASHBOT_API_TOKEN=<generate with: ruby -e "require 'securerandom'; puts SecureRandom.hex(32)">
Run
bin/dev # Rails on :3000, Vite HMR on :5173
Open http://localhost:3000 and log in.
Connect Your Agent
DashBot connects to your AI assistant via the dashbot-openclaw plugin. Install the plugin into your OpenClaw gateway, point it at your DashBot instance, and you're live. See the plugin README for setup.
Testing
bin/rails test # Rails (Minitest)
npm test # Frontend (Vitest)
npm run check # TypeScript type checking
bin/rubocop # Ruby linting
bin/ci # Full CI suite
Deployment
DashBot deploys as a standard Rails 8 app with SQLite. See docs/deployment.md for Docker, Kamal, and Dokku instructions.
Architecture
DashBot is a Rails 8 monolith with a React frontend, connected via Inertia.js:
| Layer | Technology | |-------|-----------| | Backend | Rails 8.1, Ruby 4.0, SQLite3 | | Frontend | React 19, TypeScript, Vite 7, Tailwind v4 | | Bridge | Inertia.js (server-driven SPA) | | UI | shadcn/ui, Lucide icons | | Real-time | Action Cable (Solid Cable in production) | | Jobs | Solid Queue | | Caching | Solid Cache | | Server | Puma + Thruster |
Documentation
| Doc | Contents | |-----|----------| | OpenClaw Integration | Architecture, ChatChannel, connection auth, plugin setup | | REST API | Endpoint reference with request/response examples | | Deployment | Docker, Kamal, Dokku, persistent storage |
Contributing
Contributions are welcome! Please:
- Fork the repo and create your branch from
main - Add tests for any new functionality
- Ensure the test suite passes (
bin/ci) - Open a pull request
License
This project is licensed under the MIT License.
Related Skills
node-connect
352.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
