Introduction

The DeepSeek Harness (DSH) Web profile provides basic application themes such as Follow System, Light, and Dark. After third-party theme plugins are installed via dsh-market, switching or managing them usually requires going to the marketplace page, which is not centralized enough. The following is an introduction to dsh-theme-picker, which adds a “Theme” settings page to DSH for unified management of application themes and installed theme plugins, and ensures that only one theme is active at a time.

Plugin Positioning

dsh-theme-picker is a standard component for DeepSeek Harness (Community dsh-plugin.json v0.15), maintained by user yhPrime, and released under the MIT license.

Core Features

The plugin maintains state through the dsh-market API and primarily provides the following capabilities:

  1. Application theme management: Lists Follow System, Light, Dark, and themes registered by skin plugins; click to switch. The system ensures that only one theme is active at a time.
  2. Installed theme plugin list: Lists all installed theme plugins via the dsh-market API (including disabled plugins), displays the registry friendly name, and switches descriptions between Chinese and English according to the interface language.
  3. Single-theme exclusive mechanism: When a theme plugin is enabled, all other installed theme plugins are automatically disabled. The plugin preferentially calls the marketplace use-skin interface; if the marketplace classifier cannot recognize it, it falls back to manual exclusive switching (/toggle).
  4. Real-time state synchronization: The list refreshes every 6 seconds and stays in sync with the dsh-market page state. After a successful switch, a prompt asks the user to refresh the page to apply the new skin.

Installation and Activation

Before installing, make sure the host kernel version meets the requirements and that @dsh-std/adapter-dsh is installed in the current profile.

Installation command:

# 使用 git 依赖安装
dsh plugin --profile web add git+https://github.com/yhPrime/dsh-theme-picker.git

Or use a local directory:

dsh plugin --profile web add file:./dsh-theme-picker

After installation, restart DeepSeek Harness. After restarting, a “Theme” page will appear in the settings panel. You can disable or enable this component on the marketplace “Plugins” page.

Working Principle

dsh-theme-picker is not a cordis bundle (it does not contain dsh.bundle or cordis.patch.yml); instead, it is a standard DSH component. It uses @dsh-std/adapter-dsh to scan regular dependencies and load facets.host.entry when the host is activated.

  • Application themes: Directly uses the client theme service (getTheme / setTheme).
  • Theme plugins: Calls dsh-market HTTP APIs through same-origin routing, including GET /dsh-market/installed, GET /dsh-market/registry, POST /dsh-market/use-skin, and POST /dsh-market/toggle.

The plugin depends on dshmarket to handle theme plugin manifests, enable/disable logic, and persistent storage.

Notes

  • This plugin runs with the permissions of the current DSH process. Before installing, it is recommended to inspect the source code and license.
  • Ecosystem context: This plugin directory is listed on SkillHub and has no affiliation with DeepSeek or Huanfang official channels.

Conclusion

dsh-theme-picker solves the scattered theme management problem in the DSH ecosystem by centralizing control of application themes and theme plugins through a unified settings interface. For more details, refer to the plugin directory or the source repository.