SideMind
Parallel conversations without polluting your main context.
SideMind is an experimental DeepSeek Harness Web/Desktop plugin built around two deliberately different interaction models:
/side [question]— open an ephemeral multi-turn side thread in DSH's native right sidebar. It forks from the latest completed main turn, supports read-only tools, and is destroyed when its tab is actually closed./btw <question>— ask an ephemeral single-response side question in a compact overlay above the main composer. It sees the current completed conversation context, has no tools, and is destroyed when dismissed.
0.2.2
0.2 is a UI/interaction rewrite informed by the open-source Codex TUI /side, Grok Build's open-source /btw panel, and DSH's own UI primitives. 0.2.1 added a child-scoped fork-boundary system prompt; 0.2.2 replaces the BTW mini-chat chrome with Grok's compact bordered-panel interaction.
Side
- no duplicate giant SideMind header inside the native DSH tab;
- a thin
From main thread · read-only · ephemeralcontext strip; - inherited parent history stays model-visible but is hidden from the Side transcript;
- compact user bubbles + document-style assistant Markdown;
- DSH
MarkdownTextwhen available, with a compatibility fallback; - copy-as-Markdown action on assistant replies;
- auto-focused, auto-growing composer;
Entersends andShift+Enterinserts a newline;/side why is this implemented this way?creates the branch and sends the first question immediately.
BTW
- Grok Build-style bordered panel directly above the composer;
- the top border itself carries
/btw <question>and an always-visible[Esc]hint; - Loading / Done / Error states with no duplicate question card, product header, or footer;
- DSH Markdown rendering for the answer;
- bounded internal scrolling for long replies; completed long answers accept Arrow/Page/Home/End navigation;
Esccloses the panel and destroys the child;- no tools and no write-back to Main;
- intentionally does not persist dismissed BTW answers into Main scrollback.
See docs/DESIGN.md for the reference analysis and interaction rationale.
Isolation model
- Both surfaces inherit only through the latest completed parent turn and then diverge.
- SideMind never sends side answers back into the parent Agent automatically.
- Side prompt bodies live only in the ephemeral child Session.
/btwexposes no model tools./sideallows only a conservative known read-only tool set; unknown/custom tools fail closed.- Closing the corresponding UI disposes the owning child
AgentHandleand removes the in-memory child Session. - SideMind deliberately avoids DSH's persistence-backed continuable-subagent path so close still means destroy.
The parent Session still records ordinary DSH command lifecycle events for command admission. SideMind uses recordInput: false, and successful internal control calls contain neither the side prompt body nor the side answer in those parent command records.
Compatibility
DSH is still a rapidly changing developer preview. SideMind avoids newer sidebar close-handler APIs and watches the tab occurrence AbortSignal instead, which works with the older DSH build currently shipped in the tested DSH Desktop.
The browser client prefers DSH-native UI primitives but keeps compatibility fallbacks for Desktop builds that expose a smaller client-module surface.
Development
npm test
npm run check
See:
License
MIT
No comments yet. Be the first to write one.