DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

the-binding-of-dsh

m

the-binding-of-dsh

Manifest valid★ 1

Bidirectional DSH Connection and Typert Gateway integration

UI (client)hasBundlePatch

The Binding of DSH

Powered by Harmony

English | 简体中文

A DSH plugin that enables bidirectional RPC between Host and Client through the native DSH Connection and Typert Gateway.

Features

  • Targeted Host-to-Client calls for connected browser or Node peers.
  • Symmetric Typert Gateway calls in both directions.
  • Request correlation, cancellation, and connection lifecycle handling.
  • Legacy hosts share the native events.host WebSocket for RPC and events.
  • Modern hosts use Binding sockets for bidirectional RPC and native Gateway streams for events.

Connection owns peer addressing and lifecycle; Typert Gateway owns service descriptors, codecs, invocation, and errors.

Installation

npm install the-binding-of-dsh

The package declares its DSH client entrypoint and Harmony patches in package.json, so it can be enabled as a regular DSH plugin. Harmony 0.8.6 or newer derives the browser module dependency introduced by the Connection patch and orders the Binding module automatically.

Development

Requires Node.js 22.22.3 or newer.

npm install
npm run check

License

MIT

Browser events across DSH versions

BrowserPeerClient negotiates the event transport at connection opening. Legacy hosts retain onEvent() and its { channel, envelope: { rpcId, payload } } wire shape. The legacy decoder is bundled separately; modern installations do not need dsh-host-apiproxy. Domain payload types can be supplied to onEvent<T>() or BrowserPeerEvent<T> using the consumer's legacy DSH types.

On DSH 0.1.5/0.1.6, eventTransport is gateway-v1. Use subscribe(event, listener) for native notifications and handleEvent(event, handler) for waterfall requests. These preserve upstream event names and arguments; onEvent() does not synthesize legacy frames on modern hosts.

peer.subscribe('api-session/status', (...args) => refreshSessionStatus(args))
peer.handleEvent('approval/request', async ({ agentId, request, signal }) => {
  return await showApproval(agentId, request, signal)
})
await peer.connect()

Handlers receive eventId, agentId, the JSON request, and an AbortSignal. Return a result matching the upstream event contract; return undefined to continue to the next handler/Host, or throw to reject. Binding correlates and sends the response automatically. Host cancellation and disconnection abort the signal and suppress late results. Agent contexts are not reconstructed.

stream(endpoint, payload, signal) opens another native Gateway stream and returns an async iterable. Payloads use native wire arguments ({ args: ... }). Abort the signal or finish iteration to cancel that subscription.

connect() resolves only after the Gateway ready handshake. After a disconnect, call connect() again, or opt in to automatic retries with reconnectDelayMs. Event registrations survive reconnect; onState(true) should refetch application state and reopen business streams. Events are not replayed by Binding. close() stops retries, closes sockets, cancels requests and withdraws the remote contribution. Older clients requesting only legacy events still receive HTTP 409 from modern hosts.

Validation (2026-09-19): 31 tests pass with the legacy development baseline and Harmony 0.8.11. Isolated DSH 0.1.5-rc.2 and 0.1.6-alpha.2 Host tests pass forward/reverse RPC, lazy codecs, authentication refusal, Gateway notifications, waterfall result/delegation/rejection/cancellation and reconnect. Studio must consume these modern APIs before its event-driven UI can claim compatibility.

Run node test/upstream.e2e.mjs <isolated-dsh-root> <harmony-lib-bin-path> after building to repeat the modern Host test. It creates and removes an isolated profile, without model calls.

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 18.3k

CC0-1.0

Python

Oct 10, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.2k

CC0-1.0

Python

Oct 10, 2026

Index only — not installable

by pax-beehive

Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub

Development & Infrastructure

★ 450

MIT

TypeScript

Oct 6, 2026

Index only — not installable

by xiajiajun516

DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.

Development & InfrastructureManifest valid

★ 176

MIT

TypeScript

Oct 8, 2026

dsh plugin --profile web add dsh-config-manager

by yjh051108

推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。

Development & InfrastructureManifest valid

★ 164

TypeScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by jigjoy-ai

A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.

Development & Infrastructure

★ 124

MIT

TypeScript

Oct 2, 2026

Index only — not installable