DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-connect-web

Connect Web

Web channel adapter for dsh-connect: mirrors Feishu conversations to DSH Web GUI

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-connect-web@0.7.2
READMECompatibilityVersions

Compatibility and provenance

Connect Web is published as dsh-connect-web and currently resolves to version 0.7.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
11/5/2026

Versions

0.7.2stable
8/28/2026
0.7.1stable
8/26/2026
0.7.0stable
8/25/2026
Show 2 more versionsCollapse versions
0.6.6stable
8/20/2026
0.6.4stable
8/20/2026

Related plugins

Loading related plugins…

Latest
0.7.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
27.8 kB
Files
13
Surface
any
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
28
Last push
10/29/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in integrations-communication.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseRemote Bridge@linxin666/dsh-remote-bridgeDSH remote bridge: the host half serves protocol v1 over one exact /ios/v1 WebSocket route — session roster, history baseline, prompting, live turn increments with tool activity, interrupt, and in-process agent approval — to a device paired by a one-shot Ds Botds-botDS Bot: a team of long-lived Bots for DeepSeek Harness, with Main Bots, Bot-to-Bot messages and group chatsFree Searchdsh-free-searchFree web search for DeepSeek Harness: 27 engines (Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl/Parallel/You.com keyless; Zhihu global/site via MCP and Perplexity/SerpBase/DeepSeek (official + native tools/search)/Baidu/Kimi/Aliyun/Douba

README

dsh-connect-web

English | 中文

Web channel adapter for dsh-connect: tracks which conversations are mirrored into the DSH Web GUI. It monitors the binding route store for chats whose session has been mirrored (webMirrorSessionId set — auto-created by dsh-connect for every new chat) so the GUI can open the shared session.

What it does

  • Mirror tracking — watches the BindingStore (via onChange events plus a fallback poll) and records each mirrored session: isSessionMirrored(sessionId) and getMirrorSource(sessionId) ("channel:chatKey").
  • No synthetic inbound messages — mirror detection is pure bookkeeping. The adapter deliberately does not emit an inbound "mirror created" message, because that would spin up a spurious web runner and burn a real agent turn for nothing.
  • Outbound methods are contract no-ops — sendText / sendCard / streamText / promptChoice / closeMenu exist only to satisfy the ChannelAdapter interface. The Web GUI renders the agent's session events directly from DSH's shared session store, not from adapter calls.
  • One-sided locking — the mirror "lock" (lockOwner in the binding) is enforced only on the Feishu side by dsh-connect. The Web GUI reads mirrored sessions directly and is write-always from this repository's perspective; that asymmetry cannot be fixed from this package.

Install

dsh plugin --profile web add dsh-connect dsh-connect-web

Requires the dsh-connect service to be loaded first (it is declared via inject: ["connect"]), and reads the binding store through dsh-connect's public bindingStore getter (typed via the dsh-connect/binding export subpath).

Configure

The plugins register themselves via their bundle manifests, so only override their config — do not insert them again (duplicate ids crash dsh at boot):

- id: connect
  name: dsh-connect
- id: connect-web
  name: dsh-connect-web
  config:
    # pollIntervalMs: 1000   # fallback mirror scan interval (default 1000)
KeyDefaultDescription
pollIntervalMs1000Fallback polling interval (ms) for detecting new mirror sessions when change events are missed

API

class WebAdapter implements ChannelAdapter {
  readonly id = "web";
  isSessionMirrored(sessionId: string): boolean;                    // is this DSH session mirrored from a chat?
  getMirrorSource(sessionId: string): string | undefined;           // "channel:chatKey" of the source chat
  // sendText / sendCard / streamText / promptChoice / closeMenu — contract no-ops
}

Limitations

  • No inbound path: messages typed in the Web GUI are not routed through this adapter; the GUI talks to the shared DSH session directly.
  • No locking guarantee for Web writers: the mutual-exclusion lock is one-sided (enforced by the Feishu adapter's runner only).
  • Mirror visibility depends on dsh-connect: if the connect service or its bindingStore is unavailable, mirror detection is disabled (a warning is logged).

License

MIT