dsh-tui
The terminal-native frontend for the DeepSeek Harness plugin ecosystem.
Install
dsh plugin --profile tui add @riesbri/dsh-tui
dsh --profile tui
See Install for requirements, verification, the dshtui launcher, and source installs.
[!WARNING]
Tool permissions and sandbox policy come from the active Harness profile. In a standard setup, ordinary tool calls can run in the working folder without review. Read Permissions and the sandbox before using it on code you care about.
Why dsh-tui?
Harness plugins publish capabilities; dsh-tui presents supported capabilities natively in the terminal. It runs in-process and consumes Harness contracts rather than creating separate provider runtimes, state stores, or policy.
Harness plugin → standard capability → dsh-tui presentation adapter → native terminal UI
Harness owns capabilities, state, runtime, persistence, and policy. dsh-tui owns terminal presentation.
Generic capability integration
dsh-tui prefers standard Harness capability surfaces over provider-specific implementations. This boundary guides both current presentations and future work, from Work and session projections to the ctx.sessionQuery session browser, the /connect provider browser over ctx.llm, ctx.settings, ctx.credentials, and ctx.authorization, and on to planned attachments, instead of becoming a collection of separate engines.
It ships no provider list and no login protocol: /connect offers whatever the mounted adapters declare configurable and runs whatever flows Harness has registered, so the same providers are reachable from the terminal and from the official web Models page, over one settings document and one credential store.
See Architecture for the capability model and current adapter boundaries.
Native terminal by design
Finished output is committed to real terminal scrollback and never rewritten. Normal scrolling, selection, and copying keep working while dsh-tui redraws only a bounded live region. The Harness-independent renderer stays small, dependency-light, and focused on terminal correctness: widths, Unicode, escaping, keys, and safe redraws.
See Design for the terminal invariants and Comparison for the trade-offs.
Use and contribute
Type / to discover the commands and capabilities available in the active Harness profile. Usage covers keys, sessions, commands, and permission guidance.
Contributions are welcome, especially generic capability adapters, terminal robustness, cross-platform verification, Unicode/CJK correctness, sessions, attachments, and focused UX improvements. Start with CONTRIBUTING.md, then read AGENTS.md and the canonical Roadmap.
Documentation
License
MIT. Not affiliated with or endorsed by DeepSeek.