Introduction

When using DeepSeek Harness, switching system prompts usually requires modifying configuration files or restarting services. dsh-diagon-alley provides tool interfaces that allow you to switch AI personas directly during a conversation. It is a Host plugin maintained by youngyangvip, positioned as “playful persona switching.”

Core Features

This plugin provides the following capabilities:

  • Role switching (switch_role): Switch AI personas by name, ID, or index.
  • Role list (list_roles): View all available roles, including index, ID, name, and description.
  • Current role (get_current_role): View the currently active role.
  • Flexible configuration: Supports adding, removing, and modifying roles in the configuration, and provides replace and append injection modes.

Installation and Enabling

Ensure that the dsh web command can run locally before installation.

dsh plugin --profile web add -w github:<你的GitHub用户名>/dsh-diagon-alley

After installation, you must restart dsh web for it to take effect, because it is a Host plugin. After restarting, open a new session to use the role-switching feature.

Usage

During a conversation, you can instruct the model to perform the corresponding operations using natural-language commands:

  • Switch by name/ID: Ask the model to “switch to Qianji Jiang” or “switch to socrates.”
  • Switch by index: Ask the model to “switch to the second role.”
  • View the role list: Ask the model to “list all roles.”
  • View the current role: Ask the model to “show the currently active role.”

Configuration and Notes

In the configuration file, you can freely define the role list and select the injection method via the mode field:

  • mode: 'replace': Replace all prompt sections with the role mask, including the DeepSeek Harness identity section.
  • mode: 'append': Append the role text to the end of the system prompt.

Keep the following points in mind when using it:

  1. Process-level scope: Role state is process-level. Switching roles in one session affects all sessions within the same process.
  2. Variable interpolation: {{variables}} in role prompts undergo strict interpolation by the system-prompt renderer. If an unregistered variable name is used, an error is thrown during prompt assembly.
  3. Mode selection: Use append mode if you need to preserve the DeepSeek Harness identity prompt.

References

  • GitHub repository: https://github.com/youngyangvip/dsh-diagon-alley
  • Ecosystem catalog: https://www.skillhub.cn/plugins/youngyangvip/dsh-diagon-alley