Introduction

The order of the main items on the left side of the DeepSeek Harness (DSH) settings panel is determined by each plugin’s own order. As more plugins are added, it becomes difficult to arrange them according to personal preferences. The dsh-settings-nav-order plugin solves this problem with a hidden gesture: long-press any main item for about 0.3 seconds, drag it up or down, then release to automatically save the order.

Core Features

  1. Long-press drag sorting: Long-press for 0.3 seconds to enter drag mode; the dragged item becomes semi-transparent and follows the mouse movement.
  2. Save on release: The order is written to the plugin’s own directory; no manual saving is required.
  3. Persistence across restarts: The next time the settings panel is opened, the order remains unchanged.
  4. Accidental touch protection: Only the primary button is supported; after long-pressing, if the displacement exceeds 6 px, it is treated as scrolling or a click, and dragging is canceled.
  5. Re-render resistance: Uses MutationObserver to follow panel reopening and React re-rendering.
  6. Traceless uninstallation: After uninstalling, the official original order is immediately restored, and all listeners, observers, and styles are cleaned up.
  7. No shared configuration touched: It does not write to settings.yaml and does not modify any external data.

Installation

You need to install dsh first. The installation command is as follows:

dsh plugin --profile web add dsh-settings-nav-order

After installation, you need to restart dsh for it to take effect.

Typical Usage

  1. Open the settings panel (the gear button at the bottom of the sidebar).
  2. On the left side, long-press any main item for about 0.3 seconds.
  3. Drag it up or down to the desired position.
  4. Release — the order is saved immediately.

Notes

  1. Selector dependency: This plugin relies on DOM selectors to locate elements. If DSH changes the settings panel structure in the future, dragging will fail (silently fail).
  2. Display order only: Dragging only changes the display order; it does not modify any plugin’s order value. New items not present in order.json will appear in the official positions.
  3. Host routing unavailable: Immediately after installation but before restarting, the plugin degrades to being effective only within the current session.
  4. Restart required: After installing or uninstalling, you need to restart dsh for changes to take effect.