Skip to content

tomowang/dsh-tui

40Last commit Aug 15, 2026

dsh-tui DSH plugin

dsh-tui is an open-source terminal front door for DeepSeek Harness (dsh). It renders the durable session log, supports line input mapped to agent inbox, and provides a status bar, stats line, and various inspectors. It runs as a Cordis plugin bundle, stacking on dsh-base.

How to install the dsh-tui DSH plugin

dsh plugin --profile tui add @tomowang/dsh-tui

Copying does not run this command. Review the repository and version before installing the dsh-tui DSH plugin.

dsh-tui DSH plugin data source

dsh-tui DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-tui DSH plugin can do

  • Status bar showing session ID, active model, agent preset, run state, and queued message count.
  • Stats line displaying turn/step counts, LLM/tool wall time, TTFT, decode tok/s, cache-hit %, billed tokens, and context usage summary.
  • /model command for LLM provider management: switch active model, add, edit, or delete custom providers with route, base URL, API key, and model discovery.
  • /presets command to browse and switch agent presets (fixed once the session's first turn has run).
  • Session inspectors: /trajectory (turn/step event ledger with detail view and filtering), /context (context-window usage breakdown), /plugins (loaded Cordis plugin tree and fiber state).
  • Permission preset cycling via Shift+Tab (read-only, workspace-write, danger-full-access, custom).
  • Manual session compaction with /compact command.
  • Persisted prompt history across processes, recalled with up/down arrows.
  • Readline-style input with word/line motion, kill/yank deletes, multi-line drafts, and double-press Ctrl+C/Ctrl+D to exit.

Where the dsh-tui DSH plugin fits

  • Interacting with AI agents in a terminal environment without a browser.
  • Debugging agent sessions by inspecting trajectory, context, and plugin state.
  • Managing multiple LLM providers and switching models on the fly.
  • Controlling session permission levels with a single keyboard shortcut.
  • Resuming previous sessions with --resume flag to see exact history.

Who the dsh-tui DSH plugin is for

  • Developers and researchers using DeepSeek Harness.
  • Power users who prefer terminal over browser for agent interaction.
  • Users needing to automate or script agent interactions via terminal.

dsh-tui DSH plugin limitations

  • Requires Node.js ^22.19 || >=24 and a DEEPSEEK_API_KEY.
  • Both stdin and stdout must be real TTYs; pipes will fall back to headless profile.
  • Some features (e.g., /presets, /model) depend on underlying services being mounted in the profile.

dsh-tui DSH plugin: from the repository README

Quoted from the tomowang/dsh-tui README, the upstream source of the dsh-tui DSH plugin. Copyright remains with the original authors.

An open-source terminal front door for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`). `@tomowang/dsh-tui` is an **out-of-tree mode bundle**: it stacks on `@deepseek-ai/dsh-base` exactly like the shipped `dsh-web-app` and `dsh-headless` bundles do, but drives the agent from your terminal instead of a browser. The package is both a Cordis plugin (terminal input and presentation) and a dsh bundle (`dsh.bundle.patch` in `package.json` points at [`cordis.patch.yml`](cordis.patch.yml)); everything else — model adapters, tools, session persistence, sandbox and approval policy — stays in `dsh-base` and remains patchable underneath. ![dsh-tui session in a terminal, showing the startup banner, injected context, and tool calls](assets/screenshot.png) <details> <summary>Screencast</summary> <video src="assets/screencast.mp4" controls width="100%"></video> If the player above doesn't render, watch/download it directly: [assets/screencast.mp4](assets/screencast.mp4) </details> ## How it works - The TUI renders **only from the durable session log**: it replays `agent.session.events` on startup and follows `session/event` live, so `--resume` shows the exact hi

Read the full READMERepository license: MIT

dsh-tui DSH plugin questions

How do I install dsh-tui?

First install the dsh launcher globally: npm install -g @deepseek-ai/dsh. Then create a profile and add the bundle: dsh plugin --profile tui add @tomowang/dsh-tui. Finally, declare the bundle stack in the profile manifest and run with dsh --profile tui.

How do I change the model in dsh-tui?

Use the /model command inside the TUI. It opens a provider management interface where you can switch the active model, or add/edit/delete custom LLM providers with route, base URL, API key, and model discovery.

Can I resume a previous session?

Yes, run dsh --profile tui --resume <sessionId>. The TUI replays the durable session log on startup, so all history from the previous session is shown exactly as it was.

What are the keyboard shortcuts for exiting?

Press Ctrl+C twice within 2 seconds on an idle empty line to exit. Similarly, Ctrl+D on an idle empty line twice within 2 seconds also exits. Alternatively, you can type /exit or /quit.

Does dsh-tui work over SSH or with pipes?

Both stdin and stdout must be real TTYs. If you pipe input or redirect output, the plugin will fail loudly and you should use the headless profile instead (dsh --profile headless). It works over SSH as long as the TTY is preserved.