dsh-tui · terminal-native ACP client

The DeepSeek Harness terminal, reimagined

A fast Rust terminal on a Cordis client tree: streamed reasoning, tool calls, subagents, token usage, and durable sessions — with themes, commands, and views composed as plugins instead of welded into the shell.

npm install --global @openma/deepseek-harness-tuidsh-tui --demo
STREAM READY

What dsh-tui does

01 / 06 — 06 / 06
Full agent timelineStreamed reasoning, tool calls and results, subagent lifecycles, and token/cache metrics, with a live status line for phase, elapsed time, and queue depth.
Native ACP capabilitiesReads the agent's models, permissions, and authentication methods directly. Skills and built-in commands share one searchable slash menu.
Multi-image promptsStage up to eight images from files, clipboard, or paste. Editable [image n] chips preview name, dimensions, size, and type inline.
Terminal-aware MarkdownHeadings, lists, quotes, fenced and inline code, emphasis, and links render cleanly, preserving CJK/Latin mixing and soft wraps.
Durable, long-turn sessionsQueue follow-ups or steer the active turn. Persisted JSONL sessions resume with /new, /resume, and --session-id.
A terminal-native surfaceDark/light themes, narrow layouts, native/tmux/OSC 52 clipboard, kitty image previews, and a small, composable plugin surface.

Two ways to run it

Try the demo with no runtime or API key, or install dsh-tui as the TUI surface plugin for a DeepSeek Harness profile — the path this project recommends.

Demo, no setup

npm install --global @openma/deepseek-harness-tuidsh-tui --demo

Recommended: dsh profile

npm install -g @deepseek-ai/dshdsh plugin --profile tui add @openma/deepseek-harness-tui@latestdsh --profile tui

The Host process mounts the ACP plugin on its Base Cordis tree; a separate TUI Client process speaks ACP over standard stdin/stdout and never spawns a second agent. The standalone entry point can instead attach directly to any ACP agent, for exampledsh-tui --agent dsh-acp.

Other products

secondary

dsh-tui is the terminal. This protocol adapter is useful when building another ACP client or agent, but it stays secondary to the TUI here.

DeepSeek Harness ACP@openma/deepseek-harness-acp adapts DeepSeek Harness to Agent Client Protocol: session lifecycle, permissions, and authentication, independent of any one terminal.npmGitHub