Foreword

DeepSeek Harness (DSH) decomposes agent capabilities into composable plugins, with the core service handling model invocation, tool execution, and session persistence. However, for developers accustomed to writing code in the terminal, the official CLI has long lacked a “ready-to-use, sufficiently high information density” full-screen TUI frontend—pure text output gets the job done but makes it difficult to glance and grasp context usage, reasoning progress, and what the Agent is currently doing.

The community plugin dsh-TUI (maintained by ccch1mneyyy) was created precisely to fill this gap. It mounts as a Cordis plugin, modifying no DSH core code, and can be completely uninstalled. The interface draws inspiration from Claude Code, providing a whale header bar, real-time status line, streaming thought display, context progress bar, and TPS gauge within the terminal. This plugin has been featured as a “Selected Plugin by Beta Users” on the official DeepSeek Harness WeChat account and is categorized as a Client in the SkillHub Plugin Repository. The GitHub repository ccch1mneyyy/dsh-TUI has garnered approximately 2490 Stars as of August 2026 (under MIT License).

Please note: SkillHub, dshfind, and similar directory sites are community-maintained DSH plugin indices and have no official affiliation with DeepSeek / High-Flyer. It is recommended to read the source code and license before installation.

What Is This

dsh-TUI is a terminal interaction frontend (TUI) for DSH Agents, with the npm package name @deepseek-harness-tui/dsh-tui. It overlays on top of the dsh-base profile via the dsh-tui profile, with session logging, model routing, and tool approval capabilities continuing through the official DSH channels. The TUI only handles presentation and input.

In a nutshell: Zero core changes, pure plugin mounting—install it for a Claude Code-style terminal experience, uninstall it without leaving any patches.

Core Features & Highlights

Interface & Interaction

  • Pixel Whale Header Bar + Dual Streaming Light Typography: Strong brand identity, providing a complete first-screen experience upon startup.
  • Real-time Work Status Line: Paired with the ecosystem plugin dsh-working-activity, it displays the current task stage the Agent is executing in the status bar.
  • Streaming Markdown & Structured Tool Cards: Model outputs, tool parameters, and results are presented in card form, supporting Ctrl+O to expand/collapse details.
  • Streaming Thought Process Unfolding: Reasoning content can be viewed on-demand without waiting for the entire segment to complete.
  • Context Progress Bar + TPS Gauge: Displays token usage in segments, with a tokens-per-second indicator during streaming stages, keeping you informed during long sessions.
  • Timeline Navigation: The right-hand rail covers all conversation turns (including collapsed turns); clicking a tick mark jumps to that point. When input is empty, double-clicking Esc initiates a session rewind/fork, equivalent to “time travel.”
  • File & Command Completion: Supports @ file references (including line ranges like @path#L12-14), / command menus, history search (Ctrl+R), and other native terminal interactions.
  • Bilingual Interface: Switch interface language via /lang or /settings.

Session Workflow

The plugin replicates a full set of Claude Code-style slash commands, all utilizing the official DSH services, such as:

  • /new, /resume, /compact, /export: Create, resume, compact, and export sessions;
  • /model, /preset, /effort: Model and Agent presets, reasoning intensity;
  • /rewind, /tree, /fork: Rewind, view the fork tree, copy session branches;
  • /btw <question>: Side question, without interrupting the main turn;
  • /update: Check for new registry versions and upgrade the profile with one click.

During model operation, it also supports three delivery semantics: Enter for steer (inject boundary without interruption), Tab for follow-up (queue after the current turn), and Ctrl+Enter for interrupt (interrupt and send immediately).

Performance & Engineering

Designed for long sessions, it features differential rendering, message virtualization, fingerprint caching, and wrap/markdown LRU to avoid rendering costs growing linearly with historical messages. The repository provides complete architecture documentation, CI (Node 24 + pnpm 11), and a companion VS Code extension dsh-tui-vscode (searchable on the Marketplace).

Installation & Activation

Prerequisites

  • A working terminal TTY and the official dsh CLI;
  • pnpm 10+ (the dsh-tui profile will be automatically initialized on the first run);
  • To run models, you need to configure DEEPSEEK_API_KEY (or use /provider for subscription OAuth paths, etc.).
# Install CLI and this plugin globally
npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui

# Start (the dsh-tui profile will be automatically initialized on the first run)
dsh-tui

Manual Profile Mounting

If dsh is already installed, you can run install.sh from the repository root directory or manually add the plugin:

dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui

After that, dsh-tui is equivalent to dsh --profile dsh-tui. dsh-tui --resume can resume the last session. Windows users can use the included dsh-tui.cmd in the repository.

Migration Note: Users of the old packages dsh-cc-tui / cc-tui profile please refer to the repository’s Installation & Quick Start documentation to migrate to the new package @deepseek-harness-tui/dsh-tui. Git URL installation is not supported; please use the npm registry package.

Common CLI Subcommands

Command Purpose
dsh-tui doctor Pre-start environment diagnosis (dsh, pnpm, profile, key configuration, etc.)
dsh-tui update Upgrade the profile and align the launcher
dsh-tui version View launcher and profile versions

Typical Usage Examples

Start & Resume

# New session
dsh-tui

# Resume last session
dsh-tui --resume

After entering the TUI, you can directly input natural language tasks. To reference a code file, input @ to trigger completion, for example, @src/main.ts#L10-20 to attach only the specified line range.

Common In-Session Operations

/compact          # Compact context, suitable for long conversations
/export           # Export Markdown
/model            # Switch model (will fork the session for continued chat, history preserved)
/rewind           # Rewind selector (equivalent to double-clicking Esc with empty input)
/doctor           # In-session environment self-check
/update           # Check and install new versions, then automatically restart

Using in VS Code

Run dsh-tui directly in the VS Code integrated terminal. For an experience closer to the official Claude Code extension, install the companion extension dsh-tui-vscode. See the repository’s VS Code Usage Guide for details.

Use Cases & Considerations

Who Is This For

  • Developers who frequently use the terminal to drive DSH Agents for coding, project modification, and toolchain execution;
  • Users familiar with the Claude Code interaction paradigm who desire an equally dense TUI for DSH;
  • Long-session scenarios where observing runtime metrics like context usage, TPS, and cache hit rate is necessary.

Pre-Use Notes

  1. Permission Boundary: dsh-TUI does not implement an independent sandbox but adheres to the current DSH profile’s file, Shell, sandbox, and approval policies. The plugin runs with the current dsh process permissions. Before launching in environments with sensitive credentials or untrusted repositories, please check the profile configuration and source code first.
  2. Platform Differences: Non-Windows platforms default to profile workspace constraints + approval. Windows currently lacks a corresponding sandbox backend; combinations will fall back to danger-full-access without approval prompts.
  3. External Tool Dependencies: Ctrl+V paste from clipboard requires one of wl-paste/xclip/xsel on Linux. macOS’s built-in Terminal.app has limited support for some shortcuts; the documentation recommends using iTerm2, kitty, WezTerm, etc., instead.
  4. Known Limitations: /model switching uses session forking rather than in-place model change; /thinking display toggle does not persist; /update is only available when started via dsh --profile and will be rejected during a running turn. For the complete list, see the repository’s Architecture & Limitations.

Closing

If you’re already using DeepSeek Harness but often feel you “can’t clearly see what the Agent is doing” in the terminal, dsh-TUI is currently one of the most mature and highest-Star TUI supplements in the community. Install the npm package, type dsh-tui, and you’ll bring in the whale header bar, status line, context bar, and TPS gauge all at once.