dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Session-level multi-thread orchestration for DeepSeek Harness: create ordinary sessions, send queued or interrupt prompts to any session by id, and enumerate sessions. Installs globally, independent of any agent preset.
Session-level multi-thread orchestration for DeepSeek Harness. Installs as a bundle in a profile and registers globally — every session can use the tools regardless of agent preset.
Tool · Purpose session_create · Create an ordinary session in the caller's workspace (optional initial prompt); returns the session id. The child binds to the caller's standing composition via composeFrom — never re-mounts another preset. session_send · Deliver a prompt to any ordinary session by id. queue = next-turn FIFO (busy targets finish their turn first); interrupt = insert at the next step boundary. Cold sessions resume automatically with their recorded preset mounted. Subagent sessions are refused. session_list · Enumerate ordinary sessions (id, title, cwd, running); optional workspace filter.
From the Git repository (recommended):
dsh plugin --profile web add https://github.com/FuWenLianggit/dsh-session-bridgeOr from a local checkout:
dsh plugin --profile web add <path-to-this-checkout>Restart the profile (or the desktop app) and hard-refresh the browser. Uninstall with dsh plugin --profile web remove dsh-session-bridge.
The plugin reads every service structurally through ctx.get, so one build serves both DSH lines:
sessionPersistence.list() returnsdetached snapshots ({ header, revision, sizeBytes }); session_list and cold-session session_send read snapshot.header.
SessionHeader rows; the normalization in headerOf() still accepts them.
Cold resume mounts header.agentPreset through agentPresets.mount() inside the setup callback. Without that, agents.resume() restores history but leaves the agent without the preset's tools and prompt.
only wraps them into model-facing tools.
source: { kind: 'session-bridge' }.DSH 0.2 removed the shared kind: 'plugin' source kind (each producer declares its own), and every consumer falls through an unknown kind to its generic rendering.
subagent routing fence.