Web UI and CLI for managing tasks and sub-agent jobs. Built for OpenClaw.
A task tracking system with two core concepts:
- Tasks: Work items with lifecycle management (pending, in-progress, blocked, done, cancelled). Support priorities, due dates, milestones, subtasks, references, and activity logs.
- Jobs: Autonomous execution units (sub-agent sessions or goralph iteration loops) that run work in the background. Jobs can be linked to parent tasks, tracked with progress, and monitored for completion/failure.
Flask app serving a real-time dashboard at localhost:5111. Features:
- Active tasks with status filters (all, in-progress, pending, blocked)
- Active jobs section with live status, goralph turn progress bars, timeout warnings
- Task detail modal with description, milestones, subtasks, references, activity log, and attached jobs
- Job detail modal with session info, duration, results, errors
- Job indicators on task rows (⚡) showing attached job count
- Completed/cancelled task history (collapsible)
- Auto-refresh every 30 seconds
- Dark theme, responsive layout
Installed at ~/.local/bin/task-tracker. Full task and job management from the command line.
Task commands:
task-tracker list # List active tasks
task-tracker add "Title" --priority high --due 2026-03-01
task-tracker show 15 # Task details
task-tracker update 15 --status in-progress
task-tracker done 15 # Mark complete
task-tracker note 15 "Status update"
task-tracker ref 15 --type slack --url https://...
task-tracker milestone 15 "Phase 1 complete"
task-tracker search "keyword"
task-tracker dashboard # Summary stats
task-tracker stale # Tasks with no activity in 7+ days
task-tracker upcoming # Due soon
Job commands:
task-tracker jobs # List running jobs
task-tracker jobs --status completed # Filter by status
task-tracker jobs --type goralph # Filter by type
task-tracker job-add --session-key "..." --desc "..." --archetype researcher
task-tracker job-add --session-key "..." --desc "..." --type goralph --goralph-turns 10 --goralph-repo /path
task-tracker job-show S-5 # Full job details
task-tracker job-update S-5 --status completed --result "Summary of results"
task-tracker job-update S-5 --goralph-turn 3 # Update iteration progress
task-tracker job-kill S-5 # Mark killed
Installed at ~/.local/bin/job-completion-check. Scans running jobs and auto-updates their status by checking:
- Sub-agent jobs: Reads OpenClaw session transcripts for completion
- Goralph jobs: Checks
.ralph/logs/for iteration progress and completion signals
Run on heartbeat intervals to catch completed jobs that weren't manually updated.
PostgreSQL database auri_memory. Key tables:
tasks: Core task recordstask_log: Activity log entries per tasktask_references: Links to Slack threads, docs, URLstask_milestones: Checkpoints within taskssubagent_jobs: Sub-agent and goralph job tracking
# Install dependencies
pip install flask psycopg2-binary
# Run dashboard
python server.py # Serves on localhost:5111
# Or via systemd
sudo systemctl start task-dashboardtask-dashboard/
├── server.py # Flask API + static file serving
├── task-tracker.py # CLI (install to ~/.local/bin/task-tracker)
├── job-completion-check.py # Job watcher (install to ~/.local/bin/job-completion-check)
├── static/
│ ├── index.html # Dashboard HTML
│ ├── app.js # Dashboard frontend logic
│ └── style.css # Dark theme styles
└── .ralph/ # goralph iteration logs (from build process)
| Type | Description | Progress Tracking |
|---|---|---|
subagent |
OpenClaw sub-agent session (sessions_spawn) | Status only |
goralph |
Multi-iteration agentic loop (Claude Code) | Turn N/M with progress bar |
Private repository.