DeepSeek Harness plugin

dsh-tui-nexlinea

A full-screen interactive terminal UI for the DeepSeek Harness agent runtime — live streaming, reasoning blocks, tool cards, sessions, permissions, plan mode, and a full slash-command suite. The web

Jump to install

Source facts

Repository
nexlineai/dsh-tui
Latest update
Aug 20, 2026
Category
Workflow & Automation
GitHub stars
1
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-21

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/nexlineai/dsh-tui
Plugin: dsh-tui-nexlinea
Author: nexlineai

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-tui

> A full-screen interactive terminal UI for the DeepSeek Harness agent runtime — the web UI, reimagined for the terminal.

![npm](https://www.npmjs.com/package/@nexlineai/dsh-tui) ![CI](https://github.com/nexlineai/dsh-tui/actions/workflows/ci.yml) ![license](./LICENSE) !platform

dsh-tui runs the official DeepSeek Harness agent (tools, file editing, shell, subagents, sessions, permissions, plan mode) behind a Claude Code / opencode-style interface — live token streaming, reasoning blocks, boxed tool cards, prompt history, and a full slash-command suite. No browser, no Electron, just your terminal.

It is not a model wrapper or a plain chat REPL — it drives the real agent runtime.

---

Features

  • Live streaming — answers render token-by-token as the model generates.
  • Reasoning displaythinking blocks stream dim/italic, with per-turn effort control (/model <id> high).
  • Tool cards — box-drawn ⏱ bash blocks with lifecycle markers (● running → ✓ done / ✖ error) and arg/result previews.
  • Full agent toolkit — the agent can read/edit files, run commands, delegate subagents, and execute plans.
  • Session management — list and resume any persisted session (/resume).
  • Permission modesread-only / workspace-write / danger-full-access, switchable live (/permissions).
  • Plan mode — toggle plan-first behavior (/plan).
  • Compaction — shrink the conversation on demand (/compact).
  • Trajectory — a filtered event timeline of the whole session (/trajectory).
  • Diagnostics — environment + model-catalog health check (/doctor).
  • Scrollback — mouse wheel / PgUp / PgDn, with ↑ N indicator.
  • Markdown rendering — fenced code blocks, inline code, bold, headings, lists.
  • Cross-platform — macOS and Linux terminals (iTerm2, Terminal.app, kitty, alacritty, xterm, …).

---

Install

dsh-tui is a DeepSeek Harness plugin. You need the official dsh installed first:

# 1. Install the official DeepSeek Harness (once)
npx @deepseek-ai/dsh web --help   # or: npm i -g @deepseek-ai/dsh

# 2. Create a `tui` profile and add this plugin
dsh plugin --profile tui add @nexlineai/dsh-tui

# 3. Run it
dsh --profile tui

The profile initializes on first use; dsh-tui composes over the same @deepseek-ai/dsh-base core as the web UI.

Model key

export DEEPSEEK_API_KEY=sk-...

The TUI uses the same credential sources as the harness (DEEPSEEK_API_KEY / settings.yaml).

---

Demo

A representative session transcript — streaming answer, reasoning block, tool card, trajectory, doctor, model picker — is in [demo/session.md](./demo/session.md).

---

Commands

| Command | Description | |---|---| | /help | list commands | | /model | list models + reasoning efforts; ● active marks current | | /model <id> [effort] | switch live, e.g. /model deepseek-v4-pro high | | /resume | list persisted sessions (id, title, date) | | /resume <n> | continue that session with full history | | /permissions | list permission presets | | /permissions <name> | switch (read-only / workspace-write / danger-full-access) | | /plan | toggle plan mode | | /compact | compact the conversation now | | /trajectory | show the session event timeline | | /settings | one-screen summary of model/permission/plan/stream state | | /doctor | environment + model catalog health check | | /version | dsh-tui + runtime versions | | /status | session, cwd, event and turn counts | | /reasoning on\|off | show/hide the thinking display | | /stream on\|off | toggle live token streaming | | /clear | clear the conversation area | | /exit (or q, quit, :q, Ctrl+D) | leave |

---

Keybindings

KeyAction
Entersubmit
/ prompt history
/ move cursor
Home / End (Ctrl+A / Ctrl+E)line start / end
Backspace / Deletedelete
Ctrl+U / Ctrl+Kkill to start / end
Ctrl+Wdelete previous word
Escclear the input line
Tabcomplete a slash command
Ctrl+Cclear (empty → exit)
Ctrl+Dexit
PgUp / PgDn / mouse wheelscroll the conversation

---

Layout

┌ DeepSeek Harness TUI            deepseek-official/deepseek-v4-pro · session a1b2c3d4 ┐
│ ─────────────────────────────────────────────────────────────── 15:35:34 · 2s · 12→45 tok │
│ ❯ list the files                                                                     │
│ ✻ thinking                                                                            │
│   · a simple listing; I'll use bash ls                                                 │
│ This is the repository root — a plugin-based agent harness with pnpm workspaces...    │
│ ┌─ ⏱ bash ──────────────────────────────────────────────────────────────────────────┐ │
│ │ $ ls -la                                                                           │ │
│ └─ ✓ done ───────────────────────────────────────────────────────────────────────────┘ │
│ ❯ your input                                                                          │
│ ~/project · stream on · 1 turns · 500→120 tok                              ↑ /help  │
└───────────────────────────────────────────────────────────────────────────────────────┘

---

How it differs from the web UI

Same agent, same permissions, same sessions — but everything happens in your terminal. dsh-tui is aimed at people who live in a terminal, want a keyboard-first flow, or run the harness over SSH / inside a multiplexer like herdr or tmux.

Why a separate CLI?

The official dsh ships a web UI and a one-shot headless mode — no interactive terminal agent. dsh-tui fills that gap as an installable plugin, without forking the runtime.

---

Contributing

Bug reports, terminal-compatibility notes, and PRs are welcome — see [CONTRIBUTING.md](./CONTRIBUTING.md). For rendering issues, please include your terminal, $TERM, and the output of /version and /doctor.

License

MIT — see [LICENSE](./LICENSE). Not affiliated with DeepSeek AI; the runtime it drives is MIT-licensed upstream.