Introduction¶
The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin”. By default, workspaces, terminals, and agents run locally. When you need to migrate the development environment to a remote server, omdsh-remdev provides a standardized connection method that keeps remote workspaces consistent with local workspaces in both operational logic and UI behavior.
Plugin Introduction¶
omdsh-remdev is a client plugin maintained by omdsh-plugins. Its core purpose is to connect DSH workspaces to an SSH server. Once the connection is established, the workspace files, terminal, conversations, and agents all run on the server, including the “Work” mode.
Core Features¶
The plugin provides the following enhancements across UI interaction and underlying services:
- Remote Connection Entry: At the bottom of the “Workspaces” sidebar section, a “Remote connect” button appears.
- Remote Development Window: Open it with a shortcut or button to manage server lists, configurations, and real-time logs.
- Plugin Center Card: Displays the server list, tunable parameters, and credential management in the DSH plugin center.
- Session Management: Adds an “On Server” button to the session header for quickly switching to the remote window; supports listing sessions on the server and resuming conversations.
- Skill Synchronization: Syncs the skill directories (
.dsh/skills,.agents/skills) of the mounted project to local via SFTP, enabling agents to access remote skills. - Shortcut Command: Registers the
remdev.connectshortcut command, with the default combinationCmdOrCtrl+Shift+C. - Settings Namespace: Provides the
omdsh-remdevsettings namespace for storing server and credential information. - Indicator: Remote workspace rows display a globe icon to distinguish them from local workspaces.
Usage¶
- Open the Remote Window: Use the shortcut
CmdOrCtrl+Shift+C, or click the “Remote connect” button at the bottom of the sidebar. - Select a Host: In the popup window, select the SSH server to connect to.
- Configure Workspace: Select a folder on the server; the plugin automatically creates a “regular workspace mirror” for that directory.
- Sync Skills: After the connection is established, skill files in the project are automatically mounted locally via SFTP.
Technical Implementation Details¶
- Regular Workspace Mirror: The plugin creates a real, empty mirror directory at
$DSH_HOME/remotes/<server>/<project>locally. This directory acts as a placeholder, allowing DSH components such as the file system and session storage to handle the remote connection as if it were a local directory. - Skill Provider: The plugin registers a service provider named
remdev. When an agent needs to read files or start processes, it first consults this service. If the current path belongs to a mounted remote project, it reads skill files (.dsh/skillsor.agents/skills) via SFTP. - Resource Access Limitation: The
resourceBasein skills is defined as “opaque” rather than a directory. This means that skill templates and scripts reside on the server and cannot be read directly by local tools. Agents need to use these resources through the remote terminal or file panel.
Notes¶
- System Requirements: The plugin requires Node.js version
^22.19.0 || >=24.0.0andpnpm@11.7.0to run. - Change Watching: Remote directory changes are not monitored in real time. If files or skills on the server change, you need to manually refresh or reconnect in the plugin center to see updates.
- Resource Access: Because
resourceBaseis opaque, local agents cannot directly read remote skill template files and must access them through remote tools. - License: This plugin uses the MIT license.
Conclusion¶
This plugin seamlessly integrates SSH remote development capabilities into DSH, making it possible to maintain files on remote servers, run terminals, and execute agent tasks.
- Plugin Directory: https://www.skillhub.cn/plugins/omdsh-plugins/omdsh-remdev
- GitHub Repository: https://github.com/omdsh-plugins/omdsh-remdev