dsh-sidecar-conversation
Identified★ 2Native sidebar conversations for DeepSeek Harness: fork turns, start independent chats, and follow source references.
dsh-sidecar-conversation
Don't understand part of an AI answer? Ask beside it, without cluttering your main Session's context.
In DeepSeek Harness Web, select unfamiliar text and ask for an explanation in the native right sidebar. Follow-up questions and explanations stay in their own Session, without being written back into your main conversation. You can also ask about a whole turn or fork from an earlier point, with separate messages, drafts, model and permissions.
简体中文 · GitHub Release · npm
Quick install
With DSH Web already installed, run this command in the same environment and DSH_HOME you use to start it:
dsh plugin --profile web add dsh-sidecar-conversation@0.2.8
Restart DSH Web and refresh the page. Keep your existing DSH_HOME to preserve conversations and Sidecar history. No DSH source changes or Better Sidebar installation are needed. Version 0.2.8 has been verified in an isolated, unmodified DSH 0.2.1-rc.3 host.
Select text in a completed answer, or click “侧问这个回合”, then choose Fork or a references-only conversation and ask on the right.
0.2.8: native list and permission lifecycle
The full native session list is now the default. Its rows, workspace management, search, pinning and archiving remain owned by DSH. Use the footer toggle for the optional collapsible Sidecar view; an explicitly saved choice is preserved.
Unsent sidecars no longer occupy reusable workspace blanks. Ordinary New Session therefore keeps native permission defaults instead of inheriting an old sidecar's settings and showing Custom. First-turn attachment and legacy blank recovery preserve native logs and permissions.
Implementation boundaries and verification
Watch the 90-second demo
Watch on Bilibili: real multi-turn conversations in an isolated environment, showing Fork, references-only Sessions, appended references, precise source navigation, native composer controls and history recovery. The full page stays visible, with red circles marking the focus. Waiting is edited out; some operations are sped up, with AI voice narration.
What you can do
- Explain part of an answer: select unfamiliar text and ask about it with a source reference.
- Continue an existing Sidecar: append new text or a whole-turn reference to the most recently used Sidecar without losing its draft question.
- Explore another direction: fork an earlier turn's context while the main conversation continues its work.
- Start with references only: create an independent Session containing explicit references and your question, without inheriting the full conversation.
The right-hand chat uses DSH's native composer: file uploads, model and reasoning selection, permission controls, messages, tool calls, approvals, stop and error displays. A Sidecar supports continued conversation across multiple turns.
Two entry points, the same choices
Select text in a completed Assistant answer, or click “侧问这个回合” at the end of a turn, to open the action menu.
| Menu action | Text selection | Whole turn |
|---|---|---|
| 追加到最近侧问 (append) | Add the selected text to the target draft | Add a whole-turn reference to the target draft |
| 从此回合 Fork | Inherit history through the selection's turn and attach its text reference | Inherit history through the turn and attach its turn reference |
| 仅用选文新建/仅用此回合新建 (independent) | Start with only the selected text | Start with only that turn's final Assistant answer |
Append appears only when the current main Session has a prepared Sidecar whose tab remains open. Both menus have two creation choices, optionally preceded by append. The text-selection menu ends with “添加到主会话” (add to main Session), which inserts the same clickable reference into the native main composer without creating or switching a Sidecar. Drafts and sent citations retain exact-selection highlighting. If the right dock is collapsed but the tab remains open, append reveals the target Sidecar. Closed tabs and unprepared drafts are not eligible targets.
The left menu determines the creation mode. Choosing a new chat prepares its Session and opens the native composer directly, without another mode choice or an automatic model call. The new draft contains only the current source and does not copy another Sidecar's selections.
From references to continued conversation
- Select text or a turn on the left, then choose append, independent creation or Fork.
- Edit your question on the right and choose files, model and permissions as needed. Add references from the left one at a time, or remove individual draft references.
- Click a draft reference to return to its source: a text reference highlights only the selected text; a whole-turn reference highlights the turn. Sent references remain clickable.
- Continue in the current Sidecar after sending. Switching main Sessions, reopening tabs and refreshing restore each child Session's state without mixing selections or returning to an older Sidecar.
Selections are limited to 4,000 characters. A whole-turn reference points to the final Assistant answer; independent Sessions receive that explicit reference, while only Fork inherits earlier history. Missing or unreadable sources produce an error while preserving the reference.
Fork and independent Sessions
| Linked Sidecar (Fork) | Independent Session | |
|---|---|---|
| Context | Main conversation history through the selected turn | Only explicitly added references and questions |
| Native relationship | Child of the main Session | No native parent, alongside the main Session |
| Fork progress | Links the fork turn, lag count and latest parent turn | Indicates references only, without a Fork gap |
| History entry | Listed in the source Session's Sidecar history | Also recoverable from the source Session's Sidecar history |
A Fork contains context from the point of branching and does not follow the main conversation live. The progress row updates when the main Session adds turns; appending references neither reduces the lag count nor merges later history automatically.
Both modes use the source workspace. Menu-created chats use DSH’s native read-only preset and permission menu. The inherit permission option copies the main Session’s current preset once; later permission changes are independent. Genuine custom permissions retain their native sandbox and approval values. Tools with write access modify the same workspace files. Read-only does not imply network isolation. Sidecar messages belong to their own Session and are not automatically sent back to the main conversation.
Titles, history and recovery
Initial titles summarize the first question. The left list, right tab and history then read the native Session title, including manual renames. Linked Sidecars use the native row's leading ↳ decoration and hover card; native activity indicators take precedence. History follows native manual order, recency, pins and workspace grouping through a plugin-owned read-only adapter over the existing Workspace view store. Folding groups does not hide their history entries.
Sidecar history supports creation, reopening, archival and restoration. Closing a tab closes its view without stopping background generation; plugin archival does not delete the native Session. History creation starts from the main Session's latest completed answer and offers Fork or independent mode; without a completed answer, it asks you to finish a turn first.
Messages, replies, attachments and tool events use native DSH Session capabilities. sidecar-conversation.json stores the Sidecar index; drafts and tab layouts are browser state. After clearing browser data, history can reopen sent conversations, but session logs cannot recover unsent drafts. Native session-log ownership and upgrade boundaries
Check DSH compatibility before installation
Version 0.2.8 uses public DSH APIs and its unified list was verified against unmodified DSH 0.2.1-rc.3. No DSH source patch or Better Sidebar installation is required:
sidebar.session.row.leading/sidebar.session.row.hover: existing public row decorations; titles remain native.sidebar.workspaces/shell.overlay: the public slot ledger supplies the existing root view-store handle; the plugin renders the unified list and reuses native preferences and ordering actions, without a second order store.
All Sidecar extensions live in the plugin; no DSH source patch or custom uiWorkspace.sessionOrder / sidebar.workspaces.session.title service is needed. A public sidebar slot supplies a collapsible Session tree from the plugin registry, including on rc.3 where ordinary Fork logs omit parent links. Independent chats remain roots. Native titles, order data, composer and session logs remain authoritative. The full native list is the default: DSH owns row rendering, search, ordering, pinning, archiving and workspace management. A persistent footer toggle opens the plugin's collapsible hierarchy view. That optional view uses native state and actions but still renders its own rows; it needs compatibility testing when DSH changes. No private row imports or DSH patches are used.
Unsent independent sidecars keep their native Session and logs outside workspace membership until their first native turn starts. This prevents native New Session from reusing a reserved blank with sidecar permissions. Recovery also detaches legacy blank sidecars without rewriting permissions or deleting logs; they remain accessible through sidecar history. Ordinary new sessions retain DSH's native defaults.
To develop from source, install a locally built plugin through a DSH Web profile:
pnpm install --frozen-lockfile
pnpm check
pnpm test
pnpm build
dsh plugin --profile web add link:$(pwd)
dsh --profile web --dump-config
Restart the target Web instance after installation. --dump-config proves composition only; open the page to verify runtime loading. Use a separate DSH_HOME, port and plugin directory for development builds to protect your daily instance. Uninstall with dsh plugin --profile web remove dsh-sidecar-conversation. Development and verification
Validation records
The plugin passes 176 tests and TypeScript checks; its release tarball passed an independent build, entry checks, clean installation and Host-entry import. Browser and real-model coverage are recorded separately below:
- Native Markdown/table selection validation and full reference-flow regression
- Menu order and verification
- Exact selection highlighting and native permission presets
- Windows directory-fsync fix and Windows/Linux CI
- Plugin-only adapter on the official npm DSH package
- Both entry points, main-Session switching, reopening, refresh and reference navigation
- Original 0.2.0 title/order deployment record
- Architecture boundaries between native Sessions and the plugin
These results do not imply that every DSH Web check passes; the linked records describe known baseline failures and remaining coverage gaps.
License
Comments
Loading…
From the same category
by anywhere-labs
为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 33.4k
↓ 108/wk
MIT
TypeScript
Oct 27, 2026
dsh plugin --profile web add dsh-plugin-desktopby zhu1090093659
DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
★ 9.6k
↓ 92/wk
Apache-2.0
TypeScript
Oct 27, 2026
dsh plugin --profile web add dsh-webA collection of independent Web UI plugins and skins, including task boards, Git graphs, mobile access, and live token stats.
★ 8.4k
↓ 92/wk
Apache-2.0
TypeScript
dsh plugin --profile web add dsh-webby omdsh-dev
开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,
★ 4.6k
↓ 48.6k/wk
MIT
TypeScript
Oct 26, 2026
dsh plugin --profile web add dsh-better-sidebarby PC2005-cloud
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI 视频自造专属宠物
★ 4.3k
↓ 46k/wk
MIT
TypeScript
Oct 25, 2026
dsh plugin --profile web add dsh-petby bowenliang123
The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details,
★ 3.6k
↓ 42.1k/wk
Apache-2.0
TypeScript
Oct 26, 2026
dsh plugin --profile web add dsh-context