dsh-workbuddy-cny
Manifest valid★ 1Show WorkBuddy credits and the DeepSeek CNY balance in one DSH sidebar line. The credit-to-CNY rate is measured from real token usage, not guessed.
dsh-workbuddy-cny
English | 中文
[!WARNING] The default conversion rate is known to be too low (roughly half). It was measured on a machine where the WorkBuddy desktop app was also consuming credits in the background, so the denominator was inflated. See #1 for the evidence and the correction in progress.
The plugin itself is unaffected — only the calibration number is in question. If you need an accurate figure today, set
cnyPerCredityourself incordis.patch.yml, or close the WorkBuddy app and runtools/measure-rate.mjson a clean window.
Put both purses on one line in the DeepSeek Harness sidebar — and convert between them:
WB 2,025.94 (¥89.14) | DS ¥11.22
Hover for the full breakdown: the conversion rate, the DeepSeek recharge/bonus split, and what the two add up to.
Why
In DSH you typically run two balances side by side:
- WorkBuddy / CodeBuddy credits — spent through the desktop app's own pool (via
dsh-connect-workbuddy) - DeepSeek official balance — billed per token in CNY
The two are in different units, so putting them next to each other answers nothing. To know whether your credit pile is worth more than your wallet — or what both together are worth — the credits have to be priced in yuan first.
Existing plugins show either raw credits or a CNY balance. None of them do the conversion.
How the rate is derived (not guessed)
Step 1 — measure what the credits bought. Read the tokens every workbuddy turn actually consumed from DSH's own session logs (inputTokens / cacheReadTokens / outputTokens), and read the credit balance before and after the measurement window.
Step 2 — price those same tokens at DeepSeek's official rate. DeepSeek publishes CNY prices per 1M tokens for deepseek-flash:
| Cache hit | Cache miss | Output | |
|---|---|---|---|
| Off-peak | ¥0.02 | ¥1 | ¥4 |
| Peak | ¥0.04 | ¥2 | ¥8 |
Divide what those tokens would have cost on DeepSeek by the credits they actually consumed.
Measured on the author's machine:
| Window | ¥ per credit |
|---|---|
| Off-peak | 0.0295 |
| Peak | 0.0590 |
| Midpoint (default) | 0.0440 |
Cross-check against list price. WorkBuddy Pro's add-on pack is US$15 / 500 credits = US$0.03/credit. The domestic product bills in CNY, which reads as ¥0.03/credit — the same order of magnitude as the measured value. Both numbers live in the tooltip so you can compare them.
Why not just use list price: list price is what you pay to buy credits, while the measured value is what the work those credits bought would cost on DeepSeek. They answer different questions, and the former moves with promotions. The measured value is the default; both are configurable.
Install
Requires DSH 0.2.x and a working dsh-connect-workbuddy install (for the credit half).
dsh plugin --profile desktop add github:ZZZ234234234/dsh-workbuddy-cny
Then restart DSH — bundles load at launch.
Desktop profile caveat
The desktop profile is owned by the Electron app: the CLI writes the dependency, but only a restart confirms the bundle actually composed. If the line does not appear, check that dsh-workbuddy-cny is in the profile's dsh.profile.bundles and that the entry did not fail config validation (activation errors only reach stderr, never the UI).
Configure
Override in the profile's cordis.patch.yml:
- id: workbuddy-cny
name: dsh-workbuddy-cny
config:
cnyPerCredit: 0.044 # measured midpoint
officialCnyPerCredit: 0.03 # vendor list-price reference
region: cn
On a Team seat (US$0.02/credit) or during a promotion, change these two numbers. No code change needed.
Re-calibrate after a price change
tools/measure-rate.mjs reproduces the measurement:
node tools/measure-rate.mjs "<path-to-session.v4.jsonl.zstd>" <dsh-port>
It prints the token totals, what those tokens cost on DeepSeek at both windows, and the implied ¥/credit. Session logs live under ~/.dsh/sessions/<workspace>/session-<id>/session.v4.jsonl.zstd.
Where the data comes from
| Data | Source |
|---|---|
| WorkBuddy credits | dsh-connect-workbuddy's same-origin route /plugins/dsh-connect-workbuddy/usage |
| DeepSeek balance | ctx.deepseekAccount.getBalance() — the same endpoint the account settings page uses |
| Token counts | Used only to derive the rate; not read at runtime |
The plugin is read-only: no check-in, no claiming, no account switching, no credential access. Both figures are a snapshot of the same instant, and a failed read renders as —, never as 0.
Known limits
- Needs
dsh-connect-workbuddy— without it the WorkBuddy half shows—and the DeepSeek half still works. - DeepSeek not signed in — wallet shows
—, not ¥0.00. - Rate is not live — re-run the measurement after upstream price changes.
- Refreshes once a minute, matching the account page.
License
MIT
Comments
Loading…
From the same category
DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.
★ 41.7k
↓ 146/wk
MIT
Aug 24, 2026
dsh plugin --profile web add dsh-plugin-reactive-resumeby dsh-market
The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场
★ 10.3k
↓ 136.6k/wk
MIT
TypeScript
Nov 2, 2026
dsh plugin --profile web add dshmarketby Tencent
Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.
★ 9.9k
↓ 7.4k/wk
MIT
TypeScript
Nov 2, 2026
dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-pluginby superdesigndev
OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn
★ 7.1k
NOASSERTION
Python
Nov 3, 2026
dsh plugin --profile web add treg-dshby yjh051108
dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).
★ 7k
MIT
JavaScript
Sep 18, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby Q00
Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,
★ 6.3k
MIT
Python
Nov 1, 2026