A local-first operations console for AI subscriptions, price intelligence, quota health, and CPA proxy runtime.
English · 简体中文 · Searchable guides · Architecture · Deployment · Release notes
Overview · Showcase · Architecture · Quick start · Contributing
CPA Orbit brings the operational paths that normally live across scripts, browser tabs, and local folders into one coherent workspace. The desktop application and browser console share the same Go runtime, settings, credentials, subscription archive, alerts, and price history. Everything stays local by default and the network services bind to loopback interfaces.
- Subscription operations — single or batch JSON import, canonical-content deduplication, archive management, CPA synchronization, quota checks, and connectivity diagnostics.
- Price intelligence — K12 and GPT Plus offer collection, current inventory, threshold alerts, and truthful 14-day average-price history.
- CPA runtime control — automatic CLIProxyAPI discovery and startup, live health state, auth-pool projection, and shared endpoint visibility.
- Desktop integration — compact Wails host, system tray, close-to-tray behavior, native notifications, taskbar alerts, and startup-at-login.
- SMS workflow — backend-protected Luban key, country/service discovery, balance, number acquisition, three-second verification polling, and release.
- Focused interface — responsive web layout, fixed 1280×800 desktop composition, Auto/Light/Dark themes, accessible states, and restrained loading motion.
Showcase data is synthetic. Credential-bearing JSON, tokens, account lists, and private runtime screenshots are never committed.
flowchart LR
subgraph UX["Experience Layer"]
WEB["Browser Console<br/>Vue 3 + Vite"]
APP["Desktop Console<br/>Wails + WebView2"]
end
subgraph CORE["Local Control Plane · 127.0.0.1:8080"]
API["Monitor API<br/>Go · net/http"]
MON["Price & Alert Monitor"]
SUB["Subscription Manager"]
SMS["Luban SMS Proxy"]
end
subgraph STATE["Local Source of Truth"]
DATA[("data/<br/>settings · history · alerts")]
ARCH[("k12/<br/>subscription archive")]
end
subgraph RUNTIME["Rebuildable Runtime Projection"]
CPA["CLIProxyAPI<br/>127.0.0.1:8317"]
AUTH[("cpa/auths/")]
end
WEB -->|"HTTP /api"| API
APP -->|"same-origin /api"| API
API --> MON & SUB & SMS
MON <--> DATA
SUB <--> ARCH
SUB -->|"reconcile"| AUTH
AUTH --> CPA
API -->|"health & quota"| CPA
classDef client fill:#10262d,stroke:#36c2b4,color:#f4fffd,stroke-width:2px;
classDef service fill:#e8f8f5,stroke:#138a7e,color:#12352f,stroke-width:2px;
classDef store fill:#fff8e8,stroke:#d59b2d,color:#4c3510,stroke-width:2px;
classDef runtime fill:#eef2ff,stroke:#5c6ac4,color:#222a57,stroke-width:2px;
class WEB,APP client;
class API,MON,SUB,SMS service;
class DATA,ARCH store;
class CPA,AUTH runtime;
The archive under k12/ is the subscription source of truth. cpa/auths/ is a rebuildable runtime projection, so the web and desktop clients never maintain competing account stores. See the architecture dossier for trust boundaries, import sequence, failure modes, and ADRs.
- Unified desktop and browser data, settings, secrets, subscription state, and backend health reporting.
- Added one-click desktop startup for the Monitor API and CLIProxyAPI, plus tray, notifications, taskbar flashing, and startup-at-login controls.
- Added Auto/Light/Dark appearance modes and a stable fixed-size desktop window without resize polling.
- Decoupled Monitor and CLIProxyAPI health checks to prevent false offline status.
- Rebuilt Settings navigation as stable in-page controls and removed route/hash interference.
- Fixed optional-price imports across the Vue numeric model and WebView2 upload boundary; imports now start immediately with bounded requests and guaranteed action recovery.
- Added subscription asset insights for account health, recorded cost, average acquisition price, and seven-day expiry risk.
- Improved route loading, skeleton states, endpoint visibility, shared status feedback, and responsive layouts.
- Added Playwright regression coverage, GitHub CI, structured issue/PR templates, an English-only README, and a categorized documentation system.
See the complete changelog.
- Go 1.25 or newer
- Node.js 20 or newer with npm
- Windows 10/11 with WebView2 for the desktop executable
- A local CLIProxyAPI runtime only when CPA proxy features are required
git clone https://github.com/2921323707/CPA_Orbit.git
cd CPA_Orbit
.\start-dev.ps1| Service | Local endpoint |
|---|---|
| Web console | http://127.0.0.1:5173/ |
| Monitor API | http://127.0.0.1:8080/api |
| CLIProxyAPI | http://127.0.0.1:8317/v1 |
| In-app guide | http://127.0.0.1:5173/docs |
.\app\build-windows.ps1The portable executable is written to app/build/bin/CPAOrbit.exe. A repository build automatically shares the root data/ and k12/ directories with the browser console and starts or reuses all required local services.
# Backend and desktop host
.\.tools\go\bin\go.exe test ./...
# Frontend production build and browser regression suite
cd web
npm ci
npm run build
npx playwright install chromium
npm run test:e2eBrowse the complete, searchable documentation at 165.154.205.54/cpa_orbit. The repository links below remain available for offline reading and source review.
| Area | Guide |
|---|---|
| Online documentation | Open documentation site |
| Architecture and ADRs | docs/architecture |
| Desktop development and distribution | docs/development/desktop.md |
| Backend API and security boundaries | docs/development/backend.md |
| Releases and changelog | docs/releases |
| Contribution and community policies | docs/community |
| Complete documentation index | docs/README.md |
CPA Orbit is local-first, not credential-free. Never commit or share CPA JSON, OAuth tokens, API keys, data/, k12/, cpa/auths/, logs, or screenshots containing account information. Review the security policy before exposing an endpoint or redistributing a build.
Offer and price data comes from PriceAI. Checkout redirects and order lookup use LXDP. CPA Orbit aggregates, records, and redirects only; source platforms remain authoritative for live prices, inventory, payment, and after-sales terms.
Original CPA Orbit source code is available under the MIT License. Bundled or referenced third-party components retain their own licenses; see the third-party notices.