Introduction¶
When developing with DSH Web GUI, checking the quota usually involves opening another page: logging into the Fireworks Nexus desktop app, finding the Overview card, confirming how much was used this month, how much is left in the 5-hour session window, and when it resets. If you want to look deeper, like how much each model cost or the cache hit rate, there is no corresponding entry in the web interface.
The plugin introduced below moves this usage card directly into the DSH Web GUI. It does not open new billing capabilities; it simply uses the private REST API that the Nexus client has already used, reads existing usage data into the panel, and includes a breakdown of spending by model.
What is This¶
dsh-nexus-usage-panel (Directory Category: Network Tools) is maintained by bradywatkinson and is a panel plugin for the DeepSeek Harness Web GUI.
In one sentence, it replicates the content of the Fireworks Nexus desktop app’s Overview card on the DSH Settings → Nexus Usage page. This includes plan tiers, percentage used this month and reset date, percentage used in the current session and reset time, and additionally provides a breakdown of spending by model and estimated savings, as well as cache hit rows (marked as Milestone 2 in the README).
It does not modify billing nor does it alter usage data; the panel is read-only, and the data comes from the machine-level key issued by the Nexus desktop app during login.
Core Features¶
The panel reads the same set of private REST APIs that nexus.fireworks.ai and the Nexus desktop app read. The endpoint correspondence given in the README is as follows:
| Endpoint | Purpose |
|---|---|
GET /v1/accounts/{account}/nexusPlans |
Current plan tier and billing cycle |
GET /v1/accounts/{account}/users/{user}/nexusPlanUsage |
Usage percentage for monthly and 5-hour rollingWindow, along with reset times |
POST /v1/accounts/{account}/usageCosts:query |
Spending by day and by model (Milestone 2), attribution lags behind the dashboard |
POST /v1/accounts/{account}/usageSavings:query |
Real-time daily spending, estimated savings, and cache hit rate |
Authentication uses the machine key issued when logging into the Nexus desktop app, stored in the macOS login keychain (Service name FireworksAI, Account fireworks-api-key). The key does not leave the local process; the browser side only receives de-embellished percentages. There are two ways to cover this: the environment variable FIREWORKS_NEXUS_KEY or apiKey in the plugin configuration; the gateway address can be overridden by NEXUS_GATEWAY_URL or the configuration item gatewayBase.
One point to note: nexusPlanUsage only exposes the percentage of plan quota, not the amount; while the savings endpoint returns dollar spending for member keys (see Milestone 2 documentation pointed to in the README). Spending by model can only be obtained via usageCosts:query, whose attribution progress lags behind the dashboard (it may be INCOMPLETE with no rows at the beginning of the month). Before attribution is complete, the panel will display an attribution pending prompt, accompanied by a real-time daily spending trend read from the savings pipeline, while widening the model query window to the last 30 days so that rows from the previous period appear immediately after attribution.
The daily spending trend is rendered by default as a GitHub-style contribution grid (weeks aligned to Sunday, month labels, Nexus pink heatmap, Less→More legend). Each cell has a branded tooltip (Tue, Nov 3 · $4.25, empty for no spend); the ▦/☰ selector in the block header can switch to a daily table. This choice is a host-side setting, persisted in ~/.dsh/nexus-usage-panel.json, provided by GET/POST /api/dsh-nexus-usage/config, with values in the form {"spendStyle": "grid" | "table"}, other values falling back to grid.
Additionally, the DSH session itself uses Nexus Auto (api.fireworks.ai/inference/v1, model auto). Fireworks routes this on the server side and does not return the matched model ID back to the client.
Installation and Enablement¶
Install in a DSH profile or via the Plugins page in the Web GUI. The command given in the README is:
# In a DSH profile (or via the Plugins page):
pnpm add dsh-nexus-usage-panel
You can also install directly in DSH Web GUI: Plugins → Install, fill spec with dsh-nexus-usage-panel. After installing, refresh and open Settings → Nexus Usage.
Installing directly from GitHub without npm: Also in Plugins → Install, fill spec with:
github:bradywatkinson/dsh-nexus-usage-panel
When using the experimental Discover tab (custom plugin marketplace), add the index source:
https://raw.githubusercontent.com/bradywatkinson/dsh-nexus-usage-panel/main/market/index.json
Then install Nexus Usage from the card. This index is format-1 and validated by @deepseek-ai/dsh-plugin-market-index.
The README gives two runtime prerequisites: key reading only supports macOS (and the Nexus desktop app must have been logged in at least once); gateway reading happens once per minute and is cached. Plan and seat failures are independent, consistent with the Nexus app behavior.
Typical Usage¶
After installation, you don’t need to worry about command-line arguments. On macOS, ensure the Nexus desktop app has been logged in, then open DSH Web GUI, go to Settings → Nexus Usage, and the page will render the following: plan tier badge, “This month — N% used · Resets
If the attribution data is still in the INCOMPLETE status, the page will display an attribution pending explanation, and replace the per-model rows with a daily spending trend chart. To switch to table view, use the ▦/☰ selector in the block header; after switching and refreshing, it remains, as the host writes the selection to ~/.dsh/nexus-usage-panel.json.
To verify if changes have taken effect, you can use the test included in the repository:
npm test # host shaping + client smoke
Regarding the repository structure, lib/index.js is the host-side cordis plugin, providing /api/dsh-nexus-usage/usage; lib/client.js is the browser-side module, rendering the dashboard card in the settings.section slot; cordis.patch.yml is the patch file for packaging.
Applicable Scenarios and Notes¶
Suitable for developers who have Fireworks Nexus quota and work in DSH Web GUI, wanting to confirm how much is left for this month and the 5-hour window, as well as how much each model has roughly spent, all in one interface.
A few prerequisites you must know:
- Currently only available on macOS because it needs to read the login keychain; the Nexus desktop app needs to be logged in at least once to issue a key.
- The panel runs with the permissions of the current DSH process, meaning it accesses these read-only endpoints under your account identity. Before installing, it is recommended to read the source code under
lib/andLICENSE(MIT) to confirm that the range of endpoints it accesses meets your expectations. - Spending by model has attribution lag and may have no data at the beginning of the month; in this case, the panel automatically falls back to the real-time daily spending trend, not a broken feature.
- Token-level details are not exposed by any verified endpoint; those planning to do token-level tracking may skip this for now.
- The repository currently has 0 stars; it is an early project, and interfaces or configuration fields may be adjusted in subsequent versions.
If you need to fix issues or track progress, the README points to the Issues page: https://github.com/bradywatkinson/dsh-nexus-usage-panel/issues . Milestone 2 (#3) plans to continue advancing the model/token breakdown via usageCosts:query.
Conclusion¶
This plugin does not introduce a new billing standard; its value lies in consolidating the plan tier, monthly usage, session window, and reset time that are scattered in the Nexus desktop app into the same page of DSH Web GUI, and filling in the line of spending by model and estimated savings. For DSH developers already using Nexus, this is a tool that can directly replace the step of “opening another page to check quota”.
Directory page: https://www.skillhub.cn/plugins/bradywatkinson/dsh-nexus-usage-panel
Source code: https://github.com/bradywatkinson/dsh-nexus-usage-panel