Introduction¶
The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin”. By default, DSH provides only a ui-theme.fontSize setting, and it only affects the conversation body. The sizes of sidebar tabs, menus, and the settings page are fixed pixel values, and the application itself does not have page zoom functionality (there is no View/Zoom option in the menu, and the code does not expose setZoomLevel). In the default state, the Cmd + = key has no effect. The dsh-zoom plugin adds global interface zoom capability to the DSH Web client, solving this issue through the CSS zoom property and keyboard shortcuts.
Core Features¶
The plugin provides the following capabilities:
- Global interface zoom: The zoom scope covers the sidebar, menus, settings page, overlays (such as confirmation dialogs and Toasts), and the conversation area.
- Keyboard shortcut control: Supports zooming with
Cmd/Ctrlcombinations. - Persistent zoom level: The zoom level is stored in
localStorageand restored after the application restarts. - Script debugging API: Exposes the
__dshZoom.get,__dshZoom.set,__dshZoom.step, and__dshZoom.resetinterfaces for use by external scripts. - Viewport unit patch: Because CSS
zoomdoes not scale viewport units (such as100vhand100dvh), it injects patch rules to fix overlay height issues.
Installation and Activation¶
The plugin is maintained by community developer DC-507 and is licensed under the MIT License.
Command-line installation (recommended):
dsh plugin --profile desktop add github:DC-507/dsh-zoom
In-app installation:
1. Open the sidebar of the DSH client.
2. Go to the Plugins menu.
3. Click Add plugin.
4. Enter github:DC-507/dsh-zoom.
5. After installation is complete, click Enable now.
After installation, you typically need to restart the DSH process for it to be fully activated.
Typical Usage¶
The plugin provides two control methods: keyboard shortcuts and the script API.
Keyboard Shortcuts¶
| Shortcut | Action |
|---|---|
Cmd/Ctrl + = (or Cmd/Ctrl + Shift + =) |
Zoom in one step |
Cmd/Ctrl + - |
Zoom out one step |
Cmd/Ctrl + 0 |
Reset to 100% |
The supported zoom levels include: 80% → 90% → 100% → 110% → 125% → 150% → 175% → 200%.
Script Invocation¶
In the browser console or a custom script, you can directly call the global object __dshZoom:
// 获取当前缩放级别
const current = __dshZoom.get();
// 设置为 125%
__dshZoom.set(1.25);
// 手动调整一档(支持正负数)
__dshZoom.step(1); // 放大
__dshZoom.step(-1); // 缩小
// 重置为 100%
__dshZoom.reset();
Known Limitations¶
When using this plugin, please note the following:
- Unofficial plugin: The plugin is maintained by the community and has no official affiliation with DeepSeek.
- Canvas blurring: Panels rendered based on Canvas (such as terminal xterm, the Monaco editor, and PDF/spreadsheet previews) keep their original resolution at higher zoom levels, causing them to appear slightly blurry. Each zoom adjustment triggers a
resizeevent to remeasure the content. - Shortcut conflicts: Keyboard shortcuts do not work inside
<webview>or<iframe>contexts. First click the main window to give it focus. - macOS traffic-light buttons: The macOS traffic-light buttons (red/yellow/green) in the top-left corner of the window do not participate in scaling. At zoom levels of 125% and above, be mindful of the top bar drag area.
- Browser zoom conflicts: If it is run in a regular browser rather than the DSH desktop shell, the plugin will intercept the browser’s default page zoom shortcuts.