Skip to main content

Deterministic Cursor agent status monitoring via native hooks

Project description

Cursor Agent Beacon

CI License: MIT Python 3.10+

Deterministic monitoring of Cursor agent activity using native Cursor Hooks.

Repository: https://github.com/suribe06/cursor-agent-beacon

Cursor fires hook events automatically during the agent lifecycle. Cursor Agent Beacon listens to those events, maps them to a small set of high-level states, and publishes status updates through pluggable sinks.

This is the software foundation for a physical status panel (ESP32 + color TFT). v0.3 ships Python hooks, bundled standard GIF themes, a local bridge service, and one-shot setup.

Features

  • One-shot setup: ./setup.sh or pip install + cursor-agent-beacon setup
  • doctor / status / uninstall CLI for install verification and teardown
  • Normalized status model (idle, thinking, running_shell, running_mcp, success, error, ...)
  • Standard theme: 8 animated pixel-robot GIFs (480×480) in themes/standard/assets/
  • Custom themes: drop your own GIFs in themes/custom/<name>/
  • Fail-open behavior — hooks never block Cursor
  • JSON log sink (stderr) for the Hooks output channel
  • File sink with latest status snapshot
  • HTTP sink for the local bridge service
  • Bridge service (cursor-agent-beacon bridge): POST /status → theme GIF resolution → serial commands
  • GNOME status panel (v0.10, pre-release): Ubuntu top-bar indicator — gnome-extension/ + docs/gnome-panel.md
  • Multi-session registry: per-chat status under ~/.local/share/cursor-agent-beacon/

Quick start

From git (recommended for development)

git clone https://github.com/suribe06/cursor-agent-beacon.git
cd cursor-agent-beacon
./setup.sh

From PyPI

python3 -m venv .venv
source .venv/bin/activate
pip install "cursor-agent-beacon[bridge]"
cursor-agent-beacon setup

Restart Cursor when setup finishes. On Ubuntu, reload GNOME Shell if the top-bar panel does not appear.

Verify installation:

.venv/bin/cursor-agent-beacon doctor

After using the agent:

.venv/bin/cursor-agent-beacon status

Check status (any project):

cat ~/.local/share/cursor-agent-beacon/status.json

See Getting Started for bridge, themes, and development setup.

Architecture

Cursor → hooks.json → hook-handler.py → cursor_agent_beacon → sinks

Read more in docs/architecture.md.

Configuration

Variable Default Description
CURSOR_AGENT_BEACON_LOG true Emit JSON lines to stderr
CURSOR_AGENT_BEACON_FILE true Write latest status file
CURSOR_AGENT_BEACON_STATUS_FILE .cursor-agent-beacon/status.json (project) or ~/.local/share/cursor-agent-beacon/status.json (user install) Status snapshot path
CURSOR_AGENT_BEACON_HTTP_URL unset Bridge POST /status endpoint
CURSOR_AGENT_BEACON_BRIDGE_HOST 127.0.0.1 Bridge bind address
CURSOR_AGENT_BEACON_BRIDGE_PORT 8765 Bridge HTTP port
CURSOR_AGENT_BEACON_SERIAL_PORT unset ESP32 serial device (dry-run if unset)
CURSOR_AGENT_BEACON_SERIAL_BAUD 115200 Serial baud rate
CURSOR_AGENT_BEACON_THEME standard Theme id (standard or custom theme name)
CURSOR_AGENT_BEACON_THEMES_DIR packaged themes/ or repo themes/ Root folder for theme packs
CURSOR_AGENT_BEACON_REDACT_CONTENT false Hide prompt/response text in status

Project status

Component Status
Python hook handler ✅ v0.3
Multi-session file sink ✅ v0.3
One-shot setup + doctor CLI ✅ v0.3
GNOME status panel 🧪 v0.10 pre-release
Standard GIF theme ✅ bundled
Custom GIF themes themes/custom/
Local bridge service ✅ v0.2
VIEWE display firmware 🔜 planned

See docs/roadmap.md.

Documentation

Contributing

See CONTRIBUTING.md. Please read the Code of Conduct before participating.

Report security issues privately — see SECURITY.md.

Development

./setup.sh
source .venv/bin/activate
pip install -e ".[dev,bridge]"
pytest
ruff check src tests
ruff format --check src tests
pyright
python -m build
cursor-agent-beacon bridge
cursor-agent-beacon install-hooks
PYTHONPATH=src python3 -m cursor_agent_beacon.cli map examples/sample-events/stop_completed.json

Systemd user service template: packaging/cursor-agent-beacon-bridge.service

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cursor_agent_beacon-0.3.1.tar.gz (91.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cursor_agent_beacon-0.3.1-py3-none-any.whl (115.0 kB view details)

Uploaded Python 3

File details

Details for the file cursor_agent_beacon-0.3.1.tar.gz.

File metadata

  • Download URL: cursor_agent_beacon-0.3.1.tar.gz
  • Upload date:
  • Size: 91.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cursor_agent_beacon-0.3.1.tar.gz
Algorithm Hash digest
SHA256 b4436c78f4871302d47296aa65e7ec854bf23cb2e9d9eb1a0a1e395db9756a85
MD5 c9a92b7e9e23f54887146215261db218
BLAKE2b-256 ec0a542708ff13c07de03c909ccee2418dada93cbb85890a682eda74434710e7

See more details on using hashes here.

File details

Details for the file cursor_agent_beacon-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cursor_agent_beacon-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7198154dbd01e4dd9331de45f5db8c747b03b132916a9d55c0d7344387a1e0a1
MD5 e9f8973e3a43f69424f819e87b5d75fc
BLAKE2b-256 8889165b3e442f7a4f707073586b07f71b0f9d2ba243dbc73678ca40aa7bdffa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page