Introduction

The Web input box in DeepSeek Harness (DSH) is essentially a plain text textarea. Writing lists requires manually typing markers, and changing numbering requires manually counting. dsh-mdbox specifically addresses these editing experience issues by intercepting key presses to provide list continuation, automatic numbering increment, and indentation. It is a pure browser-side plugin that does not depend on the host backend and does not touch files or the network.

Core Capabilities

The plugin mainly provides the following editing assistance:

  1. List continuation and numbering increment: Press Shift+Enter on a list line to automatically generate a continuation marker or increment an ordered list number.
  2. Indent and outdent: Press Tab on a list item to indent by 2 spaces; the ordered line number is reset to 1.. Press Shift+Tab to outdent, and the number automatically merges into the outer level and continues incrementing.
  3. Input compatibility: Supports Ctrl+Z undo and yields during IME composition, without interfering with Chinese input.
  4. Code fence protection: Automatic renumbering is skipped inside code blocks (~~~).

Installation and Enablement

Install using the official web profile:

dsh plugin --profile web add github:chi-hong22/dsh-mdbox

The repository includes build artifacts (lib/), so no separate build is needed after installation. After installation, restart DSH and find @chi-hong22/dsh-mdbox under Settings → Plugins to enable it.

Typical Usage

  • List continuation: Enter 1. a, place the cursor at the end of the line, and press Shift+Enter. It inserts 2., and subsequent lines are automatically numbered as 3. b.
  • Indentation: Enter 1. subitem, place the cursor within the line, and press Tab. It becomes 1. subitem (the number is reset to 1.).
  • Outdention: Outdent 1. subitem, and the number merges into the outer level. For example, if the outer level already has 1. a, after outdention it becomes 2. subitem.
  • Force send: Press Ctrl+Enter to force-send the content.

Notes

  • The plugin relies on the data-composer-card attribute on the input card to locate the input box. A major DSH version that changes the DOM structure may require a plugin update.
  • Verified on the @deepseek-ai/dsh-* 0.1.0-rc.6 version (2026-08-13).
  • There are no configuration options and no environment variables. Behavior constants (such as MAX_RENUMBER = 20000) are located at the top of the source file lib/client.js.
  • The plugin is limited to pure text key behavior. It does not touch the DSH backdrop rendering layer, does not access files, network, credentials, or user data, and has no persistent data.

Conclusion

This plugin optimizes the Markdown list editing workflow by intercepting key presses. It is suitable for developers who frequently create checklists, steps, and outlines. See details: GitHub | Plugin Catalog