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/Ctrl combinations.
  • Persistent zoom level: The zoom level is stored in localStorage and restored after the application restarts.
  • Script debugging API: Exposes the __dshZoom.get, __dshZoom.set, __dshZoom.step, and __dshZoom.reset interfaces for use by external scripts.
  • Viewport unit patch: Because CSS zoom does not scale viewport units (such as 100vh and 100dvh), 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 resize event 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.

References