In DeepSeek Harness (DSH) development, LLMs often return a series of plans, tasks, or options that require user confirmation. The traditional approach is to copy and paste these lists into the input box, which is not only cumbersome but also prone to accidental operations during streaming output.

dsh-todo-enhancer is a Host/Client dual-side plugin designed to solve this problem. Through marker recognition, it directly renders content in LLM output that requires user decisions into an editable checkbox table above the input box, supporting checking, editing, and sending, thereby standardizing the decision workflow.

Plugin Overview

  • Name: dsh-todo-enhancer
  • Maintainer: EmptyCollin
  • License: MIT
  • Core value: Presents content that requires user decisions as a checkbox-enabled table, supporting check confirmation, inline editing, and direct sending.

Core Features

The plugin provides the following capabilities through strict marker recognition and an interactive interface:

  1. Marker-driven recognition: Parses only blocks delimited by <!-- dsh-todo:start --> and <!-- dsh-todo:end -->. Plain numbered lists or bullet points do not trigger enhancement, eliminating false positives. Each marker block corresponds to an independent panel.
  2. Checkbox table: Supports direct inline text editing, adding rows, deleting rows, selecting all, and deselecting all.
  3. Overall editing: The list title can be modified in real time, and an overall supplementary note can be appended when sending.
  4. Three operation modes:
    • Direct send: Fills the input box and submits immediately.
    • Fill dialog: Only fills the draft without immediate submission.
    • Close: Discards the current modifications and closes the panel.
  5. Timing guarantee: Renders only after all conversation output is complete (session.running === false); it is not visible during streaming output.
  6. Source purity: Automatically excludes reasoning and tool-call blocks, processing only decision lists.

Installation and Enablement

Supports direct installation from GitHub or installation using a local path.

  1. Installation command:
    dsh plugin --profile web add github:EmptyCollin/dsh-todo-enhancer
  1. Enabling steps:
    After installation, you must restart the dsh service and refresh the browser page to load the Host and Client side code.

  2. Configuration notes:

    • Profile: The web in the installation command can be replaced with another profile name (e.g., cli, desktop).
    • Offline installation: If you cannot access github.com, you can use a local path:
        dsh plugin --profile web add D:\dsh-plugin\dsh-todo-enhancer
*   **Dependencies**: The plugin depends on `@deepseek-ai/cordis` (^4.0.1) and `react` (^18.2.0).

Typical Usage

  1. Send a message to the LLM that produces decision-required content, for example, “List 3 optional plans for me to choose one.”
  2. After the LLM returns a list wrapped with markers, a panel appears above the input box.
  3. After checking, editing, or selecting all, choose Direct send, Fill dialog, or Close; the panel closes immediately.

Working Principles and Notes

  • Dual-side architecture:
    • Host side: Injects marker rules into the system prompt (order 120), requiring the LLM to wrap decision-required content with paired markers.
    • Client side: Registers conversation.input.dock and renders marker blocks returned by the LLM as a table UI.
  • Pure front-end implementation: No persistent storage; styles are automatically reclaimed when the plugin is uninstalled.
  • Applicable scenarios: Suitable for any conversational scenario where you need to obtain lists from an LLM and allow users to filter or confirm them.

More Resources