omdsh-dev/dsh-open-in-vscode 预览 preview

omdsh-dev/dsh-open-in-vscode

插件Plugin 原生Native ⭐ 54 MIT cat_label.dshcat_label.dsh

直接从Web GUI在VS Code中打开DeepSeek Harness工作区目录。

项目介绍Project Overview

DSH 插件 dsh-open-in-vscode 为 DeepSeek Harness 侧边栏的每个工作区行添加"在 VSCode 中打开"菜单项。客户端通过 sidebar.workspaces.row-menu 槽位渲染本地化菜单行,点击后通过 Typert Remote 调用宿主进程。宿主端以分离方式启动配置的编辑器 CLI(默认 code <路径>),编辑器独立于服务器运行。需 DSH 0.1.0-rc.6 或更新版本,VS Code 或其他编辑器 CLI 须在 PATH 中。注意:插件仅打开用户已在 DSH 中打开的目录,不会读写文件。

The dsh-open-in-vscode plugin adds an "Open in VS Code" menu item to every workspace row in the DeepSeek Harness sidebar. The client renders a locale-aware menu entry via the sidebar.workspaces.row-menu slot, then invokes the host over Typert Remote. The host spawns the configured editor CLI (default code <path>) detached, so the editor runs independently of the server. Use it to jump from DSH workspace listings straight into VS Code. Requires DSH 0.1.0-rc.6 or newer and a working editor CLI on PATH. Note: the plugin only opens directories the user has already opened in DSH; it does not read or write files.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add https://github.com/omdsh-dev/dsh-open-in-vscode/archive/refs/tags/v0.1.6.tar.gz

omdsh-dev/dsh-open-in-vscode 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-open-in-vscode

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.

What it does

  • The client half uses the harness's sidebar.workspaces.row-menu slot when available 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.
  • The row's click closes the menu and calls the host over the strict Typert Remote openInVscode/open, passing the workspace directory.
  • The host half spawns the configured editor CLI on that directory (code <path> by default), detached, so the editor outlives the server.

Prerequisites

  • VS Code, or an editor CLI on PATH. On Windows, the default code command also discovers standard per-user and system VS Code installations. On macOS, install the VS Code shell command or set the plugin command to any editor that opens a directory).
  • DSH 0.1.0-rc.6 or newer. The plugin uses the native Workspace row-menu extension point where present and a compatibility adapter on rc.6.

Install

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.gz

Restart the web server (kill -TERM <pid> 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 0

Configuration

Deployment-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.

Capability boundary

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.

Development

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.

License

MIT

上一个 Prev local-shell-mcp 下一个 Next dsh-balance-plugin