dsh-TUI
DSH's officially recommended TUI plugin — high performance, low overhead, cute pixel whale, smooth mouse interaction. One-command install via npm. / DSH 官方推荐的 TUI 插件, 高性能低占用, 可爱像素鲸鱼, 流畅鼠标交互, npm一键安装
Install / Use
npx skills add ccch1mneyyy/dsh-TUIInstalls into whichever agent you are using.
CLAUDE.md
Claude Code project instructions
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of dsh-TUI
dsh-TUI scores 95/100 on our quality scale, 261st of 4,529 Development & Engineering skills we index (top 6%).
Its CLAUDE.md is 23 KB long, well organised into 24 sections with 4 code examples: a thorough specification that gives an agent plenty to work with.
With 3,903 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated today, so dsh-TUI is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.
Automated pattern scan on 2026-10-01. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
dsh-TUI compared with similar skills
All 4 of these similar skills score higher than dsh-TUI; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| dsh-TUI (this skill)by ccch1mneyyy | 95 | 3.9k | today | CLAUDE.md |
| claude-memby thedotmack | 100 | 95.1k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 87.2k | 16d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 84.9k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.2k | today | CLAUDE.md |
Frequently asked questions
- How do I install dsh-TUI?
- Run
npx skills add ccch1mneyyy/dsh-TUI. The install tabs above show the steps for each supported agent. - Which AI agents does dsh-TUI work with?
- It is written for Claude Code, as a CLAUDE.md file. Other agents that read the same format can often use it too.
- Is dsh-TUI safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is dsh-TUI still maintained?
- The repository was last updated today, so dsh-TUI is actively maintained.
Skill content
View source on GitHubdsh-TUI
An interactive terminal UI plugin for DeepSeek Harness. It ships a pixel-whale header, live work status, streaming thinking, double-Esc time rewind, a context progress bar, and a TPS gauge. It mounts as a pure plugin, with no core changes. Install to enable; uninstall leaves no patches behind.
Highlights
- Pixel whale pet — three startup intros, click to wake; freezes after the first task.
- Terminal-native UI — streaming Markdown, tool cards,
/and@completion,#L12-14ranges, history search, zh/en UI. - Images — Kitty/Sixel thumbnails, centered preview with zoom and pan, paste-time fitting, text fallback.
- Mermaid diagrams —
mermaidfences drawn as Unicode diagrams. - LaTeX math —
$…$and$$…$$formulas as Unicode text, fractions and limits stacked in display blocks;mathRendering: imagetypesets block and one-row inline formulas as terminal images on graphics terminals. - Timeline rail — every turn clickable; timeline / scrollbar / hidden gutter.
- Live state — activity animation, context bar, TPS, cache hit rate, effort, tokens, session cost estimate (main + subagents), Git and session metadata.
- One session manager —
/resume/home/agentview/bg⌸. - Session workflow —
/new/compact/export/btw, model hot-switch, fork, rewind, vim, fullscreen draft editor. - IDE selection channel — a VS Code selection lands in the prompt.
- DSH integrations — presets, skills, MCP, goals, todos, subagents, questionnaires.
- Account sign-in — the standard profile offers pi-ai OAuth for ChatGPT/Codex, Claude, and Grok (plus OpenAI direct and Meta Muse when available), and Host-owned DeepSeek browser sign-in as
deepseek-accounton DSH 0.2.0-rc.1+. Use/provideror/authwithout another plugin. A profile-only update from a global TUI patch that already mountsdsh-tui-authcan still start the official loopback callback listener on demand; fixed-port SSH forwarding still requires the global package to be aligned. - Extensions — browser interaction, computer use and more.
- Built for long sessions — event-driven projection, virtualization, bounded caches.
Keys and commands: Interaction and commands. Everything else: documentation index.
Preview
<div align="center"> <picture> <source media="(max-width: 640px)" srcset="docs/assets/readme/preview-en-mobile.svg"> <img src="docs/assets/readme/preview-en.svg" alt="Recorded dsh-TUI session: welcome, completion, help and typing, with animated pixel whale." width="78%"> </picture> </div>Featured & Listed
Among the community plugins recommended by the official lead of DeepSeek Harness, dsh-TUI is the first.
Featured by the DeepSeek Harness official WeChat account, listed in the dshfind plugin directory, and ranked #7 on GitHub Trending daily (TypeScript).
<div align="center"> <table> <tr> <td align="center" valign="middle" width="50%"> <img src="screenshots/wechat-official.png" alt="dsh-TUI featured by the DeepSeek Harness official WeChat account" width="480"> <br> <strong>Featured by the official WeChat account</strong> </td> <td align="center" valign="middle" width="50%"> <a href="https://dshfind.com/en/plugins/ccch1mneyyy/dsh-TUI"><img src="https://dshfind.com/api/card/ccch1mneyyy/dsh-TUI?lang=en" alt="dsh-TUI on dshfind" width="420"></a> <br> <strong>Listed in the dshfind directory</strong> <br><br> <a href="https://trendshift.io/repositories/146168" title="GitHub Trending Daily #7 · TypeScript"><img alt="Trendshift" src="https://trendshift.io/api/badge/trendshift/repositories/146168/daily?language=TypeScript"></a> <br> <strong>GitHub Trending Daily #7</strong> </td> </tr> </table> </div>Quick Start
Prerequisites: Node.js and
deepseek-harness.
The deepseek-official API-key route needs DEEPSEEK_API_KEY. On DSH
0.2.0-rc.1+, the standard profile can instead use /auth login deepseek-account
and select the separate account route through /model. Other supported
accounts can sign in through /provider or /auth after startup.
The primary compatibility target is DSH 0.2.0-rc.2. This adapter supports its
Shell API, V4 session messages, declarative presets, and profile-backed settings;
older supported hosts retain their compatibility paths. See configuration.
On DSH 0.1.7, /settings uses the TUI's actual Loader entry ID, including custom
IDs. It requires matching profile dependencies with @deepseek-ai/schemastery
3.18.3 or newer; an incompatible schema stops TUI startup with repair guidance
instead of showing an uneditable settings page. Older hosts keep their legacy settings scope.
# Install the CLI and this plugin globally (ships the dsh-tui command)
npm install -g @deepseek-ai/dsh @deepseek-harness-tui/dsh-tui
# Start (first run auto-initializes the profile; needs pnpm)
dsh-tui
# Both `dsh-tui` and the short `dst` alias start the same TUI.
dst
Manual alternative: dsh plugin --profile dsh-tui add @deepseek-harness-tui/dsh-tui.
The repo's sh install.sh runs that step and checks the required commands.
Afterwards dsh-tui and dsh --profile dsh-tui are equivalent.
New-user note: pnpm ≥11 blocks dependencies with install scripts by default and reports
ERR_PNPM_IGNORED_BUILDS. Updates skip foreign-platform@img/sharp-*native packages, saving about 200MB of downloads./updateanddsh-tui updatewrite both settings automatically. No manual step needed. Details: Getting started.
After startup the TUI checks for newer versions in the background. It never
blocks the first frame. Type /update for a one-shot upgrade. It restarts
automatically and resumes the current session. See
Getting started for the profile lifecycle,
source builds, and troubleshooting, including migration from the former
dsh-cc-tui package.
CLI
| Command | Purpose |
| --- | --- |
| dsh-tui / dst | Start the TUI; dst is a short alias for the same program |
| dsh-tui --resume [id] · dsh-tui update · dsh-tui doctor | Resume a session · update the profile and align the launcher · pre-flight environment checks |
| dsh-tui safe | Read-only diagnostics, plugin inventory and repair guidance; safe --rescue builds a clean rescue profile |
| dsh-tui version · dsh-tui help | Launcher and profile versions and usage; both work even without a dsh install |
Leading DSH options such as --dump-config and --patch <path> are forwarded
unchanged; other arguments go to the app in dsh --profile dsh-tui. Use
dsh-tui -- --resume=sid-1 ./notes to send --resume=sid-1 ./notes as literal
prompt text, without selecting a session or workspace. When invoking DSH
directly, use dsh --profile dsh-tui -- -- --resume=sid-1 ./notes: the first
-- belongs to DSH, the second to the app. Host options can precede a literal
prompt: dsh-tui --patch ./overlay.yml -- --resume=sid-1 applies the overlay
and sends --resume=sid-1 as prompt text without resuming that session.
Safe mode: Getting started.
Importing conversations from other agents (dsh-tui migrate)
Bring Claude Code, Codex, OMP, zcode, or Grok Build conversation histories into the DSH session store, then browse and resume them by their original working directory via /resume:
dsh-tui migrate # list importable counts per agent (writes nothing)
dsh-tui migrate claude-code # import every Claude Code conversation (likewise codex / omp / zcode / grok-build)
dsh-tui migrate codex --dry-run # preview what would land, write nothing
-
Read-only source: migration only reads the foreign agent's local store; artifacts are written through the official
JsonlSessionPersistencebackend, so imported sessions are first-class (openable, continuable). -
Idempotent: one deterministic UUID per source conversation — re-importing skips what is already present instead of stacking duplicates.
-
Structure preserved: user/assistant messages, reasoning traces, tool calls with their results, and the source's context compactions (as native compaction checkpoints) are rebuilt turn by turn; harness-injected machine text opens no turn. An imported session can pick the work straight up. In-TUI browsing: the session screen (
/resume) shows a tab per agent that has conversations; picking one imports just that conversation and opens it. In-TUI:/migrate(optionally/migrate <agent> [--dry-run]) runs the same import in a child process and reports through the notification flow. CLI alternative:dsh-tui migrate ...from any shell runs the same import. Full guide: Session migration. -
More agents (pi, opencode, …) extend the adapter registry as adapters land; grok-build reads
GROK_HOMEwhen set.
VS Code: use the integrated terminal or the dsh-tui-vscode extension. See VS Code guide. Herdr: run dsh-tui in a Herdr pane; idle / working / blocked are reported through its local integration API.
Keybindings & Mouse
Enter send · Tab complete · Ctrl+Enter interrupt and send · Alt+Up recall the last message · Esc dismiss, double-Esc rewinds · Ctrl+O details · Ctrl+R history (↑/↓ and Ctrl+R are scoped to the current project) · Ctrl+V paste · Ctrl+Z undo draft · Ctrl+Shift+E fullscreen draft editor · ? shortcuts · ← background the session.
While the model is working: Enter steers, Tab queues a follow-up, Ctrl+Enter interrupts and sends.
On native Windows, fragmented Win32 input records are reassembled across short input delays instead of appearing as numeric protocol text. The platform check only reports that this machine might run the private mode (win32-input-mode); a bare ESC[ fragment is held only after one record has actually been decoded, while a fragment whose own shape is already record-specific holds on its own (which is how even the first record can survive a split). Windows terminals that never enter the mode (mintty, GitBash) therefore keep the classic VT path: a lone Esc keeps its normal response time, and a letter typed after a timed-out ESC[ is not swallowed.
Incomplete records are held for a bounded recovery window (1 second from first capture, never extended b
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
95.1kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
87.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
84.9kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
74.2kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
