Skip to content

Releases: cnwinds/cursor-pulse

v0.2.0

Choose a tag to compare

@cnwinds cnwinds released this 30 Jul 10:18

v0.2.0

Self-hosted usage metering and quota control panel for team Cursor accounts. MIT licensed. Chinese docs: README_CN.md.

Added

  • Admin overview redesign: attention inbox, core KPIs, 14-day usage trend, top quota risks, and recent activity — scoped by signed-in permissions
  • MITM proxy quota-stream detection: recognize gzip Connect end-stream and InteractionUpdate.post_request_prompt limit signals; add PROXY_DEBUG_STREAM frame diagnostics
  • Brand & docs: English-first README (Chinese in README_CN.md), embedded demo video, SVG logo, social preview, and NOTICE

Changed

  • Proxy limit-rotation strategy: return limit/quota errors to the CLI as-is; mark the account exhausted and advance the pool so the next user message uses another account (no same-request transparent retry)
  • Proxy session & model routing: fix sticky session rotation and model extraction from Run requests; model-aware quota-pool routing with stream body wait
  • Roadmap: upcoming items marked pending — not a delivery commitment

Fixed

  • Proxy go test CI: inline model-tap fixtures; decouple session/TTL tests from quota rotation
  • Admin dark-mode logo readability (prefers-color-scheme)

Misc

  • Stop tracking internal docs/superpowers/; remove redundant GitLab CI

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

v0.1.0 — First public release

Choose a tag to compare

@cnwinds cnwinds released this 28 Jul 04:34

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 -d brings 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 --build

Admin 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