DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture. Building interactive interfaces in a terminal environment requires a plugin mechanism to mount UI rows. dsh-terminal is a plugin that provides a terminal UI for DSH. It is mounted on top of dsh-base through the official profile plugin mechanism and does not include a host runtime.

Core Features

This plugin only provides TUI plugin rows (tui-startup/tui-runner) and metadata. It uses an adapter boundary to decouple the UI from the driver and declares all upstream dependencies as peerDependencies. It also implements upstream version contract validation (pnpm run verify:contract) and session persistence (stored in $DSH_HOME/sessions). It provides a slash command completion menu (for example, /permission, /effort).

Installation and Prerequisites

Prerequisites include: the official dsh CLI, pnpm 10+, a TTY, and DEEPSEEK_API_KEY (environment variable or $DSH_HOME/.credentials.yaml).

The installation command is as follows:

dsh plugin --profile dsh-terminal add dsh-terminal

Note: If the version number does not change, pnpm will skip add (Already up to date). Before reinstalling, you must first run remove and then add.

Usage

  • Start a new session:
    dsh --profile dsh-terminal
  • Resume a specified session:
    dsh --profile dsh-terminal --resume <id>
  • Resume the most recently created session:
    dsh --profile dsh-terminal -c
  • Run directly:
    node bin/dsh-terminal.js

Session persistence is stored in $DSH_HOME/sessions (defaults to ~/.dsh/sessions). Enter / to open the slash command completion menu (for example, /permission, /effort). Use ↑/↓ to select, Tab or Enter to complete and execute, and Esc to close the menu without interrupting the session.

Ecosystem and Maintenance

This plugin supports packaging for both dev and release variants and includes source-code-level boundary checks (pnpm run verify:boundary). See the GitHub repository or the plugin catalog for more information.