Overview

The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin,” which allows users to enhance the interface with extensions in the web profile. When debugging or interacting with agents, quickly accessing files generated in a specific turn and navigating the history often requires manual copy-pasting or scrolling. As a DSH web plugin, dsh-turn-tools solves this problem by adding file buttons and a dot navigation bar for each conversation turn.

Introducing the Plugin

dsh-turn-tools is a plugin maintained by hu669293657 and licensed under MIT. It mainly addresses two specific pain points: file access and conversation navigation.

Core Features

The plugin adds two tools to the DSH web interface:

  1. Deliverable file button for each turn
    When an agent turn produces output files, a button is rendered at the end of that turn. Clicking the button opens the file with the system’s default application (via the Harness host.openPath API).

  2. Turn navigation dot bar
    A floating dot bar on the right side of the chat area, with one dot for each conversation turn. Clicking a dot scrolls to the corresponding turn.

Installation and Enabling

Installation can be completed with the dsh plugin add command (using an npm package or git URL), or you can install it manually by following the steps below:

  1. Copy this repo into $DSH_HOME/profiles/web/node_modules/dsh-turn-tools/.
  2. Append the contents of cordis.patch.yml to $DSH_HOME/profiles/web/cordis.patch.yml.
  3. Restart dsh.

Typical Usage

  • Restart DSH: After installation, you must restart dsh; hot loading is currently not supported.
  • View files: When a conversation turn generates output files, buttons will appear at the end of that turn. Clicking these buttons opens the files with the operating system’s default application.
  • Navigate history: Clicking a dot in the right-side dot bar scrolls the view to the specific conversation turn.

Use Cases and Notes

  • Rendering limitation: The deliverable file button is rendered only when an agent turn actually generates output files.
  • Debugging: If the buttons or dots do not appear, check window.__DSH_BOOT__.entries in the browser console. The dsh-turn-tools entry should be active and should not display “waiting for services”.
  • Implementation mechanism: The plugin registers two slots via the slots service: conversation.chat.turnTail (reads turn.data.get('deliverables')) and shell.overlay (uses MutationObserver to scan [data-dsh-turn-anchor] elements).

Conclusion

This plugin simplifies file access and history navigation in the DSH web interface. The source code is hosted on GitHub under the MIT license. More plugins can be found through the directory links.