dsh-persona-studio:在 DSH 里编译可版本化的人格规格

前言

在 DeepSeek Harness(DSH)里调助手「人格」,常见做法是手写一段系统提示词:难复用、难对比,改坏了也不容易回滚。社区插件 dsh-persona-studio(维护者 promise0320,MIT,当前版本 0.1.0)把对话风格、创作习惯、反馈方式、语气语调等拆成结构化字段,编译成确定性提示词,并挂在主界面输入区旁,不必离开对话就能预览、切换和从历史会话归纳草案。

下面按「它是什么 → 能做什么 → 怎么装 → 怎么用 → 注意点」说明。安装与配置以仓库 README 为准;插件目录页见 SkillHub。

这是什么

dsh-persona-studio(人格编译工坊)面向在 DSH 里长期协作的开发者:把 LLM 人格从「一段自由文本」变成六维度、41 个字段的可编辑规格,实时编译预览,保存后下一次模型请求即注入系统提示词末尾(<persona>…</persona>,落在 DEPLOYMENT_PERSONA_SUFFIX 之后)。零额外依赖、无构建步骤;加载端为纯 ESM,面板为插件自有 HTTP 路由提供的纯 JavaScript。

插件原名 dsh-persona-forge,已改名为 dsh-persona-studio(与 npm 上另一类「改写消息」插件区分)。改名后需重启一次 DSH 才生效;数据目录仍为 $DSH_HOME/persona/(默认 ~/.dsh/persona/),人格库不会因改名丢失。

人格怎么被「编译」

六个维度各自回答一类问题,再映射为同一份 spec:

维度 回答的问题 典型字段
身份设定 你是谁、怎么称呼我 人格名、头衔、称呼、自称、一句话定位
对话风格 · 语气语调 怎么说 语气基调、篇幅、热情度、正式度、直接程度、幽默感、emoji、比喻、标点、口头禅、禁用表达、语言偏好
创作习惯 怎么干活 规划、回答结构、探索与实现、验证、注释命名、交付形态、主动程度、风险偏好等
反馈方式 怎么回应我 不确定时的处理、指出问题的方式、建议颗粒度、肯定频率、追问与过程汇报等
边界与红线 什么不让步 必须始终做到、绝对不做、补充说明
运行参数 工程细节 temperature、开头是否重复强化、聚焦等级

「聚焦等级」是重要开关:

  • strict:风格为强制约束,除非与安全、事实或你当次显式指令冲突;
  • balanced(默认):风格只约束「怎么说、怎么组织、怎么推进」,不改变任务事实与你的显式指令;
  • off:本次不注入人格。

设计约束上,人格只改提示词,不修改工具行为、权限或沙箱;balanced 下人格让位于你的显式指令与任务事实。

三个核心能力

编译、预览与回滚

「编译」页左侧为表单,右侧为实时编译结果;改刻度即更新将被注入的文本。保存并启用后无需重启 DSH 或重开对话,下一次请求即带新人格。当前编译快照会写入 compiled.txt,便于查看或交接。

内置模板与自定义模板

内置 6 套:严谨工程师、系统架构师、苏格拉底导师、中文文字匠、极简执行者、结对编程搭子。将 *.json 放入 <人格库目录>/templates/ 即可在「模板」页出现;可只写需覆盖的字段,例如:

{
  "name": "我的搭子",
  "tags": ["私有"],
  "summary": "一句话说明",
  "spec": { "style": { "tone": "casual", "directness": 90 } }
}

跨机器迁移可用 GET /dsh-persona-studio/export 下载完整人格库 JSON(含配置与激活记录)。

从历史对话自动归纳

「自动归纳」提供两种模式:

  1. 统计归纳(默认):读取最近若干在线会话中用户消息,统计长度、列表与代码块占比、祈使句、礼貌用语、emoji、语气强度、报错与规划语境等,映射为人格草案,并给出判断依据与潜在需求。
  2. 模型深读:使用当前会话正在使用的模型归纳人格 JSON、依据与「未说出口但反复出现的需求」;失败会回落到统计归纳并说明原因。

采纳或切换会写入 traces.jsonl,可在「设置」页查看倾向轨迹。

界面与命令

默认在输入框工具栏右侧(与模型选择同一行,conversation.input.right)显示「人格」按钮;可在设置中改为左侧工具栏、输入卡片旁或右下角悬浮。快捷键:Ctrl+Shift+P 开合面板,Esc 关闭。

对话内命令:

  • /persona、/persona list、/persona use <名称或ID>
  • /persona on|off、/persona path

浏览器控制台自检:__DSH_PERSONA_FORGE_API__.remount() / .placement() / .state()。

安装与验证

官方推荐用仓库内脚本安装(幂等:在 profile 的 node_modules 建目录联接、登记 package.json 依赖与 bundle、在 cordis.patch.yml 插入挂载)。改完后必须重启一次 DSH(bundle 列表在启动时解析)。

Windows:

pwsh -File scripts/install.ps1                  # 默认 profile = desktop
pwsh -File scripts/install.ps1 -Profile web     # 指定 profile

macOS / Linux:

bash scripts/install.sh desktop

手动安装时,需在 profile 的 package.json 中声明 "dsh-persona-studio": "0.1.0" 与 bundle 名,并在 cordis.patch.yml 追加 id: dsh-persona-studio 的 insert 段,然后重启 DSH。细节见 README「方式 B」。

验证示例(README):

Invoke-WebRequest http://127.0.0.1:19387/dsh-persona-studio/state -UseBasicParsing
(Invoke-WebRequest http://127.0.0.1:19387/ -UseBasicParsing).Content -match 'dsh-persona/bootstrap.js'

卸载:

pwsh -File scripts/uninstall.ps1                 # 保留人格库
pwsh -File scripts/uninstall.ps1 -RemoveData     # 删除数据

运行环境要求 Node >=20(自检脚本可不启动 DSH 直接跑)。

数据目录

全部位于 $DSH_HOME/persona/:

文件 内容
library.json 人格库与当前激活人格
config.json 注入开关、归纳参数等
templates/*.json 自定义模板
compiled.txt 当前编译快照
traces.jsonl 激活、采纳、删除记录

写入采用临时文件再 rename;内容损坏时拒绝覆盖,设置页会提示并可按 README 说明恢复,避免坏数据被默认值静默抹掉。

适用场景与注意

适合需要多套固定协作风格、希望对比同一任务在不同人格下表现、或想从自己的历史对话反推「潜在需求」的 DSH 用户。不适合把人格当成权限或工具策略的替代品——插件明确只注入提示词。

安装前建议阅读 GitHub 仓库 源码与 MIT 许可证;插件以当前 DSH 进程权限运行,人格库落在本机目录。社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,属社区「一切皆插件」生态中的独立条目。

结尾

dsh-persona-studio 把「写一段人格提示词」变成可预览、可模板化、可从历史归纳的结构化工作流,并嵌进 DSH 主界面。需要细节、测试说明与已修复问题列表时,以 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/promise0320/dsh-persona-studio
  • 源码:https://github.com/promise0320/dsh-persona-studio
羽毛球分组比赛记分
小程序二维码

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

小夜