dsh-plugin-user-persona:在 system prompt 中每轮注入用户画像

前言

在 DSH 里,若把「用户是谁、希望助手怎么说话」写成 skill,通常要由 agent 自己判断这一轮是否加载。上下文一长,这类风格约束往往被跳过,规范写了,多数轮次却不生效。

dsh-plugin-user-persona 走另一条路:向 system-prompt 注册名为 user-persona 的小节,text 为函数,每次提示组装时重新求值,不依赖 skill 是否被选中。下面介绍它做什么、怎么装、怎么用,以及验证时能指望什么。

这是什么

dsh-plugin-user-persona 由维护者 tf961656585 发布,在社区目录中归类为 趣味换装。一句话定位:为 DSH 提供预设身份与 0–100 权重,把组合后的画像文本注入系统提示,且每一轮对话都会带上。

插件版本在 package.json 中为 0.2.0,协议为 MIT。

为什么用 system-prompt 而不是 skill

README 归纳了设计动机:

  • 每轮都在,不需要触发条件;
  • 调整权重后下一轮即生效,不必重启插件;
  • 与 skill 目录的加载逻辑无关。

共享框架里还固定了一条成本表述口径:不用天/周/人日,按「本轮能否收口、要几个切片、每个切片交付什么、验收做什么」说明;只有明确对外报价时才换算成人类工期。这条会随画像注入,影响助手在估算与拆任务时的说法。

核心功能

面板「用户画像」

装好后,左侧栏图标进入 用户画像:

  1. 五种预设身份:产品经理、设计与体验、开发与技术、业务与创始人、学习者;
  2. 每条身份一条 0–100 权重滑条,0 表示关闭该身份;
  3. 权重最高者决定主说话方式,其余有权的身份各贡献一行补充;
  4. 权重分档:1–39 轻度、40–69 中等、70–100 完整(详略与强制程度不同);
  5. 页面底部 实时显示真正注入的文本;
  6. 状态行说明该小节是否已进入提示组装(读取 systemPrompt.assemble() 的实际结果,而非插件自我声明)。

HTTP 接口

方法 路径 用途
GET /plugin/user-persona/state 预设、权重、当前注入文本
POST /plugin/user-persona/save 保存 { weights: { id: 0-100 } }
GET /plugin/user-persona/verify 检查该小节是否真的进入提示组装

状态持久化

权重与相关状态写在:

$DSH_PROFILE_DIR/user-persona.json

无 profile 时依次退回 $DSH_HOME,再退回 ~/.dsh。

安装与启用

在 DSH 的插件安装界面填写下列之一,装完后 重启 DSH,左侧栏应出现「用户画像」。

github:tf961656585/dsh-plugin-user-persona

也可填写该仓库在本机的 绝对路径(与填 GitHub 坐标二选一,以你本机部署方式为准)。

插件在 当前 DSH 进程权限 下运行。安装前请自行查看仓库源码与 MIT 许可证,确认符合你的环境与合规要求。

典型用法

  1. 打开「用户画像」,按你的角色拖动各身份权重(例如以「开发与技术」为主、辅以「产品经理」)。
  2. 观察底部预览:组合后的注入文本应随滑条即时变化。
  3. 确认状态行为「已进入系统提示」类提示(以界面实际文案为准)。
  4. 若需程序化读写,可对 /plugin/user-persona/state、/plugin/user-persona/save、/plugin/user-persona/verify 按上表调用。

保存权重示例(请求体形状以 README 为准):

{
  "weights": {
    "<预设身份 id>": 70
  }
}

各预设的 id 以 GET /plugin/user-persona/state 返回为准,勿臆造键名。

验证步骤

README 给出四条可操作的检查:

  1. 面板能打开,滑条可拖动并显示百分比;
  2. 底部预览文本随滑条变化;
  3. 状态行显示「已进入系统提示」(或等价成功状态);
  4. 新开一轮对话,回复的开头/结尾结构应体现所选画像。

第 4 条 只能由人主观判断。插件能证明文本进了系统提示,不能保证模型一定按画像口吻执行;排查问题时可用 GET /plugin/user-persona/verify 对照组装结果。

适用场景与注意

适合:希望助手长期以固定角色画像回答(产品、设计、业务、学习等混合权重),又不想把规范押在 skill 触发上;需要在 UI 里直观看「最终进了 prompt 的字符串」的 DSH 用户。

注意:

  • 依赖 DSH 的 system-prompt 与 Web 侧栏注入(package.json 中 dsh.client 为 platform: web,并注入布局与侧栏模块);
  • 社区目录 skillhub.cn 为独立生态站点,与 DeepSeek / 幻方无官方从属关系;DSH 理念是「一切皆插件」,本插件是其中一枚可选组件。

同系列插件(README 所列):产品经理看板、本机进程、技能管理、同步委派。

结尾

dsh-plugin-user-persona 把「用户是谁」从可跳过的 skill 约束,改成每轮必算的 user-persona 系统小节,并用滑条权重与底部预览把不透明 prompt 摊开。需要安装坐标、接口与验证清单时,以仓库 README 为准。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye