DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-workspace-mesh

C

dsh-workspace-mesh

Discovered

Workspace mesh for DeepSeek Harness: declare which workspace lives on which host, dispatch tasks by workspace across paired DSH instances.

dsh-workspace-mesh

npm version CI license: Apache-2.0

Workspace mesh for DeepSeek Harness — the mesh is a grid of workspaces, not of agents.

Not resource remote-access. The agent loop never leaves the machine that owns the workspace; peers only exchange messages. See SPEC.md.

What it does

  • Declares which workspace lives on which machine (assignment.yml).
  • Dispatches a task to the session of the owning workspace and collects the result.
  • Keeps execution local: only workspace/list, workspace/follow, session/create, session/prompt, session/follow are ever used. No bash, no file access.

Requirements

dsh>=0.2.1-rc.2 — declared in dsh.engines and checked when the bundle loads
Node.js>=20
Runtime depsnone; cordis services are detected at runtime (SPEC §9.4)

Install

dsh plugin --profile web add dsh-workspace-mesh

Or load without installing, using an overlay patch (--patch):

- insert:
    - id: swarm
      name: dsh-workspace-mesh

Local development

pnpm install
pnpm build
dsh plugin --profile web add file:$(pwd)

pnpm verify runs the same gate as CI: build + typecheck + tests.

See DEVELOPMENT.md for the full picture: the pack cloud dev chain we use (own dev server + sync-plugin.ps1), the local install, and the released-package install — plus what has to be configured once before the cloud chain works.

Settings page

The browser half registers a read-only dashboard into the native settings navigation (settings.section, id mesh) and a live-configuration card on the plugin's own detail page (plugins.detail.section). The dashboard renders the transport state, the peer roster, workspace placement and recent tasks.

Data comes from two authenticated Fetch routes registered inside Connection's fence (the same seat the shipped /api/present.host route uses):

RouteMethodPurpose
/api/mesh/stateGETRead-only snapshot: transport, config, peers, counts, recent tasks
/api/mesh/configPOSTValidate + persist a config patch, apply the hot subset

Configuration writes land in $DSH_HOME/mesh-config.json and are layered over the cordis entry config at apply time. leaseMs, dispatchTimeoutMs, leaseOwner and assignmentFile apply immediately; transport and peerBaseUrl are persisted now and take effect on the next container restart. The file lives under $DSH_HOME because a profile-patch mounted entry is not projected into this DSH version's settings document, so the native settings pipe cannot edit it.

Status

Skeleton. Transport adapters are stubs that fail loudly rather than silently (see SPEC §13). The Typert transport is the next increment — see docs/roadmap.md and the spikes under docs/.

Docs

Why Apache-2.0?

The mesh is only useful when many DSH instances speak the same thing, so adoption beats code ownership. Apache-2.0 maximises both without giving up the parts that matter:

  • Enterprises can actually use it. Apache-2.0 is on nearly every corporate allow-list, so the plugin can be installed into a profile or baked into a pre-built image without a licence review. Copyleft would end that conversation before it starts, while buying almost nothing in return: the typical deployment is internal, and internal use never triggers copyleft.
  • Patents are explicit, not implied. Section 3 grants a patent licence from every contributor and terminates it for anyone who sues over patents. MIT only implies this; GPLv3 has the same grant but brings distribution obligations that do not match how a plugin is actually shipped.
  • It fits the ecosystem. dsh and cordis are MIT; Apache-2.0 combines with them cleanly.
  • It is honest about what it cannot do. No open-source licence stops a fork that is never distributed. What protects the mesh is the SPEC, the package name and the reference implementation staying ahead — not a licence clause.

If your organisation needs different terms, open an issue.

License

Apache License 2.0 (Apache-2.0) — see LICENSE and NOTICE.

You may use, modify and redistribute this plugin, including inside closed products, provided you keep the copyright and licence notices. The plugin contains no code from dsh itself; it talks to dsh only through its public cordis interfaces.

Comments

Loading…

Similar plugins

dsh-workbench

by lee259

Right-side file workspace for DeepSeek Harness Web.

UI & ExperienceManifest valid

★ 10

↓ 332/wk

MIT

TypeScript

Sep 30, 2026

dsh plugin --profile web add dsh-workbench

by telagod

dsh-plugin: SSH hosts, workspace bindings, and remote exec/sync/compose for DeepSeek Harness

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 11, 2026

dsh plugin --profile web add dsh-ssh-workspace-manager

by cherrchen

多文件夹 workspace:让 DSH(DeepSeek Harness)的 Agent 不只能读写主目录,还能同时读写你添加的其他文件夹。Multi-folder workspace for DeepSeek Harness: let the agent read and write several folders at once, not just the primary one.

Security & AuditTools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 14

↓ 263/wk

MIT

TypeScript

Oct 29, 2026

dsh plugin --profile web add @dsh-electron/dsh-plugin-multi-root-workspace

by xinyang20

Workspace resource library for DeepSeek Harness: organize, preview and reuse references and deliverables.

Manifest valid

★ 0

MIT

TypeScript

Oct 8, 2026

dsh plugin --profile web add dsh-project-space

by Skylarking

DeepSeek Harness plugin: multi workspace

Manifest valid

★ 0

TypeScript

Aug 20, 2026

dsh plugin --profile web add @skylarking/dsh-multi-workspace

by Yan-Zero

Use SSH hosts as transparent workspaces in DeepSeek Harness.

Tools & CapabilitiesManifest valid

★ 13

Apache-2.0

TypeScript

Aug 16, 2026

dsh plugin --profile web add dsh-remote-ssh