DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-cockpit-worktree-open-shim

p

dsh-cockpit-worktree-open-shim

Manifest valid

Deployment-local adapter from dsh-cockpit-bridge remote editor opening to the Worktree Session open-handler registry

UI (client)hasBundlePatch

dsh-cockpit-worktree-open-shim

English · 简体中文

Without this shim, the "open in editor" action of a Worktree Session on a remote machine falls back to a local vscode://file/ link that cannot reach the worktree. The shim hands the worktree path to dsh-cockpit's remote-editor capability so the editor opens on the right machine.

A deployment-side adapter: it registers the remote-editor open capability exposed by dsh-cockpit-bridge into the generic open-behaviour extension point of dsh-worktree-session.

dsh-cockpit-bridge ──provide──▶ shim ──register──▶ dsh-worktree-session
  knows nothing about ws                     knows nothing about cockpit

Install

Install it next to both ends: dsh-cockpit-bridge >= 0.4.0 (distributed as a GitHub Release tarball) and dsh-worktree-session.

dsh plugin --profile web add https://github.com/prgrmrwy/dsh-cockpit/releases/download/dsh-cockpit-bridge-v0.6.4/dsh-cockpit-bridge-0.6.4.tgz
dsh plugin --profile web add dsh-cockpit-worktree-open-shim

Then restart DSH web. Uninstall with dsh plugin --profile web remove dsh-cockpit-worktree-open-shim.

Why a separate package

Worktree Session is a generic plugin and must not know about dsh-cockpit; dsh-cockpit-bridge must not know its concrete consumers either. All coupling between the two ends lives only in this shim, which keeps independent upgrades and complete removal possible.

Behaviour

  • No top-level inject; at runtime it watches both services appearing and disappearing, so any load order works.
  • It reads the bridge service by the full dotted name ctx.get('cockpitBridge.editorOpen'); ctx.get('cockpitBridge').editorOpen is forbidden.
  • It forwards only the absolute worktree path, unchanged, to the bridge: no validation, no rewriting, no state, no retries.
  • If either end is missing or unloaded, the shim is inert; Worktree Session automatically falls back to its default vscode://file/ behaviour.

Prerequisites and known limits

  • Requires dsh-cockpit-bridge >= 0.4.0 (this repository currently pins 0.6.4); an older bridge does not provide the service and the shim silently does nothing.
  • The host machine needs VS Code Remote-SSH installed and must be able to reach the target device through the SSH config alias registered for the Cockpit device.
  • Without Remote-SSH the URI may be silently dropped; a directory name containing a dot may be treated as a file by the VS Code URI handler.

Removal

This shim connects two ends: the cockpitBridge.editorOpen service of dsh-cockpit-bridge and the open-behaviour extension point (worktreeSession.openHandler) of dsh-worktree-session. Neither side references the other, so the shim is the only place the two meet.

It can be removed at any time, and it should be removed once you stop using dsh-cockpit remote editors, or when either end ships the integration natively. Delete or disable cockpit-worktree-open-shim in dsh.yaml, run dsh build, and restart DSH web. After removal:

  • Worktree Session returns to the default vscode://file/ behaviour;
  • existing dsh-cockpit-bridge features such as session read-confirmation and the pending snapshot are unaffected;
  • neither end needs any source or configuration migration.

Source and license

Maintained in ohmydsh under packages/cockpit-worktree-open-shim; dsh-cockpit-worktree-open-shim is the publishing mirror. Released under the MIT License. Issues and pull requests are welcome at https://github.com/prgrmrwy/dsh-cockpit-worktree-open-shim/issues.

Comments

Loading…

Similar plugins

dsh-sidebar-remote

by zijun-T

Remote workspace support for dsh-better-sidebar — SSH file tree, editor, terminal, git, upload/download and preview over SSH.

Manifest valid

★ 0

MIT

TypeScript

Sep 9, 2026

dsh plugin --profile web add dsh-sidebar-remote

by ChuanTianML

Open DeepSeek Harness workspaces in detected or configured local editors

UI & ExperienceTerminal & ClientsManifest valid

★ 0

MIT

JavaScript

Aug 23, 2026

dsh plugin --profile web add dsh-open-with

by dingguangyi0

Migrate WorkBuddy sessions, memories, MCP drafts, and automation tasks into DSH — preview-first, read-only on the source

Manifest valid

★ 0

TypeScript

Sep 12, 2026

dsh plugin --profile web add dsh-plugin-migration-workbuddy

by NevermindZZT

Open a DeepSeek Harness workspace directory in a configurable launcher (VS Code / file explorer / Windows Terminal / any CLI) from the web GUI.

Manifest valid

★ 0

MIT

JavaScript

Sep 7, 2026

dsh plugin --profile web add dsh-open-in

by Snowy117

Load each workspace's direnv environment into every DeepSeek Harness command. 让 DSH 每个工作区的子进程自动带上该工作区的 direnv 环境。

Manifest valid

★ 0

MIT

TypeScript

Oct 3, 2026

dsh plugin --profile web add dsh-direnv

by zhang-guo-wen

Git worktree isolation for DeepSeek Harness: create a worktree, register it as its own project, and start the session inside it

Manifest valid

★ 0

Apache-2.0

TypeScript

Oct 22, 2026

dsh plugin --profile web add @guowenzhang/dsh-worktree