{"id":51951754,"url":"https://github.com/dubsopenhub/copilot-cli-agent-pulse","last_synced_at":"2026-07-29T06:01:30.211Z","repository":{"id":351174327,"uuid":"1209858072","full_name":"DUBSOpenHub/copilot-cli-agent-pulse","owner":"DUBSOpenHub","description":"⚡ Copilot CLI Agent Pulse — Real-time agent tracking dashboard for the GitHub Copilot CLI.","archived":false,"fork":false,"pushed_at":"2026-05-06T06:24:25.000Z","size":4103,"stargazers_count":5,"open_issues_count":2,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-07T22:21:29.120Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/DUBSOpenHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-13T21:14:14.000Z","updated_at":"2026-05-21T19:26:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/DUBSOpenHub/copilot-cli-agent-pulse","commit_stats":null,"previous_names":["dubsopenhub/copilot-cli-agent-pulse"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/DUBSOpenHub/copilot-cli-agent-pulse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUBSOpenHub%2Fcopilot-cli-agent-pulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUBSOpenHub%2Fcopilot-cli-agent-pulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUBSOpenHub%2Fcopilot-cli-agent-pulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUBSOpenHub%2Fcopilot-cli-agent-pulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DUBSOpenHub","download_url":"https://codeload.github.com/DUBSOpenHub/copilot-cli-agent-pulse/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DUBSOpenHub%2Fcopilot-cli-agent-pulse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36020486,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-29T02:00:04.910Z","response_time":95,"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":[],"created_at":"2026-07-29T06:01:28.605Z","updated_at":"2026-07-29T06:01:30.193Z","avatar_url":"https://github.com/DUBSOpenHub.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ⚡ Agent Pulse\n\n**Real-time agent tracking dashboard for the GitHub Copilot CLI**\n\n🌐 **[Learn more on the website →](https://dubsopenhub.github.io/copilot-cli-agent-pulse/)**\n\n### 🚀 Install \u0026 Launch\n\n**Homebrew (recommended on macOS):**\n\n```bash\nbrew tap DUBSOpenHub/copilot-cli-agent-pulse\nbrew install agent-pulse\n```\n\n**Quick installer (any platform):**\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/DUBSOpenHub/copilot-cli-agent-pulse/main/quickstart.sh | bash\n```\n\nThen just type `agentpulse` — the dashboard opens in a new window of your current\nterminal emulator (auto-detects Ghostty, iTerm, Kitty, WezTerm, Alacritty, Warp,\nTerminal.app, and tmux).\n\nUse `agentpulse --here` to run it in the current terminal instead (handy over SSH\nor inside a tmux pane).\n\n\u003cdiv align=\"center\"\u003e\n\n[![Python 3.10+](https://img.shields.io/badge/Python-3.10+-00ff87?style=for-the-badge\u0026logo=python\u0026logoColor=white)](https://python.org)\n[![Copilot CLI](https://img.shields.io/badge/Copilot-CLI-ff00ff?style=for-the-badge\u0026logo=github\u0026logoColor=white)](https://githubnext.com/projects/copilot-cli)\n[![License: MIT](https://img.shields.io/badge/License-MIT-ffd75f?style=for-the-badge)](LICENSE)\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/dashboard-screenshot.png\" alt=\"Agent Pulse Dashboard\" width=\"700\"\u003e\n\u003c/div\u003e\n\n---\n\n## 🌟 Overview\n\nAgent Pulse is a **real-time terminal dashboard** that monitors your GitHub Copilot CLI sessions, agents, and activity. Built with Python, [Textual](https://github.com/Textualize/textual), and [Rich](https://github.com/Textualize/rich), it gives you full observability into your AI-powered development workflow.\n\n### ✨ Features\n\n| Feature | Description |\n|---------|-------------|\n| 🖥️ **Live Session Tracking** | Real-time monitoring of active Copilot CLI terminal sessions |\n| ◉ **Live Runs Anywhere** | Unified inventory of active processes, tmux panes, Copilot event-stream agents, and Stampede/metaswarm runs |\n| 🐝 **Swarm Sub-agent Tracking** | Counts sub-agents inside each Stampede/metaswarm commander from `child-agents.jsonl`, split by division commanders, commanders, squad leads, sub-agents, reviewers, and other |\n| 🤖 **Agent Monitoring** | Track 15+ agent types: task, explore, general-purpose, rubber-duck, code-review, and custom agents |\n| 📊 **14-Day Trend Analysis** | Sparklines, daily breakdowns, gradient bar charts, and trend arrows |\n| 🔥 **24h Activity Heatmap** | Hourly session density visualization with `░▒▓█` blocks |\n| 🚀 **Agent Velocity** | Agents-per-hour metric with peak concurrent tracking |\n| 📱 **Responsive Layout** | 3-tier adaptive UI: full → compact → micro dashboard |\n| ⚡ **Real-time Updates** | Configurable refresh rate with pulse wave animation |\n| 💾 **Persistent History** | Daily stats saved to `~/.copilot/agent-pulse/` |\n| 🔒 **DB Lock Resilience** | Graceful handling when the session store is busy |\n| 🎨 **Polished Aesthetic** | Clean color palette with gradient effects and heartbeat animations |\n\n---\n\n## 🚀 Quick Start\n\n```bash\n# Clone the repo\ngit clone https://github.com/DUBSOpenHub/copilot-cli-agent-pulse.git\ncd copilot-cli-agent-pulse\n\n# Create a virtual environment and install dependencies\npython3 -m venv .venv\n.venv/bin/pip install -r requirements.txt\n\n# Launch the dashboard\nagentpulse\n```\n\nThat's it. The dashboard auto-detects your Copilot CLI sessions and starts monitoring.\n\n### Shell Commands\n\nAdd these aliases to your `~/.zshrc` or `~/.bashrc` (fish users: `~/.config/fish/config.fish`):\n\n```bash\nalias agentpulse='~/copilot-cli-agent-pulse/start.sh'\nalias agentdashboard='~/copilot-cli-agent-pulse/start.sh'\nalias agentpulse-here='~/copilot-cli-agent-pulse/start.sh --here'\n```\n\nThen just type **`agentpulse`** or **`agentdashboard`** from anywhere — the live dashboard **automatically opens in a new terminal window** so it never blocks your current session. The launcher auto-detects **Ghostty, iTerm, Kitty, WezTerm, Alacritty, Warp, Terminal.app, tmux, gnome-terminal,** and **xterm**.\n\nUse **`agentpulse --here`** (or the `agentpulse-here` alias) to run the dashboard **in the current terminal** instead — ideal for SSH sessions or tmux panes.\n\n---\n\n## 🎮 Modes\n\n| Mode | Command | Description |\n|------|---------|-------------|\n| **Live** | `python agent_pulse.py` | Launch the live Textual dashboard (default) |\n| **Export** | `python agent_pulse.py --export` | JSON export to stdout |\n| **No Splash** | `python agent_pulse.py --no-splash` | Skip boot animation |\n\n### Launcher Options\n\n| Flag | Description |\n|------|-------------|\n| `--here` | Run in the current terminal (one-off; doesn't change your saved preference) |\n| `--new-window` | Open a new window (one-off; doesn't change your saved preference) |\n| `--reconfigure` | Forget the saved launch-mode preference and ask again on next run |\n\n\u003e 💡 **First run**: Agent Pulse asks whether you prefer a new window or in-place, then remembers your choice in `~/.config/agent-pulse/launcher.conf`. Explicit flags always override the saved preference.\n\n### Dashboard Options\n\n```\n--export,    -e          Export JSON to stdout\n--no-splash              Skip boot animation\n--version,   -v          Show version number\n```\n\n---\n\n## 🏗️ Architecture\n\n```\n┌──────────────────┐     ┌──────────────────┐     ┌──────────────────┐\n│  Process Scanner │     │  Session Store    │     │  Event Parser    │\n│  (ps aux)        │────▶│  (SQLite DB)      │────▶│  (events.jsonl)  │\n└──────────────────┘     └──────────────────┘     └──────────────────┘\n         │                        │                        │\n         ▼                        ▼                        ▼\n┌─────────────────────────────────────────────────────────────────────┐\n│                      collect_all_stats()                            │\n│  Merges: procs, sessions, DB stats, agents, skills, history        │\n└─────────────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────────────┐\n│                    Adaptive Layout Engine                           │\n│  Full (≥100w, ≥40h) → Compact (≥80w) → Micro (\u003c80w or \u003c24h)      │\n└─────────────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────────────┐\n│                      Textual App (TUI)                                │\n│  Banner │ Metrics │ Sessions │ Agents │ Health │ Models                │\n└─────────────────────────────────────────────────────────────────────┘\n```\n\n### Data Sources\n\n| Source | Path | What It Provides |\n|--------|------|-----------------|\n| Process table | `ps aux` | Active Copilot CLI processes (PID, CPU, MEM) |\n| Session store | `~/.copilot/session-store.db` | Total/daily/weekly/monthly session counts, turn counts |\n| Session state | `~/.copilot/session-state/` | Active sessions, lock files, event streams |\n| tmux panes | `tmux list-panes -a` | Visible pane-backed agent runs, including Stampede commanders |\n| Stampede runs | `.stampede/run-*/` under common work roots | Commander PIDs, `swarm-state.json`, and full `child-agents.jsonl` nested swarm telemetry |\n| Agent registry | `~/.copilot/agents/` | Installed agent definitions |\n| History cache | `~/.copilot/agent-pulse/history.json` | Persistent daily statistics |\n\n---\n\n## 📊 Dashboard Panels\n\n### Banner\n- ASCII art title with animated pulse wave (`▁▂▃▄▅▆▇█▇▆▅▄▃▂`)\n- Heartbeat animation, uptime counter, live clock\n- Dynamic border: green when active, cyan when idle\n\n### Trend Analysis\n- First dashboard box with 7-day daily breakdowns, 14-day sparklines, trend arrows, and session/agent counts\n\n### Live Metrics\n- Second dashboard box with active sessions, total live agents, live sub-agents, hierarchy counts, 5-minute launches, velocity, and today's launch total\n- Separate level counts for division commanders, commanders, squad leads, sub-agents, reviewers, and other\n\n### Fleet Health + Heatmap\n- Fleet Health and Heatmap + Signal sit directly under the top row as boxes three and four\n- On wide terminals they render side by side; on narrow terminals they stack\n\n### Launch Breakdown + Active Sessions\n- Launch Event Breakdown and Active Sessions render side by side on wide terminals, then stack on narrow terminals\n\n### Model Distribution + Live Runs\n- Model Distribution and Live Runs render side by side on wide terminals, then stack on narrow terminals\n\n### Recent Launches\n- Recent Launches sits below the analysis row so new agents are still easy to spot\n\n### Agent Breakdown\n- Stacked distribution bar by agent type\n- Colored badges for 15+ agent types\n- Gradient share bars per type\n- Skill invocation tracking\n\n### Active Sessions\n- Live table of running Copilot CLI sessions\n- Session ID, PID, agent type, status, and runtime\n\n### Live Runs Anywhere\n- Unified live inventory of process-backed agents, tmux panes, in-flight Copilot event agents, and Stampede/metaswarm ledgers\n- Shows run/agent name, source, status, model, age, and nested child counts\n- Tracks sub-agents **within swarms** by scanning full `child-agents.jsonl` ledgers per commander, then rendering per-commander sub-agent totals plus recent sub-agent rows\n- Splits live swarm levels into division commanders, commanders, squad leads, sub-agents, reviewers, and other so forced-count swarms can be checked from the dashboard\n- Set `AGENT_PULSE_SCAN_ROOTS=/path/one:/path/two` to include additional work roots for `.stampede` discovery\n\n### Installed Agents\n- Auto-discovered agent registry from `~/.copilot/agents/`\n- Icon, name, and description for each agent\n\n### Fleet Health\n- Health score gauge (0–100) with status label (Excellent / Good / Warning / Critical)\n- 24h success rate and error count\n- Pulsing monitor indicator\n\n### Model Distribution\n- 24h breakdown of AI models used across agent launches\n- Per-model count, percentage, and gradient bar\n\n---\n\n## 📁 Project Structure\n\n```\ncopilot-cli-agent-pulse/\n├── agent_pulse.py           # Main dashboard application\n├── agent_pulse.tcss         # Textual CSS stylesheet\n├── pyproject.toml            # Python packaging + entry point\n├── requirements.txt          # Python dependencies (rich, textual)\n├── start.sh                  # Launcher (auto-detects terminal emulator; --here for in-place)\n├── quickstart.sh             # One-command installer\n├── site/                     # Showcase website (GitHub Pages)\n│   └── index.html\n├── assets/                   # Screenshots and images\n├── experimental/\n│   └── ink/                  # React/Ink TUI (experimental)\n│       ├── src/\n│       └── package.json\n├── .github/\n│   ├── copilot-instructions.md\n│   └── workflows/\n│       ├── ci.yml\n│       └── pages.yml\n├── AGENTS.md\n├── CONTRIBUTING.md\n├── LICENSE\n├── README.md\n└── SECURITY.md\n```\n\n---\n\n## 💻 Platform Support\n\n| Platform | Status |\n|----------|--------|\n| macOS | ✅ Fully supported and tested |\n| Linux | ⚠️ Should work (untested) |\n| Windows | ❌ Not supported (`ps aux`, `SIGWINCH`) |\n\n**Requirements:** Python 3.10+ and an active [GitHub Copilot CLI](https://githubnext.com/projects/copilot-cli) installation.\n\n---\n\n## 🧪 Experimental: React/Ink Implementation\n\nAn alternative dashboard implementation using React and [Ink](https://github.com/vadimdemedes/ink) lives in `experimental/ink/`. This is a separate TUI with its own component architecture.\n\n```bash\ncd experimental/ink\nnpm install\nnpm start\n```\n\n\u003e **Note:** The Python implementation is the primary, production-ready version. The Ink version is experimental.\n\n---\n\n## 🤝 Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## 🔒 Security\n\nSee [SECURITY.md](SECURITY.md) for our security policy.\n\n## 📄 License\n\n[MIT](LICENSE) — built with ❤️ for the GitHub Copilot CLI community.\n\n---\n\nBuilt with ❤️ for the GitHub Copilot CLI community by [@DUBSOpenHub](https://github.com/DUBSOpenHub).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdubsopenhub%2Fcopilot-cli-agent-pulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdubsopenhub%2Fcopilot-cli-agent-pulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdubsopenhub%2Fcopilot-cli-agent-pulse/lists"}