# Contributing Thanks for taking a look! This is a small plugin and the contribution flow is deliberately simple. ## Repository layout ``` lib/index.js Host half: the /usage-overview/summary route lib/client.js Client half: the panel UI and its styles cordis.patch.yml Bundle patch that inserts the plugin into a DSH profile install.mjs Installer / uninstaller for a DSH desktop profile docs/ Design notes and screenshots ``` There is **no build step**: both plugin halves are plain ESM modules loaded by DeepSeek Harness. React and the DSH UI primitives are provided by the host; do not add runtime dependencies. ## Development loop 1. Clone the repository and run `node install.mjs` (or `--profile ` for a non-default DSH profile). 2. Restart DeepSeek Harness and open **设置 → 账号与余额 → 查询用量**. 3. Edit `lib/client.js` (UI) or `lib/index.js` (Host route), then restart DSH again to pick up the change. 4. Before opening a PR run: ```bash node --check lib/index.js node --check lib/client.js node --check install.mjs node install.mjs --dry-run ``` ## Guidelines - Keep the panel inside the host dialog: no page shell, no new fonts, no new colours outside the host tokens in `STYLE_TEXT`. - The Host route returns numbers only; never forward account tokens to the client and never call the Platform API from the client. - Screenshots in issues and PRs must be redacted (balance, account name, phone number, API key ids). `docs/` screenshots use synthetic data only. - Mention the DSH version you tested with (the plugin relies on internal DSH extension points that can change between releases). - One focused change per pull request; describe what you changed and how you verified it in DSH. ## Compatibility The plugin is tested with DeepSeek Harness desktop `0.2.1-rc.5` on Windows. Other versions and platforms are welcome, but please state what you tested.