featured·DSH Official WeChatTrending·GitHub daily #7
dsh-TUI pixel whale girl

dsh-TUI

Claude Code-style fullscreen terminal interaction,
the missing TUI piece for
DeepSeek Harness.

Pixel-whale top bar, live status line, streaming thinking, terminal image previews (Sixel / Kitty), double-tap Esc time travel, and a blue-white context progress bar with a TPS gauge. Zero core changes, pure plugin mounting — install and go, uninstall with no residue.

The project name is dsh-TUI; the command and package use dsh-tui, while DSHTUI is the domain-friendly alias. It runs on DeepSeek Harness, abbreviated DSH.

npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui
WindowsmacOSLinux
Node ^22.19 / ≥24 · pnpm 10+
dsh-tui — fullscreen · 120×36
DEEPSEEK'
HARNESS
deepseek-v4-flash · Max effort
D:\code\projects
Tip: /model to switch models · /help for commands · Tab for completion
Explore the Unexplored!
spatctx 8.9k/1.0M 0.9% 991k
deepseek-v4-flash · max · 8.9k→190master · projects · hi
no errors · 0 tools · thought 5s worked 0s · 🔥 9.1k? for shortcuts

↑ Simulated demo · colors follow the theme (mirrors the TUI's OSC 11 auto-detection)

Core capabilities

dsh-TUI brings the complete Claude Code terminal experience to the DSH plugin system, with performance engineering for long sessions.

Terminal-native interaction

Streamed Markdown, terminal image previews (Sixel / Kitty with inline thumbnails and a full gallery), structured tool cards, command and file completion, @ file references (with #L12-14 line ranges, contents attached automatically on send), history search, message selection, inline / alternate-screen rendering modes, and one-tap Chinese / English switching via /lang.

Streamed MarkdownImage previews@ file refsHistory searchCN / EN bilingual

Observable agent status

Live status line, segmented context progress, TPS gauge, cache hit rate, reasoning level, input / output tokens, and Git / session info — what the agent is doing, visible at a glance.

ctx ▓▓▓▓▓░░░░░512.0k/1.0M · 51.2%
tps ▂▃▅▆▇█▇▅ 58cache 99.7%
Context progressTPS gaugeCache hit rate

Complete session workflow

/resume to restore, /new for a fresh session, /compact to compress, /export to export, /btw for side questions, model switching, and session rewind / fork time travel via double-tap Esc.

/resume/compactDouble-tap Esc rewind

Official DSH capabilities

Agent presets, Skills, MCP, Goals, Todos, sub-agents, and ask_user_question questionnaires — all connected through existing services or registries, no wheels reinvented.

Agent presetMCPSub-agents

Built for long sessions

Event-driven projection, differential terminal output, message virtualization, replay merging, and bounded caches — per-frame cost drops from O(entire session) to O(visible window); rendering and memory stop growing with the session.

Layout-level virtualizationDifferential renderingBounded caches

Interface preview

Real screenshots, no filters. Gentle Mist Blue palette: mist blue carries only brand, focus, and highlights while body text stays neutral gray; on launch the TUI queries the terminal background via OSC 11 and picks the light / dark palette automatically.

splash.png
Splash — pixel-whale top bar · dual-shine wordmark · status line
Splash — pixel-whale top bar · dual-shine wordmark · status line
working-line.png
Working — tool cards · Todos panel · context progress bar + TPS gauge
Working — tool cards · Todos panel · context progress bar + TPS gauge

Featured by the DeepSeek Harness official account

In a DeepSeek Harness official WeChat post, dsh-TUI was showcased as a beta user pick — the pixel whale took center stage on the official poster.

DeepSeek Harness official WeChat post featuring dsh-TUI

What's new

Facts cross-checked against repo commits and npm publish times; full notes on GitHub Releases.

  1. v0.11.22026-09-29LATEST

    Transparent terminal images: formulas, portraits & photos

    LaTeX math renders as real images (Kitty/Sixel) with a transparent backing by default and click-to-zoom previews; the maid portrait and chat photos float on your wallpaper too, with per-surface backing settings; /settings reorganised into inline topics plus deep subpages.

  2. v0.11.12026-09-26

    Plugin-owned status line semantics

    Working-status semantics move entirely to dsh-working-activity 0.5.0 with the TUI reading a read-only projection; background sessions no longer overwrite the status line of the on-screen session.

  3. v0.11.02026-09-24

    Unified session manager & IDE selection channel

    /resume, /agentview and /bg merge into one session manager; IDE selections get live badges auto-attached on submit, plus safe mode, Mermaid diagrams as Unicode art, inbound image downsampling, and DSH 0.1.7-rc.1 support.

  4. v0.10.22026-09-17

    Stability fixes

    Fixes history vanishing after resume on empty-session misdetection, blank screens on scroll jumps, streaming and long-text paint jank in long conversations, and stale pending queues left on rewind branches.

  5. v0.10.12026-09-10

    Context progress bar on by default

    Long lines fold with mouse support; DSH 0.1.5-rc.1 support with deepseek-flash as the new default model.

  6. v0.10.02026-09-08

    Terminal image previews & whale animation

    Sixel / Kitty terminal image previews with a gallery, click-to-wake whale animation, /agentview session overview, a fullscreen draft editor, and /jobs background tasks.

  7. v0.9.32026-08-26

    Single-file portable bundle & balance check

    Cross-platform single-file portable build with self-update, /settings auto-save, and /balance for DeepSeek balance and per-session cost estimates.

  8. v0.9.12026-08-25

    OAuth login & session recap

    OAuth account login (dsh-auth), /recap auto-session summaries, @ line-range references, plus /restart session-preserving restart and /reload soft reload.

  9. v0.9.02026-08-23

    Fullscreen by default & full mouse support

    Fullscreen becomes the default, a timeline rail is added, mouse interaction is covered throughout, and long-session performance is significantly improved.

One-command npm install

Prerequisites: Node.js ^22.19 or 24+, pnpm 10+, and a working terminal TTY; running models requires DEEPSEEK_API_KEY. Step one below installs the dsh CLI, so you do not need it beforehand. After launch the plugin checks npm for new versions in the background — type /update to auto-update, restart, and resume the session.

NEW

Installer bundle (recommended for beginners)

Prefer not to type commands? Download the bundle, extract it, and double-click install.bat (or run sh install.sh on macOS / Linux). The script installs Node, pnpm, the dsh CLI, and dsh-TUI, then walks you through the API key.

Direct download · auto-switches npm mirror · no manual Node setup

1Download the bundle2Extract it anywhere3Double-click install.bat / run sh install.sh
1Install CLI + plugin globally
npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui

The package ships the dsh-tui shortcut command.

2Launch
dsh-tui

First run auto-initializes the dsh-tui profile (requires pnpm 10+).

3Resume the last session
dsh-tui --resume

On Windows, the dsh-tui.cmd in the repo works exactly the same.

Alternative — add to a dsh profile manuallysh install.shordsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tuiorVS Code extension

Shortcuts, all at your fingertips

On macOS, Ctrl+<key> also works as ⌘<key> (requires terminal support for the extended keyboard protocol: iTerm2 / kitty / WezTerm / ghostty / tmux); only Ctrl+C / Ctrl+D stay on Ctrl.

  • EnterSend (Shift+Enter for a newline); runs the selected item when the command menu is open
  • Ctrl+CInterrupt the current turn; press twice while idle to quit
  • Esc×2★Double-tap on empty input = time travel (rewind / fork)
  • Ctrl+OExpand / collapse details: full thinking, tool params and output
  • Ctrl+Shift+EFullscreen draft editor (line numbers + wheel)
  • Ctrl+RSearch message history
  • /Full-text search within the session, n / N to jump between matches
  • TabCommand / @ file completion; directories can be drilled into
  • Ctrl+VPaste text; files / images copied in Explorer insert as file paths
  • ?Shortcut menu
  • Shift+↑Message selection mode; Enter expands a single message
  • Drag selection
    In-app text selection; release to copy (OSC 52 + native fallback)
  • Double / triple click
    Select word / line — copied on select as well
  • Wheel
    Scroll the message list (fullscreen mode)
After copying, the selection clears automatically and a "Copied N characters" toast appears; press Esc mid-drag to cancel the selection without copying.

The complete Claude Code command set, replicated

All local commands go through official DSH pipelines. /plan and /goal come from the DSH command-registry plugin and merge into the / menu automatically.

Sessionsession
Statusstatus
Modelmodel
Account / Policyaccount
Skillsskills
Miscmisc
Registryregistry

Zero core changes, pure plugin mounting

The TUI owns only interaction and presentation. The session log is the source of truth; model calls, tool execution, fork/resume, compaction, and persistence remain owned by DSH services.

  1. dsh profile
  2. dsh-base
  3. Cordis patch
  4. Agent preset + DSH services
  5. session / event
  6. Channel projection
  7. React components
  8. Ink / Yoga renderer
  9. terminal

The highlight marks the dsh-TUI mount point: the Cordis patch layers on top of dsh-base and leaves no core patch behind when removed.

Gentle Mist Blue palette

Mist blue carries only brand, focus, interaction, and highlights while body text stays neutral gray; OSC 11 auto-detects the terminal background and falls back to dark when there is no response.

Event-driven rendering

The session/event stream drives incremental differential rendering; scroll state is maintained independently and terminal output commits only diffs.

Layout-level virtualization

Off-screen message rows render as measured-height placeholders whose subtrees skip layout entirely — per-frame cost for long sessions is O(visible window).

Context progress bar + TPS gauge

Largest-remainder segmented coloring plus multi-level abbreviated readouts; streaming 1/8-cell gauge, min-max sparkline, and speed-semantic colors (≥50 green / ≥20 yellow / <20 red).

The working-activity ecosystem

The status line consumes log-only activity/status events from dsh-working-activity — the same data source as the Web UI.

Security boundary

No separate sandbox: the TUI inherits the file, shell, sandbox, and approval policies of the current DSH profile; check the profile config first in environments with sensitive credentials.

Frequently asked questions

Positioning, installation, platform support, and plugin boundaries of dsh-TUI.

What is dsh-TUI?

dsh-TUI is a Claude Code-style fullscreen terminal interface plugin for DeepSeek Harness, with streamed Markdown, structured tool cards, session management, live agent status, and terminal-native interaction.

Do DSHTUI, dsh-tui, and DSH TUI mean the same project?

Yes. dsh-TUI is the styled project name; DSHTUI, dsh-tui, and DSH TUI all refer to the same project. DSH abbreviates the underlying DeepSeek Harness.

How do I install dsh-TUI?

Get Node.js ^22.19 or version 24+ and pnpm 10+, globally install the official dsh CLI and the dsh-TUI plugin, then run dsh-tui to start. Running models also requires a configured DEEPSEEK_API_KEY.

Which operating systems are supported?

Windows, macOS, and Linux are supported. Terminal support for the extended keyboard protocol, clipboard, and OSC 52 may vary.

Does installing the plugin modify the DeepSeek Harness core?

No. dsh-TUI mounts as a plugin through a Cordis patch; sessions, model calls, tool execution, and persistence stay with the existing DSH services, and no core patch remains after uninstall.

Join the community

The dsh-TUI plugin community runs on both QQ and WeChat. Ask about installation, configuration, and terminal compatibility, or bring a feature request.

QQ group
QQ group QR code
Group no.572549239
WeChat group
WeChat group QR code
Scan with WeChat to join