Introduction¶
When running agents with DSH, there are two costs that are only visible in hindsight: how much balance remains, and whether this round of usage falls during the peak or valley price window. The former requires logging into the web page to check, while the latter requires manually tracking price windows. The client plugin maintained by bingomu, dsh-usage-printer, compresses these two tasks into the bottom of the sidebar: when idle, it is a dot-matrix digital screen; when the mouse hovers, it “prints” out the details.
Below, I will introduce its capabilities, data sources, and installation methods, and finally clarify who it is suitable for and what pitfalls to watch out for.
What is it?¶
In one sentence: dsh-usage-printer is a usage card installed at the bottom of the DSH sidebar, responsible for displaying only two things—the balance level and the position of current usage within the peak and valley price windows.
It is maintained by bingomu, categorized under client plugins, and licensed under MIT. It solves a very specific problem: developers do not want to repeatedly switch to the browser to check the balance between writing code and viewing logs.
Core Features¶
Idle state and hover state are its only interaction models, comprising three layers of information:
- Idle state: The balance amount is formed by a dot matrix. The Yuan digit is large, the cent digit is small, and the font size automatically reduces by one level when there are many digits. Below is a peak/valley step band; pale yellow indicates valley price, pale red indicates peak price. The background dot matrix lights up according to usage.
- Hover state: Paper rises from the slot, listing the balance, amount recharged, time period, countdown, available days, daily and monthly spending, unit price, and includes a direct link to the official recharge page. Clicking it can pin it; Esc or clicking outside closes it.
- Theme: Light and dark themes follow the DSH theme (
--dsw-alias-*). When in a narrow sidebar, it automatically collapses into a small dot-matrix square.
Where does the data come from¶
The three display fields correspond to three sources, which are clearly listed in the README:
- Balance: DeepSeek
GET /user/balance, using the grant record left by logging in with the DSH account (deepseek-account-platform/default, request headerx-dsh-auth-token). - Peak/Valley: Determined by the window based on the official price table. Beijing Time weekdays 09–12 and 14–18 are peak prices.
- Unit Price: The official 2026-09-10 price snapshot (Yuan / Million tokens). Models not in the table show
--.
The plugin is split into Host and Client halves: The Host half registers only one local route GET /api/usage-printer with a 30-second cache; the Client half pulls it every 30 seconds. The README clearly states ‘Balance does not leave the host machine’—the route only accepts localhost and bound hostnames, and the response does not include any cross-origin headers.
Installation and Activation¶
Install using official commands, do not splice by name. The README gives three ways, recommending the first one:
# GitHub (Recommended, consistent with your other plugins)
dsh plugin add github:bingomu/dsh-usage-printer#v1.0.3
# npm (Optional)
npm i -g @bingomu/dsh-usage-printer
The local directory method uses plugin_manager → install_bundle, with the target pointing to the plugin directory.
There are two version requirements:
- Compatible with DSH
0.2.1-rc.5(declared inengines.dsh). - Must install v1.0.2 or above. The client module ID was written incorrectly in v1.0.0 and v1.0.1; after installation, the card will not appear in the sidebar.
Typical Usage¶
This plugin has no configuration file; it is ready to use after installation. Actual usage involves three steps:
- Install using the command above and confirm the version is above v1.0.2.
- Start DSH; a dot-matrix digital screen appears at the bottom of the sidebar. Hovering the mouse over it reveals the receipt.
- When a recharge is needed, click the entry in the receipt to jump to the official recharge page.
If the amount in the receipt does not match expectations, first check if the price snapshot is outdated: after official price adjustments, the PRICES in index.js needs to be updated.
Suitable Scenarios and Notes¶
It is suitable for two types of people:
- DSH developers who want to see the balance and daily spending at any time but do not want to manually open a webpage.
- People who want to simultaneously confirm ‘how much is left’ and ‘whether it is currently a peak price’ in the same sidebar.
Notes to be aware of:
- The plugin runs with the permissions of the current DSH process. Before installation, you should check the source code and license (MIT) and do not install unidentified branches.
- Public holidays are not connected to the statutory holiday table, so adjustment days will calculate the wrong peak/valley tier.
- “Amount Recharged” is not a transaction log, but the balance read by the plugin for the first time; balances that existed before installing the plugin will make this number lower and the percentage higher.
- “Available Days / Today / Monthly Spending” is derived from the difference in balance sampling. Time intervals longer than 30 minutes are considered ‘unobserved,’ and the number for that day will have a
~prefix. - Session-level spending has not yet connected session logs and will not be calculated based on the
usageofassistant/messageevents for now.
Conclusion¶
The value of this plugin lies not in its many features, but in compressing the balance and peak/valley information into the sidebar, keeping usage within sight. It only performs display and does not perform billing calculations; the balance also does not leave the host machine.
- Directory: https://www.skillhub.cn/plugins/bingomu/dsh-usage-printer
- GitHub: https://github.com/bingomu/dsh-usage-printer