DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-side-chat

f

dsh-side-chat

Manifest valid

Side chat for the DeepSeek Harness Web GUI: fork the current session into an ephemeral conversation that can really edit files, without polluting the main transcript.

ToolsUI (client)SkillshasBundlePatch

dsh-side-chat

A side chat for the DeepSeek Harness Web GUI: open the right sidebar from the session header, add the Side chat (「侧边会话」) tab, and keep the main conversation untouched — while the side conversation still carries the same agent, the same tools, and really edits the same workspace files.

English | 中文

CI Release npm License: MIT

Quick start

# npm (recommended)
dsh plugin --profile desktop add @flyer103/dsh-side-chat

# GitHub, default branch or a pinned tag
dsh plugin --profile desktop add github:flyer103/dsh-side-chat
dsh plugin --profile desktop add github:flyer103/dsh-side-chat#v0.3.2

# local checkout (records a link: dependency)
cd /path/to/dsh-side-chat
dsh plugin --profile desktop add "$(pwd)"

# tarball built with `npm pack`
dsh plugin --profile desktop add /absolute/path/flyer103-dsh-side-chat-0.3.2.tgz

Use the profile you actually run: desktop for the Desktop app, web for a web profile. Prefer quitting the Desktop app before installing into desktop (the CLI waits on the profile write lock) and reopen it afterwards; either way a restart is required. add also appends the bundle to the profile's dsh.profile.bundles; you do not edit the profile's cordis.patch.yml by hand. Re-running is safe.

Alternatively, from a local checkout:

node scripts/install.mjs --profile desktop            # idempotent; never restarts DSH
node scripts/install.mjs --profile desktop --dry-run  # show the plan only

Then restart DSH, open a session, and expand the right sidebar from the session header (「Open sidebar」 / 「打开侧边栏」). On the sidebar's guide page, click the 「Side chat」 (「侧边会话」) card; the side chat opens as a native tab in that column. (There is no separate side-chat button and no floating overlay — the entry lives in the right sidebar, also reachable from the tab strip's add control.) Send the first message: the side chat is created on that send and destroyed when you close its tab. Collapsing the sidebar or switching to another tab only pauses it; opening the tab without sending costs nothing.

What it does

  • Native sidebar tab — lives in the session's right sidebar next to the other tabs; no standalone button and no floating overlay.
  • Inherits context — the parent's completed turns plus a snapshot of what the main session is doing right now.
  • Inherits the agent — same working directory, preset composition, tools, skills, model routing, sandbox mode and approval policy.
  • Really edits files — write/edit/bash changes land in the same workspace and the main session sees them.
  • Isolates the transcript — side-chat turns never appear in the main conversation, the session list, or the subagent catalog.
  • Destroys on close — closing the tab disposes the agent and the host tries to remove its persisted artifact; a side chat cannot be reopened. Collapsing the sidebar or switching tabs only pauses it.

Compatibility

  • DSH 0.2.1-rc.2 (Desktop profile, Web GUI) — the tested target. Verified in an isolated copy of the desktop profile: the plugin launches, all seven host routes answer, and the client bundle is served.
  • No engines.dsh and no DSH peer dependency are declared, so DSH does not version-gate installation. That is separate from the tested version: newer DSH releases are untested.
  • Web platform only (dsh.client.platform: web); no CLI/TUI surface.
  • Node.js >= 22; the plugin itself is dependency-free ESM with no @deepseek-ai/* imports.
  • UI copy follows the DSH language setting (Settings → General → Language): Chinese and English are built in, and any other language falls back to English. Technical details — host error messages, routes, event and tool names — stay in English.

Known limitations

  • Approval prompts are not shown inside the side-chat tab: the side session inherits the parent's approval policy, and if that policy asks a human, the side session waits. Use a non-interactive policy (for example danger-full-access) for side chats that must write files.
  • One side-chat tab per parent session and sidebar pane; opening the guide card again focuses that tab.
  • A closed tab cannot be restored: reopening the card starts a new side chat, whose agent is created on the next message.
  • P1, designed but not implemented: model picker, multiple side chats per session, surviving a GUI restart, approval rendering in the tab.
  • The inherited context is a snapshot taken at creation; later main-session turns are not pushed into an existing side chat.
  • Replies are not token-streamed: an assistant message appears when it commits, with a running indicator in between.
  • The first side-chat request is roughly as large as the parent's next request (it carries the inherited history).

Documentation

  • docs/USAGE.md — full semantics: inheritance, isolation, mutation, lifecycle, installation, rollback, troubleshooting.
  • docs/DESIGN.md — scope, phases and adversarial notes.
  • docs/CONTRACT.md — host routes, Sidebar tab integration and rendering contract.

Repository layout

pathrole
lib/index.jshost half: routes, fork seed, boundary injection, close/dispose
lib/client.jsclient half: right-Sidebar tab type + guide entry, and the tab body (messages + composer)
cordis.patch.ymlbundle patch inserting the dsh-side-chat row
scripts/install.mjsidempotent installer/remover for a local checkout
dsh.plugin.jsoncommunity manifest metadata; DSH does not read it (official display metadata comes from package.json and optional locale/*.json)
tests/node --test unit tests

Uninstall

dsh plugin --profile desktop remove @flyer103/dsh-side-chat

Then restart DSH. No transcript, schema or workspace data is migrated or deleted; side chats are ephemeral.

License

MIT

Versions

Latest versionPublishedSize
0.1.0——

Comments

Loading…

Similar plugins

dsh-side-chat

by zclDragon

Codex-style /side side conversations for DeepSeek Harness: a temporary fork of the current chat in a floating panel, inheriting context without interrupting the main task.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 1

↓ 78/wk

MIT

TypeScript

Aug 23, 2026

dsh plugin --profile web add @zhuchenglong/dsh-side-chat

by AHGGG

Codex-style Side Chat for DeepSeek Harness — select text, ask follow-up questions in a focused side conversation, and keep the main chat uninterrupted.

UI & ExperienceManifest valid

★ 11

↓ 178/wk

MIT

JavaScript

Sep 30, 2026

dsh plugin --profile web add @ahggg/dsh-side-chat

by daodishisha28

Open a persistent side conversation from any DeepSeek Harness session to investigate questions, clarify requirements, or explore alternatives without polluting the main task’s context, then review and

Manifest valid

★ 3

MIT

TypeScript

Oct 14, 2026

dsh plugin --profile web add dsh-sidechat-plugin

Side conversations forked from the main session, with native conversation rendering, selection annotations and handback.

UI & ExperienceManifest valid

★ 0

dsh plugin --profile web add dsh-sidechat

by 123dbl

DSH side-chat (旁会话) plugin: launch a fresh continuable parallel session from the conversation header while the main session keeps running.

Terminal & ClientsSessions & MessagesManifest valid

★ 0

MIT

TypeScript

Sep 3, 2026

dsh plugin --profile web add dsh-side-session

by OpenSaozi

DeepSeek Harness 网页版会话归档与还原插件,把暂时不用的对话收进侧边栏底部。 | Session archive management and restoration UI plugin for DeepSeek Harness.

Manifest valid

★ 0

MIT

TypeScript

Aug 22, 2026

dsh plugin --profile web add @deepseek-ai/dsh-client-ui-session-archive