@tigertroll14/activityclaw
v1.0.0
Published
Real-time activity tracking and visualization for OpenClaw agents
Downloads
254
Maintainers
Readme
🦞 ActivityClaw
Real-time activity tracking and visualization for OpenClaw agents.
Features
- 📊 Real-time Monitoring - Track all agent activities as they happen
- 🤖 Multi-Agent Support - Monitors main agent + all sub-agents automatically
- 🎨 Beautiful Dashboard - Clean, modern interface with activity feed and stats
- 🔍 Smart Filtering - Filter by activity type (files, commands, web, messages)
- 📈 Statistics - View activity counts, active agents, and trends
- 🔒 Privacy-First - All data stays local in SQLite
- ⚡ Lightweight - Minimal overhead, runs in background
What It Tracks
- 📝 File Operations - Creates, edits, and reads
- ⚡ Commands - Shell executions via
exec - 🔍 Web Activity - Searches and page fetches
- 💬 Messages - Outbound messages to channels
- 🚀 Sub-agents - Spawned agent sessions
Installation
From npm (once published)
npm install -g @rmruss2022/activityclaw
openclaw plugins install @rmruss2022/activityclawFrom GitHub
npm install -g rmruss2022/ActivityClaw
openclaw plugins install @rmruss2022/activityclawFrom Source
git clone https://github.com/rmruss2022/ActivityClaw.git
cd ActivityClaw
npm install
npm run build
openclaw plugins install -l .Setup
Run the interactive setup wizard:
openclaw activityclaw setupThe wizard will ask you:
- Dashboard Port (default: 18796)
- Database Path (default:
~/.openclaw/activity-tracker/activities.db)
Configuration is saved to ~/.openclaw/activity-tracker/config.json.
Usage
View Dashboard
Open in browser:
openclaw activityclaw dashboardOr visit directly: http://localhost:18796
Commands
# Setup and configuration
openclaw activityclaw setup # Run setup wizard
openclaw activityclaw status # Show status and config
# Service management
openclaw activityclaw start # Start dashboard server
openclaw activityclaw stop # Stop dashboard server
# Dashboard access
openclaw activityclaw dashboard # Open dashboard in browser
# Data management
openclaw activityclaw clean --days 30 # Clean old activitiesHow It Works
ActivityClaw registers a tool_result_persist hook with OpenClaw that fires after every tool call. When a tool executes:
- Hook captures tool name, arguments, session ID, and agent label
- Tracker parses it into a structured activity record
- Activity is logged to SQLite database (non-blocking)
- Dashboard polls the database every 5 seconds for real-time updates
No polling of transcripts - this is event-driven and real-time.
Dashboard
The dashboard shows:
- Activity Feed - Live stream of all agent activities
- Statistics - Total activities, last hour count, active agents
- Filters - View all or filter by type (files, commands, web, etc.)
- Auto-refresh - Updates every 5 seconds automatically
Configuration
Config file: ~/.openclaw/activity-tracker/config.json
{
"port": 18796,
"dbPath": "/Users/you/.openclaw/activity-tracker/activities.db"
}After changing config, restart OpenClaw:
openclaw gateway restartDevelopment
Build
npm install
npm run build # Compile TypeScript
npm run dev # Watch modeTest Locally
npm run build
openclaw plugins install -l .
openclaw activityclaw status
openclaw activityclaw dashboardProject Structure
ActivityClaw/
├── src/
│ ├── index.ts # Plugin entry point
│ ├── tracker.ts # Activity parsing logic
│ ├── server.ts # Express API server
│ └── hooks/
│ └── activity.ts # Hook registration
├── dashboard/
│ └── public/
│ └── index.html # Standalone dashboard UI
├── dist/ # Compiled output
└── package.jsonTroubleshooting
Dashboard won't load
Check if server is running:
openclaw activityclaw statusIf stopped, start it:
openclaw activityclaw startPort already in use
Change port in config:
openclaw activityclaw setup
# Choose a different portNo activities showing
- Ensure the plugin is installed:
openclaw plugins list - Check server status:
openclaw activityclaw status - Try a test action (e.g., create a file)
- Check database:
ls -lh ~/.openclaw/activity-tracker/activities.db
Comparison to Polling Approach
| Polling (Old) | Event-driven (ActivityClaw) | |---------------|------------------------------| | 3-second delay | Instant (real-time) | | Reads entire transcripts | Receives events directly | | Separate process | Integrated into OpenClaw | | Manual LaunchAgent setup | Auto-starts with plugin | | No CLI | Full CLI suite |
License
MIT
Contributing
Pull requests welcome! Please ensure:
- TypeScript compiles without errors
- Dashboard works in latest Chrome/Firefox/Safari
- No breaking changes to API
Credits
Created by Matthew Russell (@rmruss2022)
Built for the OpenClaw community 🦞
