siberiah2o/dsh-plugin-terminal

Bottom terminal panel plugin for DeepSeek Harness (DSH Web GUI)

dsh-plugin-terminal adds a bottom terminal panel to the DeepSeek Harness Web GUI: an interactive multi-tab shell pinned to the bottom of the page (ConPTY on Windows, openpty on Linux/macOS). Multi-tab with new/close/restart; processes keep running on tab switch and live sessions restore after refresh or workspace switch; every terminal remembers its working directory (new tabs start in the current DSH workspace). Copy/paste via mouse select, right-click, Ctrl+V / Ctrl+Shift+C / Ctrl+Shift+V (with an execCommand fallback on insecure remote-http contexts). Includes a configurable toggle shortcut and drag-to-resize grip (120px–78% viewport, remembered).

Web UI Enhancements ★ 6 updated 2026-08-19 ⏳ pending
View on GitHub ↗

Install

dsh plugin --profile web add dsh-plugin-terminal && dsh web

npm package dsh-plugin-terminal 0.2.0 (registry-verified 2026-08-24). Install: dsh plugin --profile web add dsh-plugin-terminal && dsh web. Note: this is a DSH plugin — do NOT use plain npm i dsh-plugin-terminal; it must be installed through dsh plugin to activate. Configuration lives in the DSH settings document ($DSH_HOME/settings.yaml, section terminal), editable from Settings → Plugins; env overrides DSH_PLUGIN_TERMINAL_TOGGLE_SHORTCUT and DSH_PLUGIN_TERMINAL_SHELL_COMMAND take precedence.

Compatibility

DeepSeek Harness (DSH) Web GUI. Interactive multi-tab shell pinned to the bottom of the page; ConPTY on Windows, openpty on Linux/macOS. Terminals survive dsh web restarts: session metadata + scrollback persist to $DSH_HOME/plugin-data/terminal/ and return as 'exited' history tabs. xterm.js 6 with Unicode v11 CJK width tables, 10000-line scrollback; WebSocket duplex channel to the PTY. Tuned for codex/claude-code TUIs (TERM=xterm-256color, truecolor, LANG/LC_ALL en_US.UTF-8). Settings: toggleShortcut (default ctrl+ ), shellCommand (platform default when empty).

Details

Recent updates

The current bilingual README (English primary) documents: install (via dsh plugin, not npm i), features, screenshots, configuration fields and env overrides, running codex/claude code in the panel (TUI tuning, tmux notes, Windows mojibake fixes), and license (MIT).

FAQ

Why can't I install it with npm i dsh-plugin-terminal?
This is a DSH plugin — plain npm install does not activate it. It must be installed through dsh plugin (dsh plugin --profile web add dsh-plugin-terminal) so the profile composition mounts it.
Do terminals survive a dsh web restart?
Yes — session metadata and scrollback are persisted live to $DSH_HOME/plugin-data/terminal/; after a restart they come back as 'exited' history tabs with full-screen replay and one-click restart of the process.
Can I run codex or claude code inside the panel?
Yes — the plugin is tuned for full-screen TUIs: it sets TERM=xterm-256color and COLORTERM=truecolor, UTF-8 locale, and answers OSC 10/11/12 color queries so Codex theme detection works. See the README for tmux and Windows tips.

Alternatives

MAXeaglet/dsh-bash-terminal · TQSY114514/dsh-ui-appearance · nutshallai-tech-mobius

More plugins in Web UI Enhancements

Browse more in Web UI Enhancements

Guides for Web UI Enhancements plugins