dsh-plugin-branchpoint
Manifest validBranchpoint for DeepSeek Harness: fork the current chat into a fresh branch with a compact digest.
Branchpoint
Fork the conversation at a clean point.
Branchpoint is a DeepSeek Harness (DSH) plugin that adds a fork button to the chat header. Click it and Branchpoint reads the current branch, distills what matters, and opens a fresh session with that digest already in the composer.
Long chats degrade. Compaction helps, but it also blurs the thread. Branchpoint gives you a clean branch that still knows where you were.
What it does
- Adds a fork icon to
conversation.session.header.actions, next to the branch title. - Loads up to two older pages of session history when the prompt is outside the current window.
- Builds a compact digest:
- the goal (last human prompt);
- the latest assistant conclusion;
- what was done in the last completed turn;
- what is still open, including
in progress: <prompt>when the latest turn has no answer yet; - errors from meaningful tools, changed files, versions, commands and key concepts.
- Opens a new session and puts the digest in the draft. It does not send automatically, so you can review it first.
Example digest
🌿 BRANCHPOINT — BRANCH SUMMARY
🎯 Goal: the handoff button does nothing
📌 LATEST CONCLUSION:
Fixed the silent no-op: the digest builder now keeps orphan assistant text and
pages older history before summarizing.
✅ DONE (1):
- silent no-op on empty digest → alert + fallback summary
⏳ OPEN (1):
- in progress: verify the button in a fresh session
📂 STATE:
· changed: lib/client.js
· files: lib/client.js, package.json
· run: npm test
(Summary, not a transcript: intermediate steps are omitted. Continue from this.)
Install
Not on npm yet. Install the prebuilt tarball from the latest GitHub release:
$tgz = "$env:TEMP\branchpoint.tgz"
Invoke-WebRequest "https://github.com/TimRad1/dsh-plugin-branchpoint/releases/latest/download/branchpoint.tgz" -OutFile $tgz
& "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" `
plugin --profile desktop add ("file:" + ($tgz -replace '\\', '/'))
Or open Settings → Plugins in DSH and install the downloaded .tgz archive.
Fully quit and relaunch DSH. The desktop profile applies plugin composition at startup (it has no HMR).
Use
- Open an existing chat with at least one exchange.
- Click the fork icon in the header.
- Review the digest in the new session's composer and send it when ready.
The button is hidden on a blank session: DSH hides the header actions until the session has history.
How it works
lib/index.jsis a minimal host half (name, emptyapply).lib/client.js:inject = ['slots', 'uiWorkspace', 'sessions'];- registers in
conversation.session.header.actions; - reads
ctx.sessions.binding(sessionId).eventSource; entriesToTurnsandentriesToToolsparse messages and tool calls;loadOlderHistorypages older history (max 2 pages, 7 s);buildDigestproduces the summary;ctx.uiWorkspace.startSession(undefined, { prompt: digest, clearPreviousDraft: true })opens the new session.
No build step: lib/client.js is a ready ESM bundle in the window.__ModuleLoader__ envelope.
Limitations
- The digest is built from the DSH session event log. Reasoning and raw tool output are not summarized; only visible assistant text, tool errors, changed files and commands are used.
- The digest framing is English. Quoted conclusions stay in the language of the chat, since they are extracted verbatim.
- History is paged at most twice per click, so extremely long sessions may need a second click to reach the original prompt.
- If a branch has no assistant text and no tool results, Branchpoint shows an alert and does not open an empty session.
Development
node --check lib/client.js
npm pack
To load local changes, install the new .tgz (or link:<folder>) and restart DSH.
License
MIT © 2026 TimRad1
Comments
Loading…
Similar plugins
by jkcltc
DeepSeek Harness web UI plugin that folds settled tool calls, context and reasoning into compact horizontal chips. Pure CSS, zero build.
★ 0
MIT
JavaScript
Aug 14, 2026
dsh plugin --profile web add dsh-chat-flow-re-layoutby chunsi-w
Bounded context compaction, session-scoped summary reuse, explicit memory controls, and diagnostic-preserving tool pruning for DeepSeek Harness.
★ 10
↓ 224/wk
MIT
JavaScript
Oct 4, 2026
dsh plugin --profile web add dsh-ctxopt-compactionby WindFromKadath
DSH (DeepSeek Harness) plugin for people who fork sessions: it labels each fork with the conversation it came from — a title prefix (⤷ 来源:) plus a sidebar badge that survives renaming. Zero dependencies; v0.1.2, MIT.
★ 0
MIT
JavaScript
Oct 7, 2026
dsh plugin --profile web add dsh-plugin-branch-originby abalika
A community plugin for DeepSeek Harness Desktop: switch between Harness and official DeepSeek Chat, with optional persistent login on Windows.
★ 0
MIT
JavaScript
Oct 19, 2026
dsh plugin --profile web add dsh-mode-switchby Unintendedz
ChatGPT-style immutable reply branches, inline branch switching, and whole-tree browsing for DeepSeek Harness.
★ 0
MIT
JavaScript
Sep 12, 2026
dsh plugin --profile web add dsh-conversation-treeby bpc-oss
Fork any DeepSeek Harness session into a different agent preset — a UI button with preset picker in the conversation header.
★ 0
MIT
JavaScript
Aug 22, 2026
dsh plugin --profile web add dsh-fork-to-preset