All plugins

DSH / BUNDLE / CLIENT-UI

dsh-remote-workstation

v0.6.0MingTXin / dsh-remote-workstation88f3116113

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-remote-workstation

Mount remote SSH/SFTP servers as DeepSeek Harness workspaces: browse, read, write and edit remote files, run remote commands, and optionally route the agent's shell commands to the server.

README / EN

Package documentation

Registry summary

Mount remote SSH/SFTP servers as DeepSeek Harness workspaces: browse, read, write and edit remote files, run remote commands, and optionally route the agent's shell commands to the server.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **Refresh is polled, not pushed** — SFTP has no change feed, so remote `watch` re-reads file attributes every `watchIntervalMs` (2 s default). A change shows up one interval later; the cost is one `stat` per watched path per interval, not a full directory walk. A file's own edits (from any client) are detected by size/mtime; a directory watch notices entries added or removed, while in-place content edits of a file you never opened are only noticed once it is opened or written through DSH. - `@`-file mentions and turn diffs still use host-local paths (upstream boundary: DSH's `docs/subsystems/ssh.md` notes that web workspace views which assume host filesystem access need separate integration). Use `remote_git` / `remote_exec` to inspect the real repository. - Built-in `glob` / `grep` run the host ripgrep binary, so they see the empty anchor directory rather than remote files. Use `remote_search` (or `remote_exec` with `rg`/`find`) instead. - SFTP `mtime` has one-second resolution; the version token combines device, inode, size and mtime, so a rewrite that keeps size and mtime within the same second is not distinguishable. - Remote shell routing covers `bash`/`pwsh` only: the interactive `terminal` (PTY), built-in `glob`/`grep`, LSP, `@` mentions and turn diffs stay host-local. A remote command also loses the host sandbox, which is why it requires a `danger-full-access` call.