v0.1.0 — First public release
First public release. cursor-pulse is a self-hosted usage metering and quota control panel for team Cursor accounts. MIT licensed, Docker one-command deploy. 中文文档见 README_CN.md。
Features
- Account registry: register team Cursor accounts, assign owners, bind Cursor User API keys
- Automatic usage sync: bound keys sync Cursor usage on a schedule — the single source of usage data
- Quota board: aligned with Cursor Plan & Usage, per billing cycle, per account and per member
- Usage analytics: team- and member-level usage statistics
- Key lending: self-service temporary key requests with automatic expiry and recall; admin assignment and reassignment supported
- On-Demand spending controls: spending limits and overage notifications
- Admin UI: Vue portal; web-only is the default path; portal login decoupled from IM
- Optional IM plugins: DingTalk / Feishu bots (channel-based architecture; IM does not collect usage)
- Optional MITM proxy: Go HTTPS proxy for transparent rotation and usage attribution (off by default; CA/compliance risks documented)
- Docker one-command deploy:
docker compose up -dbrings up the full stack (auto init-db)
Quick start
git clone https://github.com/cnwinds/cursor-pulse.git
cd cursor-pulse/docker
./scripts/setup.sh
docker compose up -d --buildAdmin UI: http://<host-ip>:8080/admin/ (user admin, password is ADMIN_PASSWORD in docker/.env)
Known limitations
- Usage sync relies on undocumented Cursor APIs and may break after Cursor updates (see docs/cursor-usage-api.md)
- The MITM proxy requires trusting a self-signed CA on endpoints and is disabled by default (see proxy/README.md)
Full changelog: https://github.com/cnwinds/cursor-pulse/blob/master/CHANGELOG.md