Introduction

When managing multiple sessions in DSH (DeepSeek Harness), a color-based indicator in the sidebar title offers an efficient way to quickly tell the session state. The dsh-session-colorful-unread-pin-jobs plugin addresses this need with color gradients, visually presenting the three states of “Unread · Running,” “Unread · Completed,” and “Officially Pinned.”

What It Is

This is a playful cosmetic plugin maintained by enterhalf. It does not reimplement DSH’s existing official pinning and sorting features. Instead, it reads the official pinned set and unread state, then uses a DOM observer to add inline-style gradients to session titles. The plugin is built entirely on official extension points and does not modify the official bundle.

Core Features

  1. Title Status Coloring
    Session titles display different color gradients based on status:
    • Unread · Running: brand-blue gradient (reads the running flag from the session list store).
    • Unread · Completed: green gradient (the session returns to an idle state).
    • Pinned: yellow gradient (reads the official pinned set).
    • Mixed status: composite gradient; the pinned color always stays leftmost, and the unread color stays rightmost.
  2. Official Pin Integration
    The plugin only reads the official pinned set and does not write pinned data. Pinning relies entirely on the DSH official menu (“Pin Session”). Uninstalling the plugin does not affect existing pin states.
  3. Unread Management
    Adds an “Unread Sessions” section to Settings. This section lists all unread sessions, supports marking them as read individually, and provides a “Clear on Send” toggle (disabled by default).
  4. Zero Bundle Modification
    Menu entries are registered through official slots. The coloring logic depends only on data-row-key and the title class suffix _title, with no modification made to the official client.js.

Installation and Enablement

Ensure your DSH version is >= 0.1.7-alpha.2. The installation command is:

dsh plugin --profile web add dsh-session-colorful-unread-pin-jobs@latest

Typical Usage

After installation, sidebar session titles are colored automatically. You can click the “…” menu on a session row and use the official “Mark as Unread/Read” feature, or manage unread sessions in batch from the “Unread Sessions” area on the Settings page.

Use Cases and Notes

  • Version Requirement: DSH >= 0.1.7-alpha.2 is required. Older versions lack official slots and data-row-key, so the UI layer will not work as intended.
  • Collapsed Groups: session rows inside collapsed workspace groups are not rendered; when a group is expanded, the observer immediately applies the missing colors.
  • Multiple Tabs: the currently opened session is determined by the holder of retainedBy.mainView in the list store, and multiple tabs remain independent of one another.
  • Theme Adaptation: the colors depend on the brand color variables provided by the theming system. If a third-party theme does not change colors through this mechanism, the coloring may not follow the theme.
  • Unread Detection: automatic unread tracking counts only whitelisted model events (such as assistant/chunk); exception events that do not produce content, such as llm/retry, are not counted.

Conclusion

This plugin significantly improves the visual efficiency of sidebar session management through color coding, while remaining non-invasive to official behavior. For more details and the source code, visit the GitHub repository.