Introduction¶
DeepSeek Harness (DSH) uses a plugin architecture. During development or usage, managing sessions—creating, renaming, and archiving them—usually requires switching context or interacting with the sidebar. The dsh-session-pilot plugin allows the model and users to manage DSH sessions directly within the current conversation, without leaving the current chat window.
Core Capabilities¶
The plugin primarily provides two types of capabilities: model-invokable tools and UI operation entry points.
Model Tools¶
The plugin exposes five tools to the model for full session-lifecycle management:
new_conversation: Carve out a drifted topic or a well-scoped task from the current conversation and create a brand-new session in the sidebar. The new session has no history and contains only one complete, self-contained user message constructed by the model.rename_session: Rename the current session.list_sessions: List sessions by most recent activity, showing title, running status, and directory. Supports searching by passing a query through a content-search message.read_session: Read a compact text record of a specified session, containing only the latest user/assistant text messages and bounded in size.archive_session: Archive a session from the workspace session list while persistently retaining logs.
UI Operations¶
The plugin reuses DSH official UI slots and does not perform DOM injection:
- Session header “+ New chat”: Clicking this button opens a blank session in the current workspace.
- Per-assistant-message “⧉”: Clicking this button on an assistant message uses that message’s text, bounded in size, as the first user message in a new session.
Installation and Activation¶
Installing the plugin requires DSH’s plugin management command. After installation, restart the dsh process.
dsh plugin add dsh-session-pilot
After installation is complete, the model will gain the five tools described above, the session title bar will show the “+ New chat” button, and each assistant message will have the “⧉” action available beside it.
Usage¶
1. Using Model Tools¶
Simply type natural-language commands in the conversation, and the model will invoke the corresponding tools.
- Create a new session: Say “spin this task off into a new conversation”.
- Rename: Say “rename this conversation to X”.
- List: Say “list my recent conversations”.
- Read: Say “what did we discuss in session X”.
- Archive: Say “archive session X”.
2. Using UI Actions¶
- Create a blank session: Click “+ New chat” in the session title bar.
- Create from context: Click the “⧉” action next to an assistant message to use the message text as a context reference at the beginning of a new session.
Limitations and Notes¶
- Text excerpt limitation:
read_sessionreturns only text messages. Images and tool-call blocks inside assistant messages are not carried over. When referencing files in a new session, it is recommended to use the@symbol. - Preset inheritance differences: Sessions created through the UI use the deployed default agent preset and skip inheriting the source session’s preset, whereas sessions created through the tool path inherit the source session’s preset.
- Archive and undo: Archiving only removes a session from the workspace list; logs are still retained. The plugin does not support unarchiving, so restoration must be done through the UI. After creating a session, there is no undo action; archive it if you need to clean up.
- Tool-call filtering:
read_sessionskips tool events and displays only user/assistant text.
Conclusion¶
dsh-session-pilot fills the community gap for enabling the model to directly create, rename, and archive user-visible first-level sessions. It does not conflict with purely UI-based session management plugins such as dsh-session-kit: the former provides model-invokable operation interfaces, while the latter provides a visual management panel.