Focus mode with a full-screen reading overlay that hides the header and composer and folds AI tool calls into summaries.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-focus-overlay
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:boogoo619/dsh-focus-overlay
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Features
- Full-screen display — covers the whole UI, giving all vertical space to the conversation
- Hide the header and composer — a thin top bar remains, the input area is tucked away
- Fold tool calls — an assistant turn collapses into a one-line summary
- Quick navigation — a right-side node navbar with hover preview and click-to-jump
- Auto-focus & reminders — after a reply completes, optionally auto-enter focus at your question; while in focus, get a toast for a new reply or when the AI is waiting on you
These features are designed to give small screens more content space: tucking away the persistent header/composer and tool steps lets the conversation use as much of the screen as possible.
Screenshots
Off — the normal chat view

On — focus mode

Once in focus mode, an assistant turn no longer shows every step — it folds into a single summary line:
ran 2 commands, edited 3 files, read 5 files, ran 1 search
Capabilities
| Feature | Description |
|---|---|
| Full-screen overlay | Registered into shell.overlay (additive, replaceRisk: none) — covers header / composer / sidebar, giving all vertical space to the conversation |
| Official rendering | Assistant text through official MarkdownText (GFM + code highlighting + TeX); user messages through MessageText; user bubble uses the official blue, borderless style |
| Image resolution | Assistant image blocks resolve through conversation.resolveImage, rendering session-authorized images 1:1 |
| Tool-call folding | Tool calls / commands / context injections fold into a categorized summary line (commands / edits / searches / reads / directory listings / subagents / todos / goals / workflows / skills / questions / plans / background jobs) |
| Precise scroll preservation | Opens at the message you're reading in the chat (aligned by seq), not from the top |
| Right-side node navbar | One dot per user message; active pill follows scroll, hover preview, click to jump, auto-hidden under 2 messages |
| Back to latest | A centered "↓ back to latest" floating button appears when you scroll away from the bottom |
| File mentions | Wires chatFileMentions, turning inline-code tokens that name real files into clickable links |
| i18n | Chinese / English copy, follows the UI language |
| Settings page | Navbar toggle, open-position strategy, text-area width — persisted to localStorage |
| Auto-enter focus | After a reply completes normally, auto-open focus at your question; abnormal endings (stop / error / max-tokens / interrupt) never fire |
| Reply / waiting reminders | In focus, a "New reply ready + View" toast on completion; an "AI is waiting for your reply + Reply" toast on a question/approval, auto-cleared once answered |
Install
Requires the dsh CLI (>= 0.1.0-rc.5).
From npm (recommended)
dsh plugin --profile web add dsh-focus-overlay
dsh web
From GitHub
dsh plugin --profile web add github:boogoo619/dsh-focus-overlay
dsh web
A git install pulls the source and builds it in place via the
preparescript. pnpm ≥10 refuses to runprepareuntil you allow it; the firstaddfails, then follow thedshhint and add the exact package key to that profile'spnpm-workspace.yaml:allowBuilds: dsh-focus-overlay: trueThen re-run
add. This authorization lets the package's code run on your machine at install time — only grant it to sources you trust, and pin the commit (github:boogoo619/dsh-focus-overlay#<sha>).
Local directory / tarball
dsh plugin --profile web add ./dsh-focus-overlay # local directory
dsh plugin --profile web add ./dsh-focus-overlay-0.1.0.tgz # tarball
Restart dsh web after install.
Usage
- Open a session and click the "Focus" button in the session header action row.
- You enter the full-screen focus view: a thin top bar (session title + exit) and the conversation only, with tool steps folded into summary lines.
- Hover the right-side dots to preview, click to jump; a centered "↓ back to latest" button appears when you're not at the bottom.
- Press
Escor click "Exit focus" to return — the original UI is untouched.
Settings
Sidebar "Settings → Focus Mode":
| Option | Description |
|---|---|
| Show right-side navbar | Toggle the nav dots (default on) |
| Preserve chat position on open | Open at your current reading position; off opens at the latest (default on) |
| Text width | 480–1200px slider for the reading column (default 760px) |
| Auto-enter focus mode when a reply completes | On a normal completion: auto-open at your question when closed, or a "New reply ready" toast when open; an "AI is waiting" toast on a question/approval (default off) |
License
Links
More in this category
zhu1090093659/dsh-web-ui#packages/dsh-web-ui-all★ 4254
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
omdsh-dev/DSH-better-sidebar★ 2026
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
ccch1mneyyy/dsh-TUI★ 1866
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/dsh-at-file★ 347
Codex-style `@file` mentions: search workspace files in the composer and attach their contents to prompts.
huiliyi37/dsh-tianshu-tui★ 209
A terminal UI (TUI) for DeepSeek Harness.
omdsh-dev/dsh-genui★ 196
Interactive UI components rendered inline in replies: layout, charts, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model.