Preface¶
In DSH’s “everything is a plugin” philosophy, the Web profile can extend the interface and agent tool capabilities through plugins. If a team already has an Open Terminal server and wants the DSH workspace in the browser to provide terminals and file management directly, while also allowing DSH agents to invoke command and file tools, here we introduce dsh-open-terminal. It should be noted that the community directory is an independent site, has no official affiliation with DeepSeek / Huanfang, and should not be interpreted as an official app store.
What is this¶
dsh-open-terminal is a DSH Web profile plugin used to add an interactive terminal, file manager, and open_terminal_* tools for each workspace in the DSH Web profile. It connects to an existing Open Terminal server and does not require MCP server selection or a separate MCP configuration. The GitHub repository is https://github.com/d3cker/dsh-open-terminal, and the license is MIT.
Core Features¶
- Interactive Terminal: WebSocket-based xterm.js terminal with scrollback support.
- Floating Window: The terminal opens as a floating window above the chat; the chat remains interactive; close only via the top-right
×button. - Responsive Layout: The window scales with the browser viewport and uses the available screen area on narrow screens.
- File Manager: Browse directories, upload multiple files, download files, delete files, edit text files, preview images or PDFs.
- Agent Tools: DSH agents can manage processes and files via
open_terminal_*tools; no separate MCP configuration needed. - Profile-level Availability: Sidebar buttons and tools apply to all workspaces using this DSH profile.
- Credential Protection: The Open Terminal API key is stored in DSH Credentials and not exposed to the browser.
Agent tools can:
- list, start, inspect, interact with, and stop processes;
- list, read, write, replace, search, and inspect files.
Installation and Enablement¶
Requirements before installation:
- DeepSeek Harness
0.0.1-rc.2, or a compatible version; - Node.js
^22.19.0or>=24; pnpmrequired when building from source;- A running Open Terminal server and its API key;
- A DSH Web profile, default named
web.
Install the pre-built package:
dsh plugin --profile web add "https://github.com/d3cker/dsh-open-terminal/releases/download/v0.1.4/dsh-open-terminal-0.1.4.tgz"
You can also use pnpm to execute the same installation command:
pnpm dsh plugin --profile web add "https://github.com/d3cker/dsh-open-terminal/releases/download/v0.1.4/dsh-open-terminal-0.1.4.tgz"
Here we use the release asset dsh-open-terminal-0.1.4.tgz. The repository URL and the GitHub auto-generated Source code archive contain source code, and installing might require permissions to run build scripts, so it is recommended to use the release asset during installation.
After installing or updating, restart the DSH Web profile, then refresh the browser. The plugin will affect all sessions and workspaces using the same profile. If other DSH profiles also need to use it, they need to be installed separately.
Verify profile configuration:
dsh --profile web --dump-config
The output should include:
- id: open-terminal
name: dsh-open-terminal
Build the installation package from source:
pnpm install
pnpm run check
pnpm pack
pnpm pack generates a file named like dsh-open-terminal-<version>.tgz based on the package name and the version field in package.json.
View package contents without extracting:
tar -tzf dsh-open-terminal-<version>.tgz
Typical Usage¶
Configure OpenTerminal¶
- Open
Settings → Plugins → OpenTerminalin DSH Web. - Set the
OpenTerminal URL; the packaged default ishttp://192.168.0.74:7000, change it to your Open Terminal server address if different. - Keep the credential reference as
OPEN_TERMINAL_API_KEY, or enter another DSH credential reference. - Enter the API key in the write-only
API keyfield. - Optionally adjust request timeout, tool-output limit, upload/proxy body-size limit; the default upload limit is 8 MiB, max 64 MiB.
- Click
Save settings, then clickTest connection.
The settings page must be opened via a loopback DSH address, for example:
http://127.0.0.1:3080
DSH does not allow remote pages to modify global settings or credentials.
Use the Terminal¶
Click OpenTerminal in the left sidebar. The terminal opens in a floating window to the right of the chat.
- Use the mouse wheel or trackpad to scroll terminal output.
- The chat remains usable while the terminal is open.
- You can switch between
TerminalandFileswithout closing the window. - Close the window using the
×button in the top-right corner.
The window scales with the viewport; on narrow screens, it uses the available screen area, and the terminal and controls remain accessible.
Use the File Manager¶
Open the Files tab in the OpenTerminal window.
Up: Go to the parent directory.Refresh: Reload the current directory.Upload…: Select one or more files to upload.Download: Save the selected file locally after selection.- Select a text file to edit, then
Save. - Select an image or PDF to preview.
Delete: Delete the file with a confirmation prompt.
File operations happen on the machine or container running Open Terminal, not on the machine running the browser.
Agent Invocation¶
DSH agents automatically gain the open_terminal_* tools. They can:
- list, start, inspect, interact with, and stop processes;
- list, read, write, replace, search, and inspect files.
No MCP server selection or separate MCP configuration is required.
Applicable Scenarios and Notes¶
Suitable for users who already have an Open Terminal server and want to perform terminal operations and file management directly within a DSH Web workspace, while also allowing DSH agents to invoke the corresponding tools.
Precautions before use:
- The Open Terminal API key allows executing commands and accessing files on the Open Terminal server.
- It is recommended to use a trusted, isolated Open Terminal server.
- Restrict access to the DSH Web to trusted users.
- When connections span untrusted networks, use TLS or VPN.
- The plugin runs with the permissions of the current DSH process; source code and license should be checked before installation.
- Currently verified version is
0.1.4, license isMIT. - The community directory in the DSH plugin ecosystem is an independent site, has no official affiliation with DeepSeek / Huanfang; do not interpret it as an official app store.
Update and Uninstall¶
To update, run the corresponding installation command from the current README, then restart the DSH Web profile. For example, the installation package provided in this document is:
dsh plugin --profile web add "https://github.com/d3cker/dsh-open-terminal/releases/download/v0.1.4/dsh-open-terminal-0.1.4.tgz"
Uninstall:
dsh plugin --profile web remove dsh-open-terminal
Restart the DSH Web profile after removing the plugin.
Links¶
GitHub Repository:
https://github.com/d3cker/dsh-open-terminal
Community Directory: Independent directory page URL not confirmed, so no link is provided in this article; if browsing the plugin page is needed, please confirm via the GitHub repository README and Release assets first.