DEV Community

dtzp555-max
dtzp555-max

Posted on

I got tired of hand-editing JSON, so I built a local web dashboard for OpenClaw

If you run multiple AI agents with OpenClaw, you probably know the pain — one openclaw.json file holds everything: agents, channel bindings, models, tokens. Deeply nested, tons of fields. Change one sub-agent's Telegram group ID and you might accidentally overwrite another agent's token. And good luck visualizing which agent is bound to which chat group by staring at raw JSON.

After breaking my config twice, I built OCM (OpenClaw Manager) — a local web dashboard to manage it all from the browser.

It's a single-file Node.js app, zero dependencies, no npm install, no build step. Just bash start.sh and open localhost:3333.

Here's what it does:

Dashboard

System overview at a glance: CPU/memory/disk, Gateway status, agent count, binding count, last active time. First thing to check when something feels off.

Dashboard

Agent Management

All agents displayed in a tree structure. Main agents (each with their own Telegram bot) sit at the top, sub-agents nested under their parents. Each card shows model, workspace path, Telegram group ID, with inline model switching.

Adding agents is done through forms — model dropdown is pulled live from openclaw models list so you can't pick a nonexistent model-id. New agents come with sensible default Skills and Tool Groups, customizable if needed.

Agent Management

Routing

Dedicated page showing all channel bindings. Which agent handles which Telegram group, which is the fallback any matcher, Discord channel/thread bindings — all laid out clearly. Saved me tons of time debugging "why isn't the bot responding in this group."

Routing

Models & Auth

View primary model and fallback chain config. Provider profile status at a glance — way faster than digging through logs when a token expires.

Usage Stats

Parses real token usage from session JSONL files. Breakdown by model, by agent, by day, with cost estimates. No more writing scripts to figure out which agent is burning through your budget.

Usage Stats

Operations (Actions menu)

Top-right dropdown with common ops: restart Gateway, live logs, manual backup, browse backup history and rollback, NAS backup config, health check (openclaw doctor), open/switch config directory.

Backup & Rollback

Every config change through OCM auto-backs up your openclaw.json. Rollback is one click. After corrupting my config twice by hand-editing, I never want to go back.

Actions & Backup

Built-in CLI Terminal

Accessible from any page. Run OpenClaw commands directly in the browser with tab completion, command templates, favorites (one-click execute), and real-time streaming output. No more switching to a separate terminal for openclaw status or gateway logs --follow.

CLI Terminal

Cron Jobs

View and manage scheduled tasks: auto-backup, health checks, update detection. Manual trigger and enable/disable toggles.

Multi-channel & Bilingual

Primarily built for Telegram workflows (one group = one agent boundary, private groups recommended). Discord also supported (main agent bound to channel, sub-agents to threads). One-click toggle between English and Chinese UI.


Runs best on macOS/Linux, Windows also supported (start.bat). Tech stack is pure Node.js built-in modules — no external dependencies.

GitHub: github.com/dtzp555-max/ocm

If you're running multi-agent setups with OpenClaw and tired of raw JSON editing, give it a try. Feedback welcome!

Top comments (0)