前言¶
在 DeepSeek Harness(DSH)里跑 Agent,系统提示词往往要反复改:名字怎么叫、语气怎样、有哪些共事约定。改一版就粘进某处配置,下次又记不清「上一轮到底注入了什么」。社区里也有人参考 Character Card 或 ChatGPT 自定义指令,但和 DSH 的请求装配、设置页并不直接对应。
dsh-peach-persona 是维护者 clf0913 发布的 DSH 人设插件,在 SkillHub 上归类为「趣味换装」。它在设置里提供 人设 页:用 12 个字段分三段填写身份、说话方式与行为准则,保存后渲染成 persona.md 并注入每次请求,同时把每次注入记进日志,便于核对是否生效。
这是什么¶
一句话:给 DSH 增加「设置 → 人设」界面,把分段字段渲染成系统提示词片段,并保留注入记录。
- 仓库:clf0913/dsh-peach-persona
- 目录页:SkillHub - dsh-peach-persona
- 许可证:MIT(见仓库
LICENSE) - 当前包版本(
package.json):0.2.0
出厂不带任何人设:12 个字段默认为空,内容全部由使用者填写;全空则不会注入残句。
核心功能¶
设置页与 12 个字段¶
字段分三组,保存后由插件渲染成一段人设正文:
| 组 | 字段 | 说明 |
|---|---|---|
| 身份 | 名字 | Agent 自称用的名字 |
| 身份 | 简称 | 留空则不提简称 |
| 身份 | 对你的称呼 | 如何称呼你 |
| 身份 | 自称 | 对话中指代自己的词(我 / 本人等);与「名字」含义不同 |
| 身份 | 关系定位 | 接在「是」后面,如「你的工作搭子」 |
| 身份 | 语言 | 留空则整行省略 |
| 说话方式 | 说话基调 | 语气、是否奉承、是否用语气词 |
| 说话方式 | 篇幅 | 回话长度与信息密度 |
| 说话方式 | 分歧时怎么办 | 不同意你时的处理方式 |
| 行为准则 | 小块标题 | 留空则无标题行 |
| 行为准则 | 共事约定 | 一条一行,建议自行编号 |
| 行为准则 | 禁忌 / 不做什么 | 留空则整段省略 |
字段设计参考了 Character Card V2 与 ChatGPT custom instructions 的「关于你 + 该怎么回答」两分法。空字段在渲染时整行省略。
注入与预览¶
- 保存后,
persona/persona.md作为产物,通过systemPrompt.section()注册两段:peach:persona(order 1)与peach:persona-tail(order 10201)。persona.md中间的---为分段约定:前段进系统提示词开头,后段进第一方指导之后。 - 不保存也可点「看最终长什么样」预览渲染结果。
- 注入记录(
persona/inject.jsonl):仅在渲染文本变化时追加一行,记录是否真的注入过、字数与时间。
数据文件位置¶
以 $DSH_HOME(通常 ~/.dsh)为根:
| 路径 | 内容 |
|---|---|
persona/persona.json |
字段表,设置页读写 |
persona/persona.md |
渲染产物,注入只读它 |
persona/persona.md.bak |
每次保存前的上一版 |
persona/inject.jsonl |
注入记录 |
手改 persona.md 不会回写字段表;页面会提示文件被外部改过,再次保存会按字段覆盖。
安装与启用¶
插件以当前 DSH 进程权限运行,安装前请自行查看仓库源码与 MIT 许可证。
前提¶
- DSH 桌面版或
dsh web版 - 知道自己的 profile 名(桌面版一般为
desktop)
README 中的安装步骤在 Windows 桌面版上验证过;Linux / macOS 未在文档中声明已验证。装完后 必须重启应用(HMR 不会热加载插件自身的 JS 模块)。
下面命令摘自仓库 README,路径请按本机替换(含 dsh.cmd 位置):
# 1) 拿到源码(目录可自定,示例路径如下)
git clone https://github.com/clf0913/dsh-peach-persona.git "$env:USERPROFILE\.dsh\plugins\dsh-peach-persona"
# 2) 以本地 link 方式装进 profile
& "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd" `
plugin --profile desktop add "link:$env:USERPROFILE\.dsh\plugins\dsh-peach-persona"
# 3) 重启应用(必须)
卸载示例(remove 子命令以你所用 DSH 版本为准):
& "<dsh.cmd 路径>" plugin --profile desktop remove dsh-peach-persona
也可从 profiles/<profile>/package.json 的 dependencies 与 dsh.profile.bundles 中移除对应项,并删除 profiles/<profile>/node_modules/dsh-peach-persona,再重启。
典型用法¶
- 打开 设置 → 人设。
- 12 个字段初始为空;可先填 名字、对你的称呼、共事约定,其余留空亦可。
- 点「看最终长什么样」预览,再点 保存。
- 下一回合起新人设生效(当前正在跑的一步不会变)。
- 要确认是否装配过:看页面底部 注入记录,有记录即表示曾注入。
正文里可使用宿主已注册的模板变量 {{model}}、{{provider}}、{{cwd}};其他未注册的 {{xxx}} 会降级为 {xxx},未注册变量可能导致整轮渲染失败。
适用场景与注意¶
适合谁
- 希望在 DSH 里稳定、可复现地配置 Agent 人设,而不是每次手搓一大段 system prompt 的用户。
- 需要核对「这一轮请求是否真的带上人设」的开发者。
限制(README 已写明)
- 仅对提供
webServer的 profile(web/desktop)生效。 - 人设 全局一份,不按工作区区分;不同项目要不同人格时,可用各工作区的
AGENTS.md。 - 文档说明仅在 Windows 桌面版上实际验证过;仓库未随包发布测试套件(源码内
test/供本地验证,装插件不依赖该目录)。
DSH 生态强调「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-peach-persona 把人设拆成 12 个可维护字段,经设置页保存、渲染、注入,并用 inject.jsonl 留下注入痕迹。若你在 DSH 里做人格或语气实验,可从目录页或 GitHub 获取源码与说明:
- 目录页:https://www.skillhub.cn/plugins/clf0913/dsh-peach-persona
- GitHub:https://github.com/clf0913/dsh-peach-persona