Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:ccch1mneyyy/dsh-TUI
GitHub-sourced plugins run build scripts on your machine at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
dsh-TUI
dsh-TUI is an interactive terminal front door for DeepSeek Harness. It is
mounted as a Cordis plugin and provides a Claude Code-style conversation, tool,
session, and fullscreen terminal experience while continuing to use the
official DSH agent, model, tool, session, and persistence services.
The project does not patch DeepSeek Harness core. Installing the plugin enables the interface, and removing it leaves no core modifications behind.
Status: public beta. It is suitable for daily use and extension work. Read Architecture and limitations before relying on its permission model or terminal-specific behavior.
Highlights
- Terminal-native interaction: streaming Markdown, structured tool cards,
command and file completion,
@file references (complete anywhere in the message; sending attaches the file content or directory listing), history search, message selection, inline or alternate-screen rendering, and/langzh/en UI language switching. - Visible agent state: live activity, segmented context usage, TPS, cache hit rate, reasoning effort, input/output tokens, and Git/session metadata.
- Complete session workflow:
/resume,/new,/compact,/export, model switching, and double-Escrewind through a session fork. - Official DSH integrations: agent presets, skills, MCP, goals, todos,
subagents, and
ask_user_questionare connected through existing services and registries. - Designed for long sessions: event-driven projection, differential output, message virtualization, replay coalescing, and bounded caches prevent render cost and memory from growing without limit.
Preview
Live activity, goal/todo state, and context metrics:
Quick Start
Prerequisites: an interactive terminal TTY, the official dsh CLI, and
pnpm 10+. Model requests also require DEEPSEEK_API_KEY.
# 1. Install the DeepSeek Harness CLI
npm install -g @deepseek-ai/dsh
# 2. Add the dsh-TUI profile plugin
dsh plugin --profile cc-tui add dsh-cc-tui
# 3. Start it
dsh --profile cc-tui
The repository's sh install.sh wraps step 2 and checks the required commands.
Windows users can also launch with dsh-cc.cmd; passing --resume restores the
most recently selected session.
See Getting started for profile composition, source builds, and troubleshooting.
Inside the TUI, /update updates the installed dsh-cc-tui package and
automatically restarts into the current session.
The TUI also checks npm for updates in the background after startup. The check never blocks the first frame and silently ignores offline or registry errors.
Documentation
| Topic | Contents |
|---|---|
| Getting started | Prerequisites, installation, startup, profile lifecycle, source development |
| Configuration | Cordis overrides, fields, agent presets, MCP, environment variables |
| Themes | Built-in themes, background detection, custom JSON themes, validation |
| Interaction and commands | Keyboard, mouse, questionnaires, slash commands, session workflows |
| Architecture and limitations | Runtime path, rendering, persistence, security boundary, known limitations |
| Contributing | Contribution workflow, repository map, build artifacts, verification matrix, change rules |
The complete bilingual index is docs/README.md.
How It Works
dsh profile
-> dsh-base
-> dsh-TUI Cordis patch
-> agent preset + DSH services
-> session/event
-> Channel projection
-> React components
-> ported Ink/Yoga renderer
-> terminal
The TUI owns interaction and presentation only. The session log remains the conversation source of truth, while model calls, tool execution, fork/resume, compaction, and persistence remain owned by DSH services. See the architecture guide for module boundaries and performance details.
Development
CI uses Node 24 and pnpm 11. The package supports Node ^22.19 || >=24.
pnpm install --frozen-lockfile
pnpm build
pnpm smoke
pnpm build compiles src/ into the checked-in lib/types/ output. Source
changes must include regenerated artifacts, and rendering, questionnaire, or
tool-card changes require the relevant regression scripts.
Permissions and Security Boundary
dsh-TUI does not implement a separate sandbox. It uses the filesystem,
shell, sandbox, and approval policies of the active DSH profile. The supplied
profile uses workspace confinement and approvals by default on non-Windows
platforms. Windows currently has no corresponding sandbox backend, so the
composition falls back to danger-full-access without approval prompts.
Inspect the profile before starting it around sensitive credentials or an
untrusted repository.
See Permissions and security boundary for details.
Featured by DeepSeek Harness
The DeepSeek Harness official WeChat account featured this plugin among its early user-built extensions. View the feature screenshot.
License
Links
More in this category
zhu1090093659/dsh-web-ui★ 1766
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
omdsh-dev/DSH-better-sidebar★ 705
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
huiliyi37/dsh-tianshu-tui★ 131
A terminal UI (TUI) for DeepSeek Harness.
omdsh-dev/dsh-at-file★ 117
Codex-style `@file` mentions: search workspace files in the composer and attach their contents to prompts.
Nagi-ovo/dsh-visualize★ 79
In-conversation generative UI: the model renders interactive HTML cards into the chat stream, with streaming preview and sandboxed rendering.
omdsh-dev/dsh-genui★ 72
Interactive UI components rendered inline in replies: layout, charts, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model.