DeepSeek Harness 人设切换插件

前言

DeepSeek Harness (DSH) 的核心在于插件化与 Agent 灵活性。在实际使用中,开发者常遇到一个需求:在会话中途只希望改变模型说话的语气与人设,而不希望重置它已有的工具、技能或模型选择。现有的某些切换方案在执行人设替换时,往往需要注册 Agent Preset 或调用 recompose(),这会连带重置整个会话的工具组合,导致工具丢失或命令表清空。

dsh-persona-switcher 插件解决了这个问题。它通过宿主原生的 persona-switcher:persona section 机制,将角色正文注入到提示词中,实现了“只换说话的人,不碰手里的工具”。

核心能力

  • 角色库管理
    插件支持在 rolesDir 目录下维护角色文件,每个角色对应一个 ROLE.md。文件中包含 id、name、description 以及人设正文。角色文件支持目录结构或扁平文件形式。

  • 会话中途切换
    使用 /role <id> 命令即可在当前会话中切换角色。插件不会调用 recompose(),因此不会重置会话的工具、技能和模型配置。使用 /role none 可一键退回宿主默认人设。

  • 宿主原生机制
    插件利用宿主的 persona-switcher:persona section 机制,将角色内容作为独立提示词段注入。它不遮蔽宿主的部署身份行(如 You are a coding agent...),只是在其后追加人设描述,确保模型始终知道自身运行在哪个模型上。

  • 持久化与默认值
    每次切换会话角色时,插件会将选择记录在 $DSH_HOME/persona-switcher/sessions.json 中。重启 DSH 后,该会话的第一步提示词会自动应用上次记录的角色。同时,支持通过 defaultRole 配置项设置新会话的默认角色。

  • 可视化管理与诊断
    在设置页中提供可视化的角色库管理界面(含专属导航图标),支持新建、编辑和删除角色。此外,提供 role_probe 诊断工具,用于检查当前绑定状态、系统节点及工具清单。

安装与启用

确保已安装 DeepSeek Harness >= 0.2.0-rc.1。

dsh plugin add --profile desktop dsh-persona-switcher

安装后需要完全退出并重启 DSH 才能生效。

使用方式

  • 查看当前状态
    在会话中输入 /role,可查看当前会话角色及角色清单。

  • 切换角色
    输入 /role whale-girl 切换到指定角色(whale-girl 为角色 ID)。

  • 撤销切换
    输入 /role none 撤销本会话的角色,恢复为宿主默认人设。

  • 设置默认角色
    输入 /role default whale-girl,将指定角色设为新会话的默认角色。

  • 设置页操作
    直接在设置页的“人设切换”板块进行可视化管理。

边界与安全

本插件在设计上严格限制了权限范围,仅写入内存中的提示词段和特定的配置文件,不涉及网络请求或凭据读取。

  • 权能边界

    • 不声明任何角色级工具、技能或模型。
    • 不读取角色文件中的 tools、denyTools、skillsDir、model 字段。
    • 不注册 agent preset,不调用 recompose()。
    • 不遮蔽宿主的身份行。
  • 文件写入位置
    插件仅写入 4 个位置:$DSH_HOME/persona-switcher/sessions.json(会话记录)、<rolesDir> 下的角色文件(仅用户主动新建/编辑/删除时)、宿主 profile 的 cordis.patch.yml(通过 settings 表层间接写入)。

  • 网络与隐私
    插件不联网、不上传角色内容、不读取凭据文件。仅通过宿主已有的本地 webServer 提供极少数端点(如列出角色),不开启独立服务。

总结

dsh-persona-switcher 是一个专注于“人设层”切换的轻量级插件。如果你需要在不重置工具链的情况下频繁切换模型语气,它提供了比更换 Agent Preset 更精细的控制方案。安装后角色文件保留,卸载即可彻底清除所有痕迹。

  • GitHub 仓库:https://github.com/yupaoa/dsh-persona-switcher
  • 插件目录:https://www.skillhub.cn/plugins/yupaoa/dsh-persona-switcher
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜