{"id":50427147,"url":"https://github.com/anis-marrouchi/openclaw-dashboard","last_synced_at":"2026-06-02T09:00:53.121Z","repository":{"id":340956468,"uuid":"1168273690","full_name":"anis-marrouchi/openclaw-dashboard","owner":"anis-marrouchi","description":"A lightweight, single-file OpenClaw dashboard for real-time agent fleet monitoring — no build step, no database, no Docker.","archived":false,"fork":false,"pushed_at":"2026-02-27T20:03:38.000Z","size":123,"stargazers_count":2,"open_issues_count":8,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-01T04:25:11.984Z","etag":null,"topics":["agents","dashboard","kanban","monitoring","multi-agent","observability","openclaw","self-hosted","vanilla-js","zero-dependencies"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anis-marrouchi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-27T07:42:04.000Z","updated_at":"2026-03-28T18:31:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/anis-marrouchi/openclaw-dashboard","commit_stats":null,"previous_names":["anis-marrouchi/openclaw-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anis-marrouchi/openclaw-dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fopenclaw-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fopenclaw-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fopenclaw-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fopenclaw-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anis-marrouchi","download_url":"https://codeload.github.com/anis-marrouchi/openclaw-dashboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anis-marrouchi%2Fopenclaw-dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33814312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","dashboard","kanban","monitoring","multi-agent","observability","openclaw","self-hosted","vanilla-js","zero-dependencies"],"created_at":"2026-05-31T12:00:14.583Z","updated_at":"2026-06-02T09:00:53.115Z","avatar_url":"https://github.com/anis-marrouchi.png","language":"HTML","funding_links":[],"categories":["Integrations \u0026 Features"],"sub_categories":["Monitoring \u0026 Dashboards"],"readme":"# openclaw-dashboard\n\n**A lightweight dashboard for monitoring OpenClaw agent fleets.**\n\nSingle HTML frontend + tiny Node.js server. Zero dependencies beyond Node itself.  \nBuilt for solo operators and small teams who want visibility without spinning up Postgres, Redis, or Docker.\n\n![Dashboard](screenshots/dashboard.png)\n\n\u003e ⚠️ **v0.1 — Early, useful, imperfect.** Some things work, some don't yet. Sharing early because that's how building in public works.\n\n## What works today\n\n- ⚡ **Real-time overview** of agents, sessions, and cron jobs\n- 🗓️ **Cron monitoring** — schedule, timezone, next run, enabled/disabled status\n- 🧱 **Pipeline / Kanban view** — GitLab issues across projects\n- 💬 **Conversation browser** — per-agent session history\n- 🔄 **Auto-refresh** every 30s\n- 🧰 **Zero external dependencies** — just Node.js\n\n## What doesn't work yet\n\n- ❌ **Message/Task modals** — UI exists but actions aren't wired to the backend ([#1](../../issues/1))\n- ❌ **Markdown rendering** — conversation content shows as raw text\n- ❌ **Auth** — no password/token gate, anyone on the network can access ([#2](../../issues/2))\n- ❌ **Auto-refresh UX** — can collapse open conversation threads\n\nSee all [open issues](../../issues) for the full roadmap.\n\n## Architecture\n\n```\n┌─────────────┐     ┌──────────────┐     ┌─────────────────┐\n│  index.html │────▶│  server.js   │────▶│ OpenClaw runtime │\n│  (frontend) │     │  (Node HTTP) │     │ (~/.openclaw/)   │\n└─────────────┘     └──────────────┘     └─────────────────┘\n                           │\n                           ▼\n                    ┌──────────────┐\n                    │  GitLab API  │ (optional)\n                    └──────────────┘\n```\n\n- **Frontend:** Single `index.html` file — dark theme, tabbed UI, vanilla JS\n- **Backend:** `server.js` — lightweight Node HTTP server, reads OpenClaw config/session/cron files directly\n- **Data source:** Your local OpenClaw runtime directory (`~/.openclaw/`)\n- **GitLab integration:** Optional — pulls open issues from configured projects\n\n## Quick Start\n\n### 1. Clone\n\n```bash\ngit clone https://github.com/anis-marrouchi/openclaw-dashboard.git\ncd openclaw-dashboard\n```\n\n### 2. Configure (environment variables)\n\n```bash\nexport DASHBOARD_PORT=8090              # Default: 8090\nexport DASHBOARD_BIND=127.0.0.1         # Default: 127.0.0.1 (localhost only)\nexport OPENCLAW_CONFIG=~/.openclaw/openclaw.json  # Path to your OpenClaw config\n\n# Optional: GitLab integration\nexport GITLAB_TOKEN=your-gitlab-token\nexport GITLAB_URL=https://gitlab.com/api/v4\nexport GITLAB_PROJECTS=123:MyProject,456:AnotherProject  # id:name pairs\n```\n\n### 3. Run\n\n```bash\nnode server.js\n# Dashboard running at http://127.0.0.1:8090\n```\n\nThat's it. No `npm install`, no build step.\n\n## API Endpoints\n\n| Endpoint | Description |\n|---|---|\n| `GET /api/overview` | All data: agents, crons, sessions, issues, counts |\n| `GET /api/agents` | Agent list with skills and config |\n| `GET /api/crons` | All cron jobs with schedule and state |\n| `GET /api/sessions` | Recent sessions (last 50) |\n| `GET /api/issues` | Open GitLab issues (requires GITLAB_TOKEN) |\n| `GET /api/conversations?agent=main\u0026limit=50` | Conversation history per agent |\n\n## Who this is for (and not for)\n\n**Good fit:**\n- You already run OpenClaw and want a visual overview\n- You're comfortable with Node.js and env vars\n- You want something lightweight, not an enterprise platform\n\n**Not a good fit (yet):**\n- You want a turnkey SaaS dashboard\n- You need auth, RBAC, or multi-tenant support\n- You want to send commands/messages from the UI (not implemented yet)\n\n## Roadmap\n\n- [ ] Wire Message/Task modals to actual OpenClaw API ([#1](../../issues/1))\n- [ ] Add basic auth ([#2](../../issues/2))\n- [ ] Cron run history per cron ([#3](../../issues/3))\n- [ ] Session cost/token tracking ([#4](../../issues/4))\n- [ ] Search/filter on conversations and crons ([#5](../../issues/5))\n- [ ] Real-time WebSocket updates ([#6](../../issues/6))\n- [ ] Agent activity timeline ([#7](../../issues/7))\n\n## Contributing\n\nPRs welcome. Keep it lightweight and dependency-free.\n\n1. Fork the repo\n2. Make your changes\n3. Open a PR with a clear description\n\n## License\n\nMIT\n\n## Built by\n\n[Noqta](https://noqta.tn) — building in public, sharing what works and what doesn't.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanis-marrouchi%2Fopenclaw-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanis-marrouchi%2Fopenclaw-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanis-marrouchi%2Fopenclaw-dashboard/lists"}