Introduction

DeepSeek Harness (DSH) already has built-in session auto-naming, but in actual use, you might want to rename the current session after the conversation progresses to a certain stage; or you might want the model to re-read the current context and summarize a more suitable title.

dsh-rename is a DSH plugin that fills this gap: it adds a /rename slash command to the current session, supporting explicit naming, as well as allowing the model to generate a title based on the current conversation.

What is it

dsh-rename is a DeepSeek Harness plugin maintained by lmst2, licensed under the MIT license.

Its function can be summarized in one sentence:

  • Adds a /rename slash command to the current conversation;
  • Renames the current session directly if a name is provided;
  • If no name is provided, it allows the model to read the current conversation and generate a concise title.

Core Features

Below are the capabilities already possessed by this plugin.

  1. Adds a /rename slash command to rename the current session.

  2. Renames the current session directly if a name is provided, without passing through the model.

  3. If no name is provided, it allows the model to read the current conversation, generate a concise title, and then rename the session.

  4. Submits a session/title event via the built-in DSH ctx.sessionTitle.rename.

  5. The renamed title will be pinned, so subsequent built-in auto-naming will not overwrite it.

  6. The plugin does not write custom session events, so installed sessions can still be read by any DSH build after the plugin is uninstalled.

  7. Supports configuring title length, input budget, output budget, timeout, and model routing in the profile’s cordis.patch.yml.

Installation and Activation

Prerequisites

Before installation, the following must be met:

  • DeepSeek Harness is installed, and the dsh command is available;
  • Node.js needs to be ^22.19 or >=24;
  • pnpm 11.

Installation Commands

Install from GitHub to the web profile:

dsh plugin --profile web add github:lmst2/dsh-rename

After installation, use the following command to confirm the plugin is in the list:

dsh plugin --profile web list

Restart to Apply

After installation, you need to restart the running DeepSeek Harness Web service and refresh the page.

Typical Usage

Let the Model Summarize a Title

Input the following in the current session:

/rename

This command will make the model read the current conversation, generate a concise title, and then rename the current session.

Explicit Naming

If you already know the name you want to change it to, you can provide it directly with the name:

/rename Refactor Session Title Service

When a name is provided, the current session will be renamed directly without passing through the model.

Configuring Model Routing

When you need to adjust the model routing, you can configure dsh-rename in the profile’s cordis.patch.yml.

Please note a limitation that is checked at startup:

  • The provider and model configurations must appear in pairs;
  • If one is missing, it will directly report an error at startup.

Applicable Scenarios and Notes

Suitable for the following scenarios:

  • You use DSH’s Web sessions and want to rename the current session at any time;
  • You want to manually specify a title rather than relying on auto-naming;
  • You want the plugin to be uninstalled while still allowing history sessions to be read by any DSH build.

Notes before installation:

  • The plugin runs with the permissions of the current dsh process; check the source code and license before installing;
  • If configuring model routing, provider and model must appear in pairs;
  • After installation, you need to restart the DSH Web service and refresh the page.

Project Address

GitHub:

https://github.com/lmst2/dsh-rename