Introduction¶
DeepSeek Harness (DSH) adopts a plugin-based architecture. In Web profile development scenarios, developers often need to frequently switch between the browser interface and the local terminal to manage project files, control Docker containers, and start/monitor Vite development servers. The following client plugin is intended to integrate file browsing, Docker and Vite project management, and terminal capabilities into the session view of the DSH Web UI, reducing context switching.
What Is This¶
wuyh/dsh-workspace-toolbox is a DSH Web UI plugin. After installation, a new “Toolbox” tab appears after the “Trace” tab in the session view bar. This tab contains four modes: Files, Docker, Vite, and Terminal, providing integrated workspace management capabilities.
Core Features¶
File Browsing¶
- Browsing and Navigation: Uses breadcrumb navigation, displaying one directory level per view, with support for clicking into a directory or going up.
- Search: Supports workspace-wide search and automatically ignores noisy directories such as
node_modules. - Preview: Supports VS Code-style tabbed preview (up to 10 tabs), with syntax highlighting (text), Markdown rendering, image display, and binary file notifications.
- Security Limits: Reads only files within the workspace boundary; writing is not supported; the browser only receives relative paths and minimal metadata.
Docker Management¶
- Connection Methods: Supports local Unix socket connections; supports connecting to remote servers over SSH tunnels.
- Resource Management: Provides image pulling, listing, and deletion, as well as container listing, log viewing, and start/stop/delete.
- Build and Run: Supports linked building and running of Dockerfile projects inside the workspace, with configurable ports and environment variables.
- Long-Running Tasks: Provides progress feedback for long-running tasks such as pulling, building, and running.
Vite Project Management¶
- Automatic Scanning: Automatically scans workspace projects that include the
vitedependency or avite.config.*file. - Process Management: Supports starting (running
pnpm run dev) and stopping, and automatically parses ports and access URLs. - Logs and Access: Provides real-time log output and supports opening the page in a browser with one click.
Terminal¶
- Multi-Terminal Support: Supports SSH server terminals (with PTY), entering Docker container terminals (
docker exec), and local shells. - Rendering: Based on
xterm.js, providing real terminal rendering, automatic size adaptation, and scrollback.
Installation and Activation¶
This plugin requires DSH 0.1.0-rc.6 or a compatible version, and pnpm must be installed in the environment.
- Run the installation command:
dsh plugin --profile web add https://github.com/wuyh/dsh-workspace-toolbox/archive/refs/tags/v0.3.0.tar.gz
-
Restart the Web Profile:
After installation, restart the Web profile to make the plugin take effect (for example, rundsh web). -
Enable the plugin:
In the session view bar of the DSH Web UI, click the new “Toolbox” tab.
Typical Usage¶
- File Operations: In the “Toolbox”-“Files” tab, use breadcrumb navigation to enter project directories, use the search box to find files, or double-click a file to preview code and Markdown documents in tabs.
- Docker Development: In the “Toolbox”-“Docker” tab, connect to a remote Docker environment over an SSH tunnel, pull images, build and run containers, and monitor container status via the log panel.
- Vite Development: In the “Toolbox”-“Vite” tab, view the list of automatically scanned projects, start the development server with one click, check real-time output in the log panel, or jump directly to the page.
Applicable Scenarios and Notes¶
- Pure Client-Side Changes: Pure client-side changes in the plugin support hot module replacement (HMR) and do not require a restart; host-side changes require restarting the profile.
- Security: SSH passwords and private keys are stored only in runtime memory and must be re-entered after a restart. The browser only receives relative paths.
- Permissions and Dependencies: The plugin runs with the permissions of the current DSH process. If installing from git source, ensure that the pnpm version is compatible; if pnpm ≥ 10,
allowBuildsmay need to be configured in the profile’spnpm-workspace.yamlto allow build scripts to run.
Conclusion¶
dsh-workspace-toolbox integrates file management, container operations, and frontend development tools into a single interface, simplifying DSH-based workflows. Developers can complete most development and operations tasks without leaving the Web UI.
- Directory Page: https://www.skillhub.cn/plugins/wuyh/dsh-workspace-toolbox
- GitHub: https://github.com/wuyh/dsh-workspace-toolbox