Introduction

In the plugin architecture of DSH, cursor customization can also be integrated as an independent capability. In the DeepSeek Harness interface, the mouse cursor appears in many different states: default, clickable, text selection, waiting, disabled, etc. If only changing the system cursor, it may not precisely correspond to every UI state inside DSH. If you want each state to have an independent pattern, and the settings saved to your own DSH profile to take effect after a restart, dsh-cursor-theme provides a method to override cursors by state.

Below, we introduce what this plugin can do, how to install it, how to apply presets, how to customize individual states, and the usage limitations under Windows / macOS.

What is This

auki-zy/dsh-cursor-theme is a DSH plugin for DeepSeek Harness used to configure mouse cursors based on UI mouse states.

It breaks down common mouse states, allowing each state to be configured individually:

  • Cursor image;
  • Hotspot;
  • Size.

Settings can be applied in real-time and persisted to the dsh-settings profile, remaining after a restart. The plugin license is MIT.

Supported States

The plugin covers 14 UI mouse states:

default,
pointer,
text,
wait,
help,
not-allowed,
grab,
grabbing,
progress,
cell,
copy,
move,
resize-ew,
resize-ns

Each state can be configured independently for image, hotspot, and size.

Core Features

The following sections explain capabilities.

Preset Themes

The plugin provides 18 original preset themes, each covering all 14 states.

You can apply a theme with one click or download the theme as a ZIP image pack.

Custom Images

The plugin includes a built-in SVG template library containing 25 hand-drawn graphics.

You can also upload your own image files, supporting:

  • PNG;
  • CUR.

Upload limits are:

≤128×128
≤5 MB validated

ZIP Image Packs

The plugin supports importing and exporting ZIP image packs.

The structure of a ZIP image pack is:

  • One PNG per state;
  • A manifest.json.

This means you can export a set of cursors as real image files, inspect, edit, share, and then import them into another DSH environment.

Hotspot and Size

The plugin provides a hotspot editor to set:

X / Y

Size steps are:

16 / 24 / 32 / 48

This way, when adjusting the cursor, you not only change the image but also control the click hit point and display size.

Preview

Each state row displays:

  • Right: Preview of the final cursor after application;
  • Left: System default icons.

This makes it clearer to see which default state is currently being replaced.

Accessibility

The plugin’s rules include a fallback keyword.

When an image fails to load or is unavailable, it falls back to the system cursor and will not use none.

System-level Application

On Windows, the plugin can write the system cursor scheme with one click, specifically by:

registry + SPI_SETCURSORS

This means cursor changes can appear at the system level.

The macOS side provides an experimental Swift overlay, accompanied by Accessibility guidance.

Persistence and Language

Configuration is persisted to the dsh-settings profile and retained after a restart.

The plugin supports Chinese / English, driven by locale:

zh / en

Installation and Enabling

DSH Desktop uses the desktop profile:

dsh plugin --profile desktop add dsh-cursor-theme

After installation:

Restart DSH Desktop

Then open:

Settings → Cursor Theme

If it is a regular dsh web / browser environment, it can also be optionally installed:

dsh plugin --profile web add dsh-cursor-theme

After installation:

reload dsh web

Then open:

Settings → Cursor Theme

The Node engines declared in package.json are:

^22.19.0 || >=24.0.0

Typical Usage

Apply Preset Themes

Open:

Settings → Cursor Theme

Then click a theme pill.

Download Theme ZIP

Click the download icon next to the theme to download that theme’s ZIP image pack.

Customize Individual States

Click Edit next to a state row:

Edit next to a state row

Then you can:

  • Upload PNG / CUR;
  • Or select built-in graphics;
  • Set hotspot / size.

Import ZIP Image Pack

Open:

Image pack → Import

You can import a ZIP image pack, for example an AI-generated pack.

The ZIP should contain:

PNGs + manifest.json

Windows System-level Application

Select in settings:

Apply to system

Write the system cursor scheme with one click.

Reset

If you want to restore defaults, use:

Restore system default

Creating Personal Themes

There are two ways.

Way 1: Via ZIP Pack

  1. Open Settings → Cursor Theme in DSH.
  2. Use Image pack → Import to import a ZIP image pack.
  3. The ZIP should contain PNG files and manifest.json.
  4. Keep this ZIP for re-importing into other environments.

This method does not require modifying code.

Way 2: Fork Repository

If you are willing to maintain your own theme pack, you can fork the repository.

  1. Fork the repository.
  2. Add a theme entry in scripts/theme-art.mjs, or place your own pack in data/themes-personal.json.
  3. Run the generation scripts:
node scripts/generate-theme-packs.mjs && node scripts/generate-assets.mjs
  1. Apply in Settings → Cursor Theme, or publish your own fork.

Use Cases and Notes

This plugin is suitable for the following scenarios:

  • Want to distinguish different mouse states in DSH Desktop;
  • Want to configure independent cursors for dsh web / browser environments;
  • Want to export a set of cursors as ZIP and import into other environments;
  • Want to write the cursor scheme to the system on Windows;
  • Want to achieve a unified visual style using preset themes, built-in graphics, or custom images.

Note the following points before use:

  • The plugin runs with the current dsh process permissions; check the source code and license before installing to confirm the source is trustworthy.
  • Upload limits for PNG / CUR: ≤128×128, ≤5 MB validated.
  • Failed images will fall back to system cursors and will not become none.
  • The macOS system-level capability is an experimental Swift overlay, requiring use in conjunction with Accessibility guidance.
  • Windows system-level application writes the OS cursor scheme, involving registry + SPI_SETCURSORS.
  • The DSH community directory is an independent site and is not equivalent to the official app store; it has no official affiliation with DeepSeek / Hanxia.

Get It

GitHub:

https://github.com/auki-zy/dsh-cursor-theme

DSH Plugin Directory Entry:

https://github.com/imsai-sh/awesome-deepseek-harness-plugins/blob/main/catalog/plugins/auki-zy--dsh-cursor-theme.json

The core value of dsh-cursor-theme lies in splitting mouse cursors from a single system resource into internal UI state resources within DSH, allowing each state to be independently configured, previewed, exported, and persisted.