- Accueil
- Plugins
- Améliorations UI
- dsh-sidepanel
dsh-sidepanel
yur0918/dsh-sidepanel
Panneau latéral droit façon Codex pour DSH Web UI : navigateur d’artefacts de session (arborescence de fichiers en direct, inclusion au scan, aperçu, révélation) et chat annexe forkant la session actuelle avec sélecteur de modèle. Exécutions planifiées au rythme humain et défilement intelligent en bas.
Installer
dsh plugin --profile web add github:yur0918/dsh-sidepanelREADME
dsh-sidepanel
A Codex-style right side panel for the DSH (DeepSeek Harness) web UI at http://127.0.0.1:3080/: an Artifacts view and a Side chat, both bound to the current task session. Ships as a static profile plugin that auto-loads with DSH — no core code changes.
- Artifacts: folds the session log (
~/.dsh/sessions/…/session.jsonl.zstd, multi-frame zstd) and lists every file the session created or modified throughwrite/edit/str_replace_editortools — name, kind, path, size, mtime, source, change count. Search, source filter, copy path, reveal in Finder, safe text/code/Markdown/image preview, and an opt-in workspace mtime scan that catches bash-created files. - Side chat: a continuable fork subagent child (native
ctx.subagents) — inherits the session's completed-turn context and model, never touches the main transcript. SSE streaming, stop, retry, interrupted markers, replay across refreshes and DSH restarts. A persona keeps it answering directly instead of running off on tool sprees. - Panel: toggle button in the session-header utilities (top-right); dock mode appends a fourth track to the frame's inline
grid-template-columnsso the main content is squeezed, never covered; narrow viewports fall back to a shadowed overlay. Drag or ←/→ to resize; Esc closes preview → clears search → collapses the panel and restores focus. Open/width/tab/scan persist in localStorage.
Panel

(Interface sketch — layout and information hierarchy only; sample data is illustrative.)
Install
cd <this directory>
node scripts/install.mjs # idempotent: symlink + cordis.patch.yml insert row
node scripts/install.mjs --restart # also kickstart DSH so it loads immediately
curl http://127.0.0.1:3080/sidepanel/health # → {"ok":true,"addon":"dsh-sidepanel",...,"chat":true}
Enable / disable / uninstall
- Enabled = installed (insert row + symlink present).
- Disable: remove the
- id: sidepanel / name: dsh-sidepanelrow from~/.dsh/profiles/web/cordis.patch.yml, thenlaunchctl kickstart -k gui/$(id -u)/com.deepseek.dsh. - Uninstall:
node scripts/install.mjs --uninstall(removes the row and symlink, restarts DSH).
See README.zh.md for the full troubleshooting table and known limitations (Chinese).
Tests
node --test test/host.test.mjs test/safety.test.mjs test/client.test.mjs
Covers artifact attribution folding, fork seed boundary (seedLength), path containment math, real-filesystem preview safety (traversal / symlink escape / mismatched ids), multi-frame zstd, panel state sanitization and persistence, grid-track math (dock/overlay/closed), the chat state machine, and idempotent slot registration.
MIT license.
What's new in 1.1.0
- Side-chat model picker: a model button above the composer opens a listbox populated from the same LLM catalog the main chat uses (via the harness
llmservice). The current model is highlighted; "Follow main chat" restores the inherited routing. The choice persists inlocalStorage["dsh-sidepanel.v1"]. - Switching takes effect on send: the send payload carries the chosen model. The harness pins a child's routing at creation (
followupcannot change it), so a different routing transparently starts a new fork child; older side-chat exchanges are preserved and merged in replay order. - Send-to-bottom & smart scroll: after sending, the view sticks to the newest message; streaming keeps following while pinned to the bottom; scrolling up pauses auto-follow (no more yanking), showing a "Jump to latest" pill until you return to the bottom.
- New host route
GET /sidepanel/chat/models;POST /sidepanel/chat/sendaccepts an optionalmodel;/sidepanel/chat/statemerges multi-child replays and reportschildModel. - 26 unit tests (model catalog normalization, stick-mode math, persisted-choice sanitization added).
Full details: CHANGELOG-1.1.0.zh.md, UX-SUGGESTIONS.zh.md, selftest/SELFTEST.zh.md (Chinese).
Plugins associés
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-TUI
ccch1mneyyy/dsh-tui
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui