Unintendedz/dsh-conversation-tree ↗★ 0
dsh-conversation-tree
DSH web plugin for immutable regenerate/edit branches and a whole-conversation tree view
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Unintendedz/dsh-conversation-tree说明文档
阅读完整 README ↗dsh-conversation-tree
English | 中文
A DSH Web plugin for immutable conversation branches and whole-tree browsing:
- Regenerate: create a child session immediately before the selected turn and run the original user prompt again.
- Edit a prompt: edit directly beneath the real user message, preserve its non-text attachments, then continue in a new child session with the edited text.
- Edit a reply: copy through the selected turn and replace the last assistant reply in a child session without calling the model.
- Inline switching: show
‹ 2 / 5 ›beside any branched user message or assistant reply. In the assistant action row, the switcher sits immediately after DSH's native create-branch action. - Tree view: browse every ordinary branch of the current conversation on one page and open any session by selecting its node.
Every action creates a new session; the source session is never modified.
Child sessions record parentSession and inherit the source working directory,
preset, and target-turn model configuration.
Requirements
- DSH
0.1.1-rc.2 - A Web profile (
webin the examples below)
Install
dsh plugin --profile web add github:Unintendedz/dsh-conversation-tree#v0.3.0
Restart the running DSH Web service. In a completed conversation, prompt editing appears below the user message; regenerate and reply editing appear below the assistant reply. Messages with multiple versions receive an inline branch counter after the native create-branch action. The Tree tab remains available for browsing the complete conversation tree.
Update
Install the new tag, then restart the service:
dsh plugin --profile web add github:Unintendedz/dsh-conversation-tree#v0.3.0
Uninstall
dsh plugin --profile web remove dsh-conversation-tree
Development
npm install
npm run build
npm test
The host entry point is lib/index.js; browser sources live in
src/client.jsx and src/tree.js. npm run build uses the pinned esbuild
version to generate lib/client.js.
The tree view includes ordinary top-level sessions only and deliberately excludes DSH subagent sessions. Broken parent links and cycles are truncated safely instead of blocking the page.