Skip to content

Sidechat ​

A side-chat panel on the dsh Web workbench for quick questions in a separate, memory-only session. Two packages: Workbench UI first, then Sidechat itself.

Source: official · Status: beta

Install ​

sh
dsh plugin --profile <name> add 'github:Ephemeral-AI-Lab/dsh-plugins#main&path:plugins/work-bench-ui' 'github:Ephemeral-AI-Lab/dsh-plugins#main&path:plugins/sidechat'

Inside Mayfly: /plugin install sidechat (or browse with /plugin). Restart and start a new session to apply.

Frontend support ​

✅Mayfly terminal: full tools & commands
✅dsh Web: tools + dedicated panel

Provides ​

  • Tools: none
  • Commands: none
  • Capabilities: session-write

Verification ​

Reviewed versions: dsh-workbench-ui@0.1.0, dsh-sidechat@0.1.0(2026-09-04) Listing is disclosure and review, not a sandbox — installing a third-party plugin equals installing an arbitrary npm package.

Repository · Docs

README ​

# dsh-workbench-ui

Reusable resizable right-side Workbench surface for DeepSeek Harness Web plugins.

The package owns the panel shell and exposes a client registry. Feature plugins
register their own tab and React content without modifying the Workbench UI. The
panel occupies the host's block-level details column; opening it reduces the
conversation width, and the host drag handle controls the panel width.

```ts
import type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client'
import type { WorkbenchService } from 'dsh-workbench-ui/client'
import type {} from 'dsh-workbench-ui/client'
import { TerminalPanel } from './TerminalPanel.js'

export const inject = ['workbench']

export function apply(ctx: ClientContext): void {
  const workbench = ctx.get('workbench') as WorkbenchService
  ctx.effect(() => workbench.register({
    id: 'terminal',
    label: 'Terminal',
    component: TerminalPanel,
  }), 'terminal: Workbench panel')
}
```

Registered components receive `{ close }` and own the complete display area.
Use `workbench.open('terminal')`, `workbench.close()`, or
`workbench.toggle('terminal')` from another client component to control the
surface. Opening and closing also drives the host details column. Registration
is disposed with the owning plugin fiber.

Install it into the Web profile with:

```sh
dsh plugin --profile web add ./plugins/work-bench-ui
```

Preview · v0.1.4-rc.1