dsh
OpenPetsHQ/openpets将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
Open a workspace directory in VS Code straight from the DeepSeek Harness web GUI: every real Workspace row in the sidebar gains an Open in VSCode row inside its … overflow menu.
sidebar.workspaces.row-menu slot whenavailable and falls back to a scoped compatibility adapter on the public DSH 0.1.0-rc.6 build. Both paths render the same locale-following menu row — 在 VSCode 中打开 under the Chinese locale, Open in VSCode under English.
Remote openInVscode/open, passing the workspace directory.
(code by default), detached, so the editor outlives the server.
code commandalso discovers standard per-user and system VS Code installations. On macOS, install the or set the plugin command to any editor that opens a directory).
0.1.0-rc.6 or newer. The plugin uses the native Workspace row-menuextension point where present and a compatibility adapter on rc.6.
Add the plugin to your web profile (this runs pnpm inside the profile and reconciles the bundle layer):
dsh plugin --profile web add https://github.com/omdsh-dev/dsh-open-in-vscode/archive/refs/tags/v0.1.6.tar.gzRestart the web server (kill -TERM and wait for exit — never kill -9, it tears the session zstd log mid-frame), then refresh the page. The host plugin mounts under dsh-open-in-vscode; the client bundle is served at /plugins/dsh-open-in-vscode/client.js.
The versioned tarball replaces older pinned commits without running a git prepare script. Confirm the installed version with:
dsh plugin --profile web list dsh-open-in-vscode --depth 0Deployment-varying choices are validated Config fields, changeable from cordis.yml:
Key · Default · Meaning command · code · Executable that opens a directory. The default also probes standard Windows VS Code install locations; other commands resolve through PATH. args · [] · Extra arguments passed before the directory path.
A missing executable fails loud with a fix hint; relative paths are refused.
Action · Runs where · Requires approval Open a workspace directory in the editor · Host (user gesture) · No — the user clicked the row Anything else · — · The plugin has no tools, no settings namespace, and no model-facing surface
The plugin adds no tools, no skills, and no settings; it only opens the directory the user already opened in DSH. It never reads or writes files itself.
pnpm install
pnpm run check # typecheck + lint + test + build; commit lib/ (file: installs run without a build)Layout: the wire contract lives in one module (src/contract.ts) shared by the host manifest (src/typert.ts) and the client contribution (src/client/remote.ts); the harness owns the slot declaration and the Menu node-entry kind this plugin composes through.
MIT