DSH Plugins Marketplace

DSH Plugins

Plugins

/

Sessions & Messages

/

bites-the-dsh

C

bites-the-dsh

Manifest valid★ 1

Adds read-only, scriptable playback to native DSH conversations, with simulated user typing, forward and reverse playback, event stepping, speed control, idle-gap compression, and direct seeking by ev

UI (client)hasBundlePatch

Bites the DSH

English | 简体中文

Powered by Harmony

Read-only, scriptable session playback for the DeepSeek Harness WebUI.

https://github.com/user-attachments/assets/3c9dfdcf-a454-4750-9edf-76771ed5a9a6

The demo shows Bites the DSH together with dsh-turn-fold.

The plugin turns the native conversation into a replay view without opening a separate panel. A single native session-header control enters replay. While replay is active, the conversation is fully read-only: the native composer and session-changing interactions are blocked, while UI and scripts may move time without mutating the source session.

Current implementation

  • Native session-header entry and compact playback controls.
  • Pause, forward play, reverse play, event stepping, speed selection, adjustable idle-gap compression, and direct event/turn/time seeking.
  • Optional simulated typing previews the next direct user message in the native read-only composer without touching its live draft.
  • A per-session observable controller exposed as ctx.sessionPlayback for time-only scripting.
  • Historical projection through DSH's native ChatView; the source session and live head continue independently.
  • Historical timelines expose playbackClock: { kind: 'historical', time: cursorTime } so projection consumers never treat an open historical turn as live wall-clock work.
  • Native composer, model, stop, branch, and assistant write actions are disabled during replay; viewing controls remain interactive.
  • English and Chinese labels using DSH theme tokens, without a separate panel.

The development baseline is DSH 0.1.5-rc.2; 0.1.6-alpha.2 is also checked. This migration requires the new Conversation/Chat services. Harmony selector drift fails the automated test instead of silently changing the wrong component.

Install

dsh plugin --profile web add @ch4acko3/bites-the-dsh
dsh harmony status --profile web

All four Bites the DSH patches should report bound. Reload the WebUI, open a session, then use Replay session in the native session header.

Script control

Other DSH plugins can use the same per-session clock through the provided Cordis service:

const playback = ctx.sessionPlayback

playback.enter(sessionId)
playback.seekTime(sessionId, Date.parse('2026-08-20T12:00:00Z'))
playback.play(sessionId, 1)
playback.pause(sessionId)
playback.exit(sessionId)

Time values such as the argument to seekTime use Unix epoch milliseconds, matching JavaScript Date values and recorded event timestamps.

The service also supports event and turn seeking, reverse playback, rate and idle-gap settings, subscriptions, and position reads. It deliberately exposes no operation that mutates the source session.

Development

Requires Node.js ^22.22.3 || >=24.11.1 and pnpm 11.

pnpm install
pnpm check

CI/CD

Every push to main and every pull request runs pnpm check and verifies the npm package contents. Pushing a v<package.json version> tag runs the same checks, creates the matching GitHub Release, and publishes the public package to npm through Trusted Publishing (OIDC), with automatic provenance and no npm token stored in GitHub.

License

MIT

Compatibility check (2026-09-19): Harmony 0.8.11, 26 unit tests and one built-client integration test pass. All four patches bind on isolated DSH 0.1.5-rc.2 and 0.1.6-alpha.2 Hosts. Historical chat hooks read the projected node store; releasing a Session removes subscriptions, pending history state and read-only mode. Browser interaction and macOS/Linux validation remain separate from these Windows checks.

Compatibility

DSH 0.2.1-rc.4: failedDSH 0.2.0-rc.1: failedDSH 0.2.0-rc.2: failed

Versions

Latest versionPublishedSize
0.1.0——
0.1.1——
0.2.0——
0.2.1——
0.3.0——
0.3.1——

Comments

Loading…

Similar plugins

dsh-session-timeline

by XiLuovo

Session timeline down the left of the conversation: every user message at a glance, current-message tracking, hover preview of the message and its reply, click to jump, collapsible.

UI & ExperienceSessions & MessagesManifest valid

★ 4

↓ 177/wk

MIT

JavaScript

Aug 24, 2026

dsh plugin --profile web add dsh-session-timeline

by idoall

Manageable one-tap text chips above the session composer; idle sessions queue the message and running sessions steer at the next safe boundary without rewriting the draft.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 1

↓ 854/wk

MIT

TypeScript

Sep 16, 2026

dsh plugin --profile web add dsh-quick-replies

Message recall for DeepSeek Harness (dsh): cut the conversation back to before a message you already sent, and put its text back in the composer.

Sessions & MessagesManifest valid

★ 0

MIT

TypeScript

dsh plugin --profile web add @jochenyang/dsh-rewind-plugin

by A2chitect

OpenViking in the DSH web GUI: a Studio panel, a per-session memory-commit status pill with its commit timeline, and a right-sidebar tab showing what the current session retrieves.

UI & ExperienceSessions & MessagesManifest valid

★ 6

↓ 412/wk

MIT

TypeScript

Oct 27, 2026

dsh plugin --profile web add dsh-openviking-enhance

by yamingmou

Recall, edit-and-resend and regenerate, plus in-conversation versioning: a timeline of every rewind, artifact rollback (git-first, snapshot fallback), a fork map of explored paths, session lineage, an

Security & AuditDevelopment & InfrastructureSessions & MessagesManifest valid

★ 6

↓ 323/wk

MIT

JavaScript

Oct 27, 2026

dsh plugin --profile web add dsh-retrace

by Stmol

DSH plugin: keep your own prompts in Settings and switch them on per chat

Sessions & MessagesManifest valid

★ 2

↓ 28/wk

MIT

JavaScript

Oct 4, 2026

dsh plugin --profile web add @stmol/dsh-prompt-lib