ODO — OpenClaw Dashboard Orchestrator

A cross-platform desktop app for managing OpenClaw AI agents. Double-click to open — no terminal needed.

Quick Start

git clone https://github.com/dtzp555-max/odo.git
cd odo
npm install
npm start

That's it. ODO will start the OCM server in the background, open a window, and put an icon in your system tray.

What ODO does

  • Wraps OCM in a desktop app — no browser tab, no terminal
  • System tray — close the window and ODO keeps running; click the tray icon to reopen
  • Auto server management — the OCM server starts and stops with the app
  • Crash recovery — if the server dies, ODO offers to restart it

Building for distribution

# macOS
npm run build:mac     # → dist/ODO-x.x.x.dmg

# Windows
npm run build:win     # → dist/ODO Setup x.x.x.exe

# Linux
npm run build:linux   # → dist/ODO-x.x.x.AppImage

Project structure

odo/
├── main.js                       # Electron main process
├── preload.js                    # Renderer preload (IPC bridge)
├── server/
│   └── openclaw-manager.js       # OCM server (modified for Electron)
├── assets/
│   └── (icons go here)
├── package.json
└── README.md

How it works

  1. Electron's main process forks server/openclaw-manager.js as a child process
  2. The server binds to 127.0.0.1:3333 (localhost only, for security)
  3. Electron opens a BrowserWindow pointing to http://127.0.0.1:3333
  4. The server sends an IPC message when it's ready; Electron shows the window
  5. Closing the window hides it to the system tray; quitting from the tray stops everything

Requirements

  • Node.js 18+
  • A working OpenClaw installation

Updating the server

To sync with the latest OCM:

# From the odo directory
cp /path/to/ocm/openclaw-manager.js server/openclaw-manager.js

Then re-apply the two small Electron patches (search for ELECTRON in the file):

  1. Skip openBrowser() when process.env.ELECTRON is set
  2. Force HOST = '127.0.0.1' when process.env.ELECTRON is set
  3. Send IPC ready message: if (process.send) process.send({ type: 'server-ready', port: PORT })

Roadmap

See ODO_ARCHITECTURE.md for the full product vision and phased plan.

License

MIT

S
Description
No description provided
Readme
284 KiB
Languages
JavaScript 90.1%
TypeScript 9.5%
CSS 0.2%
HTML 0.2%