Preface¶
When using the DSH Web client, information such as API balance, tokens, cost estimates, context status, reasoning intensity, and image transcription is often scattered across different entry points, requiring frequent interface switching to view.
widget-dock is a DeepSeek Harness (dsh) client plugin that provides a grid-aligned card workbench in the blank spaces on both sides of the conversation, consolidating 27 cards—covering balance, tokens, cost, context, heatmap, GitHub, reasoning intensity, image transcription, and more—right next to the conversation.
What This Is¶
MorGogh/widget-dock is currently a Web client plugin (dsh.client, platform: web) licensed under MIT.
The problem it solves is this: it takes the commonly used but fragmented metrics, task statuses, and image processing entry points in DSH conversations and organizes them into a session-customizable side card area.
Core Features¶
Grid-Aligned Card Workbench¶
Cards span columns across S/M·L/XL size tiers, with rows in any combination strictly column-aligned.
Each conversation has an independent layout, and switching conversations preserves each one’s card combinations, sizes, and positions.
27 Built-in Cards¶
Built-in cards cover balance, tokens, cost estimates, context status, conversation statistics, goal progress, reasoning intensity, image transcription, quick commands, and more.
Adding and Sorting¶
The add panel supports search, category tags, drag-to-add at any position, and quick size/side-switching actions.
You can drag by holding the card header (⠿) at any time to reorder or switch sides, without needing to enter a sort mode.
Reasoning Intensity¶
The reasoning intensity card lets you drag a slider to switch reasoningEffort and includes a built-in model selector.
Image Transcription¶
The image transcription card automatically sends pasted images to a vision model and injects the generated text description into the input field.
By default, it connects to a local LM Studio instance (http://localhost:1234, qwen3.5-9b-mlx) but can be configured to use any OpenAI-compatible endpoint.
Cost Estimation¶
Cost estimation calculates based on DeepSeek’s official peak/off-peak pricing, supporting flash/pro toggling and manual price adjustment.
Estimates are marked with a ≈ symbol; the default uses the official peak price for deepseek-v4-flash, with options to switch to v4-pro or adjust prices manually.
Usage Heatmap¶
The usage heatmap displays 13 weeks of daily usage in a GitHub-style format.
Persistence¶
Layouts and configurations are stored per conversation in localStorage and persist across restarts; each conversation remains independent when switching.
Installation and Activation¶
First, install it using the DSH plugin command:
dsh plugin --profile web add widget-dock
Then start or restart the Web client:
dsh web
After restarting, the workbench appears on both sides of the conversation; when space is limited, it collapses into a side tab labeled “工作台” (Workbench).
If you prefer not to install via the plugin command, you can also manually link the repository directory. In the root of the fetched widget-dock repository, run:
mkdir -p ~/.dsh/profiles/web/node_modules
ln -sfn "$(pwd)" ~/.dsh/profiles/web/node_modules/widget-dock
Append to ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: widget-dock
name: "widget-dock"
Finally, run:
dsh web
Typical Usage¶
-
Click “+ 添加” (Add) at the bottom of the workbench to open the sidebar, search or browse by category to find cards, click to quickly add, or drag them to any position in the workbench.
-
To adjust the order, hold the card header (
⠿) and drag to reorder or switch sides. -
On first use of the balance card, click “KEY 编辑” (Edit Key) to enter your DeepSeek API Key, then refresh. This component does not include a built-in key; once entered, the API Key is stored in
localStorage, accessible only on this machine. -
For image transcription, you can paste an image directly into the input field or select an image within the card; after automatic conversion to the vision model, the description is appended below the input field.
-
Cost estimation can be calculated based on DeepSeek’s official peak/off-peak pricing, supporting flash/pro toggling and manual price adjustment; estimates are marked with a
≈symbol.
Applicable Scenarios and Notes¶
It is suitable for users who need to keep an eye on balance, tokens, cost, context, goal progress, reasoning intensity, and other statuses alongside the conversation in the Web client.
Notes:
- It is currently a Web client plugin (
dsh.client,platform: web). - The plugin runs with the permissions of the current dsh process; check the source code and license before installation.
- The license is MIT.
- Layouts, sizes, and configurations are stored per conversation in
localStorageand persist across restarts; each conversation remains independent when switching. - The API balance component does not include a built-in key; once entered, the API Key is stored in
localStorage, accessible only on this machine. - Cost estimates are approximate values and are marked with a
≈symbol. - Image transcription defaults to a local LM Studio instance (
http://localhost:1234,qwen3.5-9b-mlx) but can be configured to use any OpenAI-compatible endpoint. - The repository includes key-leakage protection: when
EMBEDDED_KEYinlib/client.jsis non-empty,git push/npm publishwill be rejected.
Links¶
Repository URL: https://github.com/MorGogh/widget-dock