DSH Hub
dsh-enhance cover

IndieXiaoLong/DSH-Enhance

dsh-enhance

UIWeb UI36 GitHub stars· updated 2026-10-23

dsh-enhance is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile desktop add .

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-enhance DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-enhance.svg)](https://dshhub.dev/plugins/dsh-enhance)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from IndieXiaoLong/DSH-Enhance, cleaned of badges and images.

English | 简体中文

<h1>dsh-enhance</h1> <p><strong>The missing conversation power-up for DeepSeek Harness ✨</strong></p> <p>New-conversation naming, file drag references, edit-and-resend for the last prompt, a message timeline, and a draggable floating ball with chat-width control for the DSH Web GUI.</p>

<a href="#features">✨ Features</a> · <a href="#install">📥 Install</a> · <a href="#quick-start">🚀 Quick Start</a> · <a href="#development">🛠️ Development</a> · <a href="#faq">❓ FAQ</a>


I use DeepSeek Harness every day. New sessions need useful names; finding a message in a long thread means scrolling; referencing a file means copying its path; correcting the last prompt should be quick.

So I built dsh-enhance: it leaves DSH’s native structure alone and just makes the daily actions smoother.

<a id="features"></a>

✨ Features

FeatureWhat you get
✏️New conversation namingName it from the workspace + before creating it
📎File drag referenceDrag a file or folder into the composer as an @path
✍️Edit & resendStop a turn, edit the sent prompt inline, and send it again
📍Message timelineScan, preview, and jump through long threads
🫧Floating ball & widthEveryday tools one click away; 38–90rem live width

The GIFs below are recordings from DSH. The UI may look different with another theme or window size.

✏️ New Conversation Naming

Name it before you create it. Clicking + on a workspace title row opens a naming dialog instead of creating another “New Session”.

  • Type a name and press Enter; Skip naming keeps the native one-click flow.
  • The name is written as the conversation title; before the first turn, the sidebar blank row shows it.
  • Turn Name new conversations off in the quick panel to restore the native behavior.

📎 File Drag Reference

Drop a file, get a reference. Open the Files tab in the right sidebar and drag a file or folder row into the composer:

  • The composer shows Drop to reference <name>; on release it inserts an @relative/path chip.
  • The file is not moved, copied, or rewritten; the model reads it through its file tools when you send.
  • Paths are relative to the conversation workspace root; paths with spaces use @"...".
  • Folders are inserted with a trailing / (@path/) so the model can browse the directory.
  • The composer gets an accent outline while dragging; dropping elsewhere inserts nothing.

✍️ Edit & Resend the Last Prompt

Stop, tweak, send again. When the conversation is idle, a pencil appears beside Copy in your last sent prompt’s action row. Clicking it expands the prompt into a full-width inline editor with Cancel / Send:

  • Edit the text, then click Send (or press Enter; Shift+Enter inserts a line, Esc cancels).
  • Sending forks the conversation before the turn that carried that prompt — including the queued inbox copy — sends the edited text into the new branch, and opens it.
  • The branch keeps the earlier history and title. The original is archived when archiving succeeds; otherwise it remains in the conversation list.
  • Attachments are not resent; the editor warns when the original prompt had one.

DSH's log is append-only and has no public "rewrite this message" call, so the edit is a fork before the turn + resend, not an in-place mutation. The new conversation gets a new Session ID.

…

Related plugins