Introduction

When running multiple parallel sessions in DeepSeek Harness (DSH), the sidebar often ends up displaying a list of similar titles: it’s difficult to distinguish at a glance who is coding, who is waiting for confirmation, or who has delivered. Manually renaming titles or relying on memory to filter sessions causes costs to rise linearly with the number of sessions.

dsh-session-prefix targets this scenario: it appends a status prefix (Emoji by default) to the very beginning of session titles and supports automatic phase inference via a Jev decision model or Agent tools, reducing the need to repeatedly open sessions to check progress.

What is this?

dsh-session-prefix is a DSH community plugin maintained by john-walks-slow and categorized as “Workflow” in the directory. It does exactly one thing—update the title string of the current session to visualize the task phase; it does not modify the session data structure or change the Harness runtime behavior.

The plugin is open-source on GitHub (john-walks-slow/dsh-session-prefix). The current version in package.json is 0.1.0, and the license is MIT.

Core Features

Below are two complementary automatic classification pathways, as well as supplementary capabilities on the manual and settings sides. The mechanisms described in the documentation can be toggled independently or used in conjunction.

Jev Decision Model: Configuration-free Automatic Classification

It introduces a lightweight TypeSafe Jev decision model dedicated to phase classification analysis. It does not require injecting long prompts into the main model, nor does it consume the main session’s context budget.

  • During a turn: After the user proposes a new requirement, it quickly determines if the intent has changed (e.g., switching from development to acceptance, troubleshooting, or planning) based on the previous turn’s output.
  • At the end of a turn: After the Agent outputs the deliverable, it updates the classification to the corresponding status (e.g., Pending Review or Completed) based on the final result.

The decision side only receives the current instruction and a summary of the output; it does not transmit the full history. If the API Key is not configured, it silently skips without blocking the session.

Agent Tool: Proactive Marking

It exposes the session_prefix tool to the Agent. As complex tasks progress, the model can proactively call the tool to maintain the session status. The tool description already includes definitions and use cases for each classification; you can also add specific rules in the Web settings page (e.g., “Do not mark as completed without user confirmation”).

Status Self-Healing and Default Behavior

When a user continues to ask questions in a session that is already in a static state (Blocked, Pending Review, Completed), the plugin automatically falls back to “In Progress” at the start of the turn to reflect that the session has become active again. New sessions are initialized with a default “In Progress” classification, coexisting with background asynchronous LLM title generation; once naming is complete, the prefix automatically attaches.

Default Classification System

Prefix Status Key Status Name Applicable Phase
🚧 wip In Progress Coding implementation, plan execution (default for new sessions)
⏸️ blocked Waiting/Blocked Waiting for user input, approval, or external blockage
👀 review Pending Review Feature ready, waiting for user inspection and verification
✅ done Completed Current session goal delivered
💡 plan Planning/Research Requirement discussion, architecture design, and technical research
🐛 bug Troubleshooting/Fixing Problem localization, fault diagnosis, and defect fixing

You can directly enter the status Emoji (e.g., 🚧 or ✅) in the sidebar search box to filter similar sessions.

Installation and Activation

DSH adopts a plugin-based extension system; the community directory is available at SkillHub Plugin Page. It has no official affiliation with DeepSeek or High-Flyer. Before installing, it is recommended to browse the repository source code and LICENSE, as the plugin runs with the permissions of the current dsh process.

The installation methods provided in the official README are as follows.

# Online installation
dsh plugin --profile web add dsh-session-prefix

# Install from GitHub source
dsh plugin --profile web add github:john-walks-slow/dsh-session-prefix

# Local development link
dsh plugin --profile web add link:/path/to/session-prefix

Once installed, it mounts without complex additional configuration: it comes with the session_prefix model tool, the /prefix user command, and the Web-side “Session Prefix” settings page (Settings → Session Prefix).

Typical Usage

Slash Command /prefix

View, switch, or clear the prefix at any time within a session:

/prefix              # View current session status and list of available classifications
/prefix review       # Switch to "👀 Pending Review"
/prefix done         # Switch to "✅ Completed"
/prefix none         # Clear prefix, restore pure title

Web Settings Panel

In Settings → Session Prefix, you can:

  1. Add, delete, or modify status presets (supports Emoji or short text prefixes, such as [DEV]).
  2. Toggle Jev automatic inference, configure API Key, model, and endpoint, and perform connectivity speed tests.
  3. Configure filtering and skipping rules: the built-in regex is ^\S+ · by default, used to skip titles that already have external labels (such as Telegram · xxx) to avoid duplicate prefixes.

Automatic classification and tool marking can run in parallel: Jev handles turn-level inference, and the Agent explicitly tags via session_prefix when needed; users can still override using /prefix.

Use Cases and Notes

This is suitable for developers who run long-term parallel Harness sessions and need to filter by phase or quickly glance at sidebar status. If you rely heavily on external channel titles (with fixed prefix tags), you should check the skip rules to avoid double prefixes.

To emphasize again: the plugin only modifies the title string; the Jev pathway requires you to configure the API Key and endpoint yourself. If not configured, it does not affect the main session, but automatic inference simply will not occur. Classification semantics can be customized on the settings page; if they differ from the default six categories, your presets take precedence.

Conclusion

dsh-session-prefix consolidates the session phase at the front of the title, using the Jev and Agent tool pathways to reduce the burden of manual classification maintenance, while retaining final control via /prefix and the settings page.