Thanks for your interest in contributing! 🦞
OpenClaw Dashboard is built to be simple, fast, and useful for personal AI agent observability. Contributions that align with these principles are always welcome.
git clone https://github.com/vivekchand/clawmetry.git
cd clawmetry
pip install -r requirements.txtpython3 dashboard.py --port 8900
# Opens at http://localhost:8900pip install -e .
clawmetry --help- Edit
dashboard.py(single file architecture) - Restart dashboard to see changes
- Test auto-detection:
cd /tmp && python3 /path/to/dashboard.py
clawmetry/
├── dashboard.py # 🎯 Main application (single file)
├── README.md # 📖 Documentation
├── setup.py # 📦 Package configuration
├── requirements.txt # 🔧 Dependencies
├── screenshots/ # 🖼️ UI screenshots
├── LICENSE # ⚖️ MIT license
└── CONTRIBUTING.md # 📝 This file
Philosophy: Keep it simple. The entire dashboard is one Python file (dashboard.py) with minimal dependencies. This makes it easy to understand, modify, and deploy.
- 🐛 Bug fixes - especially around auto-detection, log parsing, or UI edge cases
- ✨ Small features - new visualizations, better error handling, performance improvements
- 📖 Documentation - clearer setup instructions, troubleshooting guides
- 🎨 UI polish - better mobile support, dark theme, accessibility improvements
- 🧪 Testing - help us test on different OpenClaw setups
- ❌ Complex dependencies - no heavy frameworks, ML libraries, or databases
- ❌ Breaking the single-file architecture - keep everything in
dashboard.py - ❌ Enterprise features - this is for personal AI agents, not teams
- ❌ Major architectural changes - discuss large changes in Issues first
- Python 3.8+ compatible
- PEP 8 formatting (but don't obsess)
- Clear variable names - readability over brevity
- Comments for complex logic - especially auto-detection and log parsing
- No external formatting tools required - just make it readable
Before submitting, test these scenarios:
-
Auto-detection works:
cd /tmp python3 /path/to/dashboard.py --port 9999 # Should find your OpenClaw workspace automatically
-
CLI arguments work:
python3 dashboard.py --help python3 dashboard.py --workspace ~/myagent --port 8901 -
Console entry point works (after
pip install -e .):clawmetry --version clawmetry --port 8902
-
UI loads without errors:
- Visit all tabs (Overview, Usage, Sessions, etc.)
- Check browser console for JS errors
- Test with/without OpenClaw running
If you want to add a new tab or major feature:
- Open an Issue first - describe what you want to build and why
- Keep it lightweight - remember this is a single-file app
- Follow the existing pattern - look at how other tabs are implemented
- Update the README - document your new feature in the features table
- Test auto-detection from different directories
- Verify console entry point still works
- Check that all tabs load without errors
- Run dashboard with real OpenClaw logs
- Update README if you added features
## What This PR Does
Brief description of the change.
## Testing
- [ ] Tested auto-detection: `cd /tmp && python3 dashboard.py`
- [ ] Tested console entry point: `clawmetry --help`
- [ ] Tested new feature with real OpenClaw data
- [ ] All tabs load without browser console errors
## Screenshots (if UI changes)
![Before/After or Demo GIF]- PRs are usually reviewed within 48 hours
- Small fixes may be merged quickly
- New features will get more thorough review
- We may ask for changes to keep things simple
**What happened?**
Brief description.
**Steps to reproduce:**
1. Start dashboard with `clawmetry`
2. Click on Sessions tab
3. Error appears in browser console
**Environment:**
- OS: Linux/macOS/Windows
- Python version: `python3 --version`
- OpenClaw version: X.X.X
- Dashboard version: `clawmetry --version`
**Logs/Screenshots:**
Paste relevant error messages or attach screenshots.- Dashboard errors: Check terminal where you ran
dashboard.py - Browser errors: Check browser Developer Tools → Console
- OpenClaw logs: Usually in
/tmp/moltbot/or/tmp/openclaw/
Have an idea? Great! But first:
- Check existing Issues - someone might have already suggested it
- Consider the scope - would this benefit most personal AI agent users?
- Think about complexity - can it be done without adding dependencies?
**Problem:**
What pain point does this solve?
**Proposed Solution:**
Brief description of what you want.
**Alternatives:**
Other ways this could be solved.
**Use Case:**
How would you personally use this feature?- General questions: Open a GitHub Discussion
- Bug reports: Open a GitHub Issue
- Feature requests: Open a GitHub Issue
- Quick questions: Find @vivekchand on Twitter/LinkedIn
Contributors who help improve OpenClaw Dashboard will be:
- Added to a CONTRIBUTORS section in the README
- Mentioned in release notes for significant contributions
- Given credit in any blog posts or talks about the project
By contributing to OpenClaw Dashboard, you agree that your contributions will be licensed under the same MIT License that covers the project.
Thanks for making OpenClaw Dashboard better! 🦞