Introduction¶
The plugin ecosystem of DeepSeek Harness allows users to extend the functionality of the Web UI. When developing agents or handling complex tasks, processes started by the model, such as background shells and subagents, are often invisible in the interface and difficult to manage or monitor. This plugin registers a dedicated tab in the Web UI, turning these background and foreground processes into a visualized list, and providing real-time status, output viewing, and process control.
What This Is¶
This is a plugin designed for the DeepSeek Harness Web UI, maintained by bbboy31. Its core purpose is to turn commands executed by the model, including background and foreground commands, into a visualized terminal view, with process management, status monitoring, and one-click termination.
Core Features¶
This plugin provides the following verified features:
- A real tab: The plugin is registered through the official
conversation.viewseat, as a sibling node to Chat / Trajectory, with selection managed by the framework. - Live tab label: The tab text is reparsed based on the
jobsBySessionmirror pushed by the host, displaying the number of background shells and subagents running in the current session. - Chinese intent titles: Commands are mapped to short Chinese phrases using a local heuristic dictionary (for example,
cdis mapped to “打开文件夹”), while subagents are displayed as “子代理任务”. - Foreground command capture: Even
pwsh/bashcalls that complete at the millisecond level are recorded and displayed together with background tasks. - Collapsible body: Commands are shown as a single line of truncated text, and can be expanded by clicking to view the full content.
- Live output: Expanding a background row opens a dark scrolling echo provided by a private tee, supporting automatic follow of the latest output.
- Timing: Displays the start time and an elapsed time updated every second (seconds -> min:sec -> h:min).
- One-click termination: Kills jobs through a Node-side HTTP route.
Install and Enable¶
Add the plugin using the official install command:
dsh plugin --profile web add github:bbboy31/dsh-terminal-tabs
After installation, refresh the Web page to see the new Terminals tab.
Typical Usage¶
After opening the Terminals tab, you will see a management page where each line represents a running command. The page includes:
* A Chinese purpose title.
* A collapsible one-line command body.
* A start clock plus an elapsed time updated every second.
* A live output pane.
* A termination button.
Use Cases and Notes¶
This plugin is suitable for scenarios where you need to centrally manage and monitor processes in the Web UI.
Notes:
* Permission limitations: The plugin runs with the permissions of the current dsh process.
* Startup timing: Background jobs started before the wrapper is mounted have no captured output.
* Session limitations: Persistent PTY terminal sessions (ctx.terminals) do not go through this channel; cross-session requests are rejected.
* Uninstall cleanup: Uninstallation removes the routes, tabs, and stylesheets, leaving no residue.
* Development tips: The loader caches imported modules by package name. Editing Node-side code requires renaming the package or restarting the process; editing client-side code only requires refreshing the page.
Closing¶
Through visualization and centralized management, this plugin lowers the barrier to monitoring and debugging processes in the Web UI.
Plugin directory: https://www.skillhub.cn/plugins/bbboy31/dsh-terminal-tabs
GitHub: https://github.com/bbboy31/dsh-terminal-tabs