dsh-persona-switch
在终端中运行以下命令:
dsh plugin install sorbitol25/dsh-persona-switch
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install sorbitol25/dsh-persona-switch 安装本插件;也可从 npm 添加 dsh-persona-switch,源码见 https://github.com/sorbitol25/dsh-persona-switch。
插件介绍
DeepSeek Harness 的官方设计里,部署侧 system prompt 只是配置与拼装,会话运行中并没有面向终端用户的「随时改人设」接口;预设里的 dsh-persona 也只在单个 agent preset 内生效,无法在 TUI、Web 或无头任务里热切换。dsh-persona-switch 用插件方式在每次组装时注入可切换的 prompt 段:切换时会注销并重新注册该段,并发出 system-prompt/change,下一轮对话即按新 persona 拼装,全程无需重启或改核心代码。
核心能力包括:在任意运行中的会话里通过 /persona 或已注册的 persona_switch 工具切换人设;人设文件放在 $DSH_HOME/personas/ 下的 Markdown,可用 front-matter 控制是否完整替换 system prompt(complete)、标题与后缀槽位;首次运行会从包内种子复制示例(如 jb、terse、_selftest),之后可自行增删并 /persona reload。状态在部署维度共享,TUI 里切一次,后续无头脚本也会沿用同一 persona。
适合需要在同一条 DSH 部署上快速试验不同写作风格、角色设定或合规话术的团队与个人;也适合用脚本驱动、希望在不改 bundle 的前提下切换「轻量叠加」与「整段替换」两种策略的用户。需注意 complete: true 会把整段 persona 打进每一轮 system prompt,大文件会显著增加 token 与缓存行为变化;且不宜与其他会注册第二套 persona 段的插件并存。
使用场景
- 在 TUI 或 Web 对话中临时换成另一种写作口吻或角色设定
- 无头脚本与交互会话共用同一部署级 persona 状态
- 对比 complete 整段替换与叠加式 persona 对回复风格的影响
适合人员
- 日常使用 DeepSeek Harness 且想免重启试人设的用户
- 需要可复现、可脚本化 persona 状态的自动化作者
- 在趣味换装类场景里玩角色与文风实验的创作者