Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Tauri updater signing
TAURI_SIGNING_PRIVATE_KEY=/path/to/your.key
# Tauri updater signing (private key is gitignored at .tauri/crossusage.key)
TAURI_SIGNING_PRIVATE_KEY_PATH=.tauri/crossusage.key
TAURI_SIGNING_PRIVATE_KEY_PASSWORD=

# macOS code signing
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ jobs:

- uses: dtolnay/rust-toolchain@stable

- name: Install Linux build dependencies
if: runner.os == 'Linux'
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev pkg-config

- name: Cargo test (crossusage-cli)
run: cargo test -p crossusage-cli --locked

Expand Down
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,32 @@

**CrossUsage** ships **1.x** releases from [github.com/barramee27/crossusage](https://github.com/barramee27/crossusage). Older **0.6.x** sections below are **archived OpenUsage upstream** notes, not CrossUsage release numbers.

## 1.1.0

**Theme:** Know before you run out — local-only insights on probe + history data.

### New features (fork)

- **Usage insights banner** on the home panel: behind-pace providers, tightest remaining quota, and next reset.
- **Pace burn-rate alerts** for the primary progress line (low remaining % and projected to run out before reset).
- **Rolling 7-day rollup** of tokens and estimated spend from local `usage_daily` history.
- **Cursor MTD usage** line from dashboard CSV export on the Cursor card (45-minute in-memory cache).
- **Insights banner v2:** click insight → open provider, dismiss rows, split token/cost deltas, 30-day rollup, 7-day sparkline.
- **History export** (Settings) and **local API** `GET /v1/history/quota` + `GET /v1/history/daily`.
- **Cursor billing table** on provider detail (GUI parity with `crossusage-cli usage-stats`).
- **Spend spike alert** when 7-day estimated local spend jumps vs prior week (opt-in).
- **Cursor Nightly** as a separate provider (`cursor-nightly`) with its own install path and icon.
- **Provider list** sorted A–Z by display name in Settings and navigation.

### Ports from [OpenUsage v0.6.27](https://github.com/robinebers/openusage/releases/tag/v0.6.27)

- **Devin:** support auth from the Devin - Next app ([#554](https://github.com/robinebers/openusage/pull/554)).
- **macOS panel:** clamp to visible screen when menu bar auto-hides ([#557](https://github.com/robinebers/openusage/pull/557)).
- **macOS keychain:** allow `readGenericPassword(service)` without account arg ([#559](https://github.com/robinebers/openusage/pull/559)).
- **Plugins:** remove retired Windsurf plugin from app data on startup ([#552](https://github.com/robinebers/openusage/pull/552)).

---

## 1.0.11

Ports **[OpenUsage v0.6.26](https://github.com/robinebers/openusage/releases/tag/v0.6.26)** while keeping CrossUsage fork UI (Linux/Windows native window, usage history, multi-account).
Expand Down
78 changes: 75 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ Linux **CLI-only** without a desktop package: add `INSTALL_MODE=cli` to the firs
- Global shortcut to show/hide the panel
- Plugin-based providers (ship updates without rebuilding core logic)
- Optional **local usage history** (Settings → *Usage history*, SQLite on disk only)
- **Usage insights** on the home panel (pace warnings, tightest quota, next reset, 7-day rollup when history is enabled)
- **Pace burn-rate alerts** for primary quota lines (Settings → Usage Alerts)
- **Cursor billing usage table** on provider detail (`usage-stats` / cstats parity)
- **History CSV export** and `GET /v1/history/*` on the local API (with usage history enabled)
- **[Local HTTP API](docs/local-http-api.md)** on `127.0.0.1:6736` while the app runs
- Optional **[HTTP/SOCKS proxy](docs/proxy.md)** via `~/.crossusage/config.json`

Expand All @@ -69,6 +73,7 @@ Multi-account OAuth rows: **[multi-account credentials](docs/providers/multi-acc
| Copilot | [copilot](docs/providers/copilot.md) |
| CrofAI | [crofai](docs/providers/crofai.md) |
| Cursor | [cursor](docs/providers/cursor.md) |
| Cursor Nightly | [cursor](docs/providers/cursor.md) (separate install at `~/.config/Cursor Nightly` on Linux) |
| DeepSeek | [deepseek](docs/providers/deepseek.md) |
| Factory / Droid | [factory](docs/providers/factory.md) |
| Fireworks AI | [fireworks-ai](docs/providers/fireworks-ai.md) |
Expand Down
6 changes: 6 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 12 additions & 1 deletion copy-bundled.cjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { cpSync, readdirSync, rmSync } = require("fs")
const { cpSync, readFileSync, readdirSync, rmSync, writeFileSync } = require("fs")
const { join } = require("path")

const root = __dirname
Expand All @@ -12,6 +12,17 @@ const plugins = readdirSync(srcDir, { withFileTypes: true })
.filter((d) => d.isDirectory() && !exclude.has(d.name))
.map((d) => d.name)

function buildCursorNightlyPlugin() {
const nightlyDir = join(srcDir, "cursor-nightly")
const cursorJs = readFileSync(join(srcDir, "cursor", "plugin.js"), "utf8")
writeFileSync(
join(nightlyDir, "plugin.js"),
`globalThis.__OPENUSAGE_PLUGIN_REGISTRATION_ID__ = "cursor-nightly";\n${cursorJs}`,
)
}

buildCursorNightlyPlugin()

for (const id of plugins) {
cpSync(join(srcDir, id), join(dstDir, id), { recursive: true })
}
Expand Down
2 changes: 1 addition & 1 deletion crates/crossusage-cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "crossusage-cli"
version = "1.0.11"
version = "1.1.0"
description = "CrossUsage CLI — terminal interface for the same plugin engine as the GUI"
edition = "2021"

Expand Down
Loading
Loading