relay-dsh-plugin-terminal
Provider-neutral interactive terminal bottom-view plugin for DeepSeek Harness Workbench.
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 24, 2026
- Updated
- Aug 25, 2026
Introduction
Relay DSH Terminal Plugin
English | 中文
npm package: relay-dsh-plugin-terminal
· All Relay DSH plugins
Real npm-installed demo on official DSH: Terminal starts a live workspace shell and executes a command below the conversation. Watch the H.264 MP4.
relay-dsh-plugin-terminal adds an xterm-based bottom terminal panel to the
official DeepSeek Harness
(DSH) Web UI. It provides the browser terminal surface, bounded scrollback, and a
public provider registry for execution backends.
The plugin uses relay-dsh-plugin-workbench as its panel host. Install
Workbench in the same DSH Profile.

The screenshot was captured from official DSH 0.1.1-rc.2 with Workbench,
Files, and Terminal installed. Terminal can load without a provider and shows a
clear provider-unavailable state; install a compatible backend when you want a
live shell.
Do I Need This Plugin?
Install this plugin when you want to:
- add a terminal panel to official DSH Web through the plugin system;
- use a compatible execution backend, such as
relay-dsh-plugin-codex, as the terminal transport; - develop another backend that contributes terminal sessions through the public
ctx.relayTerminalProvidersregistry.
Terminal is provider-neutral. If you install only this package, DSH can load the panel but cannot start a live shell until another plugin registers a terminal provider.
Quick Start With Official DSH
The current development build has been validated with:
- DeepSeek Harness
0.1.1-rc.2, commitb150a551 - Node.js 22.13 or newer
pnpmavailable onPATH
DSH is a developer preview and may introduce compatibility-breaking changes.
1. Install
Stop a running DSH Web process before changing Profile plugins.
GitHub development build
Use this when you want the latest unreleased development build:
pnpm dlx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-workbench#main github:yangbobo2021/relay-dsh-plugin-terminal#main
For an interactive terminal through Codex, install both development plugins:
pnpm dlx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:yangbobo2021/relay-dsh-plugin-workbench#main github:yangbobo2021/relay-dsh-plugin-terminal#main github:yangbobo2021/relay-dsh-plugin-codex#main
For a reproducible install, replace each #main with a tag or full commit SHA.
The Workbench package is listed explicitly because DSH's pnpm profile blocks
GitHub packages as transitive dependencies.
npm release
Install the published packages with:
pnpm dlx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add relay-dsh-plugin-workbench@latest relay-dsh-plugin-terminal@latest
For an interactive terminal through a published Codex plugin:
pnpm dlx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add relay-dsh-plugin-workbench@latest relay-dsh-plugin-terminal@latest relay-dsh-plugin-codex@next
2. Start or restart DSH Web
pnpm dlx @deepseek-ai/dsh@0.1.1-rc.2 web
If you already have a dsh command installed, dsh web is equivalent. Restart
DSH Web after installing, updating, or removing plugins.
3. Open the terminal panel
In DSH Web:
- Open the DSH URL printed by the terminal.
- Complete the first-launch screen if DSH shows one.
- Create or select a conversation that has a workspace directory.
- Open the Workbench bottom panel and choose
Terminal. - Start a terminal session.
If no compatible terminal provider is installed, the panel reports that no interactive terminal provider is available.
What It Provides
- A
Terminalview in the Workbench bottom panel - An xterm-based browser terminal surface
- Bounded scrollback on the Host side
- A versioned
ctx.relayTerminalProvidersregistry - Provider-neutral spawn, input, resize, output, and termination wiring
- Composition with the shared Workbench shell
This package does not spawn shells by itself. Shell execution is supplied by a provider plugin, currently including the Relay Codex DSH plugin.
Plugin Boundary and Relay
This plugin owns only terminal presentation and provider registration. It does not depend on Claude, Relay Events, or any private Relay runtime. Codex is an optional provider plugin, not a hard dependency of Terminal.
The repository is maintained as part of Relay, an open-source project for long-running agent work, external-event delivery, reusable DSH workbench views, and multiple conversation backends.
Update, Inspect, or Remove
Stop DSH Web before changing plugins, then restart it afterward.
dsh plugin --profile web why relay-dsh-plugin-terminal
dsh plugin --profile web update relay-dsh-plugin-terminal
dsh plugin --profile web remove relay-dsh-plugin-terminal
For GitHub installs, pnpm records the package source inside the DSH Profile.
Run dsh plugin --profile web why relay-dsh-plugin-terminal to inspect it.
Troubleshooting
The Terminal panel does not appear
Restart DSH Web after installing the plugin. Then inspect the Profile:
dsh plugin --profile web why relay-dsh-plugin-terminal
If the package came from GitHub main, try pinning a known commit SHA.
The panel says no interactive terminal provider is installed
This means Terminal loaded correctly, but no backend plugin registered a PTY
provider. Install a compatible provider such as relay-dsh-plugin-codex.
A terminal cannot start because no workspace is available
Create or select a DSH conversation that has a workspace directory. Terminal sessions start inside the active workspace.
Installation says pnpm is missing
Install pnpm using the official guide: https://pnpm.io/installation.
Development
git clone https://github.com/yangbobo2021/relay-dsh-plugin-terminal.git
cd relay-dsh-plugin-terminal
npm install
DSH_ROOT=/path/to/deepseek-harness npm run verify
npm pack
npm run verify runs type checking, tests, and the production build against an
official DSH checkout.
Feedback
Report bugs and feature requests in this repository's issue tracker: https://github.com/yangbobo2021/relay-dsh-plugin-terminal/issues
