dsh-TUI changes the interface while DSH keeps control
dsh-TUI mounts as a Cordis plugin over DeepSeek Harness. The session log remains the source of truth, and official DSH services continue to own model calls, tools, compaction, persistence, forks, and resume behavior. The plugin handles presentation and interaction: a React terminal tree, an Ink and Yoga-derived renderer, live activity projection, selection, scrolling, menus, and status displays.
That boundary is the project's best design decision. Removing the plugin leaves no core patch, according to the README. It also means dsh-TUI is useless without DSH. Our checkout contained about 134,612 source lines across 752 files, yet it still relies on a separate agent runtime, profile, model access, and service registries. Buyers should evaluate the combined stack instead of judging the whale-themed screen alone.
Long sessions get real navigation tools
The interface exposes session resume, forks, rewind, compaction, export, a side-question command, search, and a turn rail that includes folded history. Users can steer a running turn with Enter, queue a follow-up with Tab, or interrupt with Ctrl+Enter. Tool cards, reasoning text, older messages, and loaded context can be folded so a long transcript stays navigable.
Operational data is unusually visible. The header can show context use, input and output tokens, throughput, cache hit rate, reasoning effort, Git state, and session identity. The project describes bounded caches and a 300-to-120-row fold window for long screens. Those are project claims rather than our measurements, but the controls solve a concrete problem: terminal agents become hard to trust when progress and context pressure are invisible.
The permission model belongs to the active profile
dsh-TUI does not implement an independent sandbox. File access, shell execution, approvals, and sandbox behavior come from the selected DSH profile. That is sensible because the interface should not create a second policy engine. It also places responsibility on the user to inspect profile settings before starting the agent in a repository containing secrets or untrusted code.
Windows is the sharp exception. The architecture warning says there is no corresponding sandbox backend there, so the provided composition falls back to danger-full-access and does not display approval prompts. That is a concrete reason to walk away or isolate the environment. A pretty terminal cannot compensate for a permission boundary that differs across operating systems.
MCP and editor support stay inside DSH conventions
MCP servers are mounted through DSH's MCP client, and tools appear under names shaped like mcp__server__tool. The /mcp command shows connection state. Skills, goals, todos, subagents, agent presets, provider login, and permission commands also use existing registries rather than parallel dsh-TUI implementations. This makes the plugin a real MCP client surface, so the mcp tag is functional rather than decorative.
VS Code users can run the TUI in its integrated terminal or add the companion extension. Terminal differences still matter. The English README documents alternate paste keys, macOS modifier behavior, tmux copying, external-editor support, and mouse tracking. Issue #439 reports copying trouble in a JetBrains terminal, while issue #545 covers repeated rendering and lost scrollback in PyCharm. Test the actual terminal combination, not only a standalone shell.
What happened when we ran it
Our sandbox installed 332 pnpm packages in 33 seconds at commit 7646ef6, and dependencies used 236 MB. The repository occupied 11.6 MB with roughly 134,612 source lines. Installation succeeded in an unprivileged Node 22 container, with no model key or DSH session needed for that dependency step.
The build stopped after 41 seconds during build:dsh-std. The error says the vendored project is configured for pnpm 11.21.0 while the current Corepack-invoked version was 11.23.0. It recommends aligning packageManager with devEngines.packageManager, invoking pnpm outside Corepack so it can switch, or explicitly weakening the check. No compiler diagnostic appears after that version guard.
Our lab found no test script or target, so tests were skipped. That is not a passing suite and should not be presented as one. The repository does have 3 CI workflow files, but the checkout did not give our generic harness a runnable test command. For a public-beta interface that can approve tools and manipulate sessions, a discoverable local verification path would make adoption easier.
Public beta status matches the current rough edges
Version v0.9.2 was released on August 25, 2026, the same day as the last push. Its title says it fixes the update path by preconfiguring the pnpm build-script allowlist. Issue activity that day included global npm install failures, macOS task folding, IDE selection, JetBrains copying, and weak CI settling conditions. The combined open count was 63 issues and pull requests.
dsh-TUI is a focused recommendation for someone already committed to DeepSeek Harness. Its interface treats agent sessions as durable work rather than disposable chat, and the profile boundary avoids a forked runtime. The public-beta label, exact pnpm friction, missing test target, and Windows permission fallback rule out a blanket recommendation. Try it in an isolated profile, run /doctor, and verify approvals before opening a sensitive repository.

