Running the DeepSeek Harness TUI

Install and run the DeepSeek Harness terminal UI. Add the @tomowang/dsh-tui profile plugin, launch with dsh --profile tui, and pick providers with /model.

August 21, 2026
deepseek-harnessdshtuiterminalcliprofile

Running the DeepSeek Harness TUI

The harness ships two entry modes as templates — web and headless. The TUI (terminal UI) is a separate profile bundle you install, then boot with dsh --profile tui. It runs the same runtime and writes the same append-only session log as the web UI, so a session started in one surface can be resumed in another.

Install

Install the TUI bundle into a profile named tui:

bunx @deepseek-ai/dsh plugin --profile tui add @tomowang/dsh-tui

dsh plugin --profile <name> forwards its arguments to pnpm inside the profile directory, so this creates $DSH_HOME/profiles/tui/ with @tomowang/dsh-tui as a dependency, stacked over @deepseek-ai/dsh-base. Only the web and headless profiles auto-initialize from shipped templates — every other profile, including the TUI, must be created through dsh plugin. npx works in place of bunx.

Launch

bunx @deepseek-ai/dsh --profile tui

The launcher parses only its own flags and hands the rest to the booted app. --profile is a launcher flag; --resume <session-id> belongs to the terminal app, so it comes after:

bunx @deepseek-ai/dsh --profile tui --resume <session-id>

Picking a provider

/model opens the provider picker. It lists the installed catalog routes — a [no api key] marker when a route's credential ref isn't set, and an (active) tag on the default from agent-default-model. Keys and routes are configured on the Providers page.

Sessions

The TUI persists transcripts in the same $DSH_HOME/sessions/ tree as the web UI — see Where the transcript lives. Resume, fork, search, and replay all read from that event stream.