DeepSeek Harness plugin

dsh-session-theme

Shows every session theme in the DSH Web left sidebar immediately on page load by warming the session projection cache at startup; no need to click into a conversation first.

Jump to install

Source facts

Repository
Xliecc/dsh-session-theme
Latest update
Aug 21, 2026
Category
UI Enhancements
GitHub stars
0

Install

Start with a prompt that asks an agent to read the source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to read the page and repository first.

Do not install anything yet. Read this DeepSeek Harness plugin and explain what it does, which files, networks, or credentials it can access, and how to install and remove it.

Plugin page: https://deepseekplugins.org/plugins/Xliecc/dsh-session-theme
GitHub: https://github.com/Xliecc/dsh-session-theme
Plugin: dsh-session-theme
Author: Xliecc
Install command: dsh plugin --profile web add github:Xliecc/dsh-session-theme

Do not run the install command until I confirm.

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-session-theme

> English | [简体中文](./README.zh-CN.md)

!npm version !npm downloads !license ![CI](https://github.com/Xliecc/dsh-session-theme/actions/workflows/ci.yml)

DSH web plugin: the left sidebar shows every session's theme right on page load — no need to click into a conversation first.

The problem

In the DSH sidebar, sessions you haven't opened yet show no theme — just the workspace folder name (or a placeholder id). The theme only appears after you click into the session.

Root cause: for "cold" sessions (never opened in this process), session.list only reads the projection cache's zero-I/O rows (cachedSnapshot). If a session's title projection was never checkpointed, its list row has no title, so the sidebar falls back to the folder name. Only opening the session (which triggers the full cold-read ladder) recovers the title.

How it works

At startup the plugin runs the projection cache's cold-read ladder (coldSnapshot) for every persisted session: it refolds the title projection from the stored log and durably writes it back to the cache. After that, every row returned by session.list carries a title projection → the sidebar natively shows each session's real theme, no click required.

  • Only "cold" sessions are processed (not opened in this process); sessions that are already loaded already carry live projections in their list rows.
  • Fail-soft per session: a corrupted log never affects other sessions and never blocks startup.
  • Idempotent write-back: the next boot hits the cache fast path instantly.

See [ARCHITECTURE.md](ARCHITECTURE.md) for the full design and data flow.

Verify it works

1. Install the plugin (any method below), then hard-refresh the browser (Ctrl/Cmd+Shift+R). 2. Open the DSH Web sidebar — every session row should show its conversation theme, not a folder name. 3. To confirm the hit, run: dsh plugin --profile web add dsh-session-theme and watch the server log for the line: dsh-session-theme: projection cache warmed (N sessions).

Install

Link install, zero external dependencies (host side uses only standard services):

dsh plugin --profile web add link:/path/to/dsh-session-theme

Or clone from GitHub:

git clone https://github.com/Xliecc/dsh-session-theme.git
dsh plugin --profile web add link:./dsh-session-theme

Or install from npm:

dsh plugin add dsh-session-theme

After installing, hard-refresh the browser (Ctrl/Cmd+Shift+R) so the client re-pulls session.list.

Files

  • lib/index.js — host side: warms the projection cache at startup (all behavior)
  • lib/client.js — browser-side stub (no-op, keeps the registered manifest consistent)

License

MIT