Skip to content

gxinxing/deepseek-harness-tui

70Last commit Aug 13, 2026

deepseek-harness-tui DSH plugin

deepseek-harness-tui provides a zero-chrome terminal chat interface for DeepSeek models, running as a plugin within the DeepSeek Harness (dsh) CLI. It features tool call folding, thinking trace folding, adaptive theming based on your terminal background, and proper Markdown rendering. The UI is bottom-anchored, showing the latest transcript content at all times.

How to install the deepseek-harness-tui DSH plugin

dsh plugin --profile tui add /path/to/deepseek-harness-tui

Copying does not run this command. Review the repository and version before installing the deepseek-harness-tui DSH plugin.

deepseek-harness-tui DSH plugin data source

deepseek-harness-tui DSH plugin snapshot date: Aug 16, 2026

discovered

What the deepseek-harness-tui DSH plugin can do

  • Terminal-native UI with no chrome, using Ink (React for terminals)
  • Tool calls are folded into compact cells showing status, duration, and truncated output
  • Theme adapts to terminal background via OSC 11 probe, with optional manual override via DSH_TUI_BG
  • Thinking trace can be toggled with Ctrl+T, and the current turn can be interrupted with Esc
  • Markdown rendering preserves headers, fenced blocks, and inline code with correct CJK/emoji wrapping
  • Live viewport is bottom-anchored, with a braille spinner and elapsed timer during busy state

Where the deepseek-harness-tui DSH plugin fits

  • Interacting with DeepSeek models in a terminal environment without leaving the command line
  • Monitoring and reviewing tool call outputs in a structured, non-scrollable format
  • Folding and unfolding the model's reasoning trace to focus on the final answer
  • Quickly interrupting a long-running turn to adjust the prompt or cancel
  • Using the TUI as a lightweight, pluggable chat interface for the DeepSeek Harness framework

Who the deepseek-harness-tui DSH plugin is for

  • Developers who prefer terminal-based workflows and want a native chat experience for DeepSeek models
  • Users of the DeepSeek Harness CLI who need a richer interactive interface than the default command-line
  • Terminal enthusiasts who want a minimal, themed chat UI that respects their terminal configuration

deepseek-harness-tui DSH plugin limitations

  • Requires Node.js ≥ 20 and the DeepSeek Harness CLI to be installed globally
  • Depends on the TokenDance gateway and a valid API key; no other model providers are supported out of the box
  • The tool-call delta fix for TokenDance must be reapplied after each dsh upgrade (until upstreamed)
  • Only runs in a terminal; no graphical or web interface is provided
  • The plugin is early-stage (~800 lines of UI) and may have limited features compared to full chat applications

deepseek-harness-tui DSH plugin: from the repository README

Quoted from the gxinxing/deepseek-harness-tui README, the upstream source of the deepseek-harness-tui DSH plugin. Copyright remains with the original authors.

**An interactive terminal chat for DeepSeek Harness — terminal-native style, built with Ink (React for terminals).** Give it a TokenDance key and a `dsh` install; run `dsh --profile tui` and you get a zero-chrome terminal chat with DeepSeek models: bottom-anchored transcript, tool calls folded into cells, thinking folding, and a theme that adapts to your terminal via OSC 11. It's a thin, readable plugin (~800 lines of UI) — not a re-implementation of the harness. [English](README.md) · [简体中文](README.zh-CN.md) [![GitHub stars](https://img.shields.io/github/stars/gxinxing/deepseek-harness-tui)](https://github.com/gxinxing/deepseek-harness-tui) [![License](https://img.shields.io/github/license/gxinxing/deepseek-harness-tui)](LICENSE) [![DeepSeek Harness](https://img.shields.io/badge/dsh-0.1.0--rc.6-blue)](https://github.com/deepseek-ai/deepseek-harness) ![deepseek-harness-tui running in a terminal](assets/screenshot.png) ## Install Requires **Node.js ≥ 20** and the [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) CLI: ```bash npm install -g @deepseek-ai/dsh # the harness (no Homebrew tap yet) git clone https://github.com/gxinxing/deepseek-harness-tui c

Read the full READMERepository license: MIT

deepseek-harness-tui DSH plugin questions

How do I install deepseek-harness-tui?

First, you need Node.js 20+ and the DeepSeek Harness CLI installed globally via `npm install -g @deepseek-ai/dsh`. Then clone this repository, run `pnpm install` in the directory, and finally register the plugin using `dsh plugin --profile tui add /path/to/deepseek-harness-tui`. You also need to add the headless plugin with `dsh plugin --profile tui add @deepseek-ai/dsh-headless`.

Do I need a TokenDance API key?

Yes, deepseek-harness-tui routes all LLM requests through the TokenDance gateway. You must set the environment variable `TOKENDANCE_API_KEY` or add it to `~/.dsh/.credentials.yaml` with proper permissions (0600). The default model is `deepseek-v4-flash`, and you can switch to `deepseek-v4-pro` by editing the provider settings.

Why does the tool call area show 'unknown tool' errors?

This is a known issue with the TokenDance gateway. The stock `@deepseek-ai/dsh-llm-deepseek` adapter overwrites tool call IDs with empty strings. You need to apply a one-time patch in `node_modules/@deepseek-ai/dsh-llm-deepseek/lib/index.js` by changing `if (call.id !== void 0)` to `if (call.id)` and similar for the function name. This patch is lost on dsh upgrade, so you must reapply it after upgrading.

How do I interrupt a running response?

Press the `Esc` key at any time during a turn. The harness will cancel the current agent call via `agent.cancel({ kind: 'user' })`. This is useful if the model is generating too long or you want to change your prompt.

Can I change the theme colors?

The theme is automatically derived from your terminal background color using OSC 11 probes. Message tints and code chips are blended with 12% white (on dark backgrounds) or 4% black (on light backgrounds). You can force a specific background color for testing by setting the environment variable `DSH_TUI_BG` to a hex color like `#ffffff`.