DeepSeek Harness plugin

dsh-sidechat

Side chat drawer for DeepSeek Harness Web

Jump to install

Source facts

Repository
Mintcolour/dsh-sidechat
Latest update
Aug 14, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Mintcolour/dsh-sidechat
Plugin: dsh-sidechat
Author: Mintcolour

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

DSH Side Chat

中文说明

A standalone DeepSeek Harness Web plugin that adds a Codex-style side chat beside the main conversation. It uses Harness public Session, Storage Domain, Workspace Registry, and Connection RPC surfaces without modifying the official Harness source.

![Split-screen side chat](docs/screenshots/split-view.png)

Highlights

  • Split the main conversation and side chat into two resizable panes instead of covering the main chat.
  • Create a side chat from the current conversation, including selected-text quoting without automatic sending.
  • Keep the child Session out of the official left sidebar while preserving its original log after relationship removal.
  • Show parent title, short Session ID, summary, and a live “follows main-chat permissions” indicator.
  • Choose a model and reasoning effort independently for each side chat; a new side chat initially inherits the main chat model.
  • Use /sidechat to open the current or most recently updated side chat, or /sidechat content to fill its draft.
  • Render user messages, Markdown, reasoning, tool activity, approvals, questions, slash-command lifecycle, and unknown events through a generic timeline.
  • Navigate both conversations with compact Codex-style Turn rails: quiet equal ticks when idle, fisheye expansion and a preview card on hover.
  • Generate a title from the first side-chat question, with manual rename taking permanent precedence.

Screenshots

The screenshots use synthetic conversation content and contain no real project data.

FeaturePreview
Resizable split view and parent context![Split view](docs/screenshots/split-view.png)
Per-side-chat model and reasoning selector![Model selector](docs/screenshots/model-selector.png)
Compact idle Turn rail![Idle history rail](docs/screenshots/history-rail-idle.png)
Hover preview and fisheye rail![Hover history rail](docs/screenshots/history-rail-hover.png)
Dark-theme parent context and permission following![Dark side-chat context](docs/screenshots/sidechat-context-dark.png)

Install into a Harness checkout

The plugin is currently distributed as a local link: package. Keep the plugin checkout next to the Harness checkout so its relative development links resolve:

workspace/
├─ deepseek-harness-proxy/
└─ dsh-sidechat/

Build the plugin and install it into the Web profile:

cd path\to\dsh-sidechat
$env:HTTP_PROXY='http://127.0.0.1:7890'
$env:HTTPS_PROXY='http://127.0.0.1:7890'
pnpm install
pnpm run build

cd ..\deepseek-harness-proxy
pnpm dsh plugin --profile web add link:..\dsh-sidechat
pnpm dsh web --host 127.0.0.1 --port 3080

The package has no prepare script. After changing src/, run pnpm run build and restart the Web profile so it loads the new lib/client.js.

Development

cd path\to\dsh-sidechat
$env:HTTP_PROXY='http://127.0.0.1:7890'
$env:HTTPS_PROXY='http://127.0.0.1:7890'
pnpm install
pnpm run typecheck
pnpm test
pnpm run build

The development dependencies use link: references to a sibling Harness checkout. Harness remains a peer/runtime dependency; this repository does not vendor or patch the official source.

Architecture

The Host half owns the dsh_sidechat storage domain, parent/child lineage validation, title and summary persistence, archive retry, permission synchronization, model inheritance, and the private loopback /dsh-sidechat RPC channel.

The Client half registers the native header action, split-screen overlay, selection action, slash-command source, model selector, generic timeline, and main/side Turn history rails. Draft text and pane width stay local to the browser; relationship records and titles are the only side-chat metadata persisted by the plugin.

Compatibility and privacy

  • Designed for the DeepSeek Harness Web profile and its public plugin surfaces.
  • Uses peer dependency ranges matching the current Harness checkout; test against the Harness revision you deploy.
  • Side-chat RPC is restricted to the local Web connection boundary.
  • Images and message drafts are sent through the child Session and are not written to the relationship table.
  • Removing a side-chat relationship does not delete or unarchive the underlying Session log.

License

MIT. See [LICENSE](LICENSE).