人格工坊(Persona Studio)
为每个会话绑定一张独立的人格卡。切换之后,模型会知道自己是谁——不止一个名字和一句设定,而是一份有性格、有喜好、有习惯、有过去的自我认知。
DeepSeek Harness(DSH)插件。人格数据保存在本地,不会上传到任何服务器。
安装
需要 DSH 0.2.x(桌面版或 dsh web)。在命令行中执行:
dsh plugin add github:ShiLaiM/dsh-persona-L
然后重启 DSH,在设置 → 插件里确认「人格工坊」已启用;设置页会出现「人格工坊」入口,对话框上方会出现「人格」按钮。
也可以把仓库克隆到本地,用 link: 方式接进 DSH profile(本仓库开发时就是这种用法)。
能做什么
- 人格库独立保存:使用
dsh_persona持久域,不混入会话记录。 - 每个会话单独绑定:切换人格只影响当前会话,其他会话不受影响。
- 切换后立刻“入戏”:人格卡会被编译成第一人称的自我认知,从当前这一步起注入。
- 够用的认知量:默认约 3,800 字的静态自我认知预算,性格、喜好、厌恶、习惯、动机、背景都会分到位置;不再因为预算不足整段丢掉背景。
- 薄卡一键补完:只写了名字和一句话设定也没关系。设置页或输入框人格面板里的“补完自我认知”会调用当前模型,把空着的性格、喜好、习惯、背景补成可演的具体内容;已有字段不会被覆盖。
- 每步自动注入:静态人格卡挂在系统提示层;场景、心情和会话正史作为运行时上下文追加,修改它们不会反复破坏系统提示缓存。
- 聊天中实时完善:模型可以通过
persona工具创建、修改人格,记录场景、心情、关系和正史。 - 正史会记得时间:每条正史带日期,按“固定 / 与这句话相关 / 最近”挑选,最多 8 条、约 1,100 字。
- 快捷切换:输入框上方的“人格”按钮;设置页“人格库”管理卡片并预览实际注入的自我认知。
- 斜杠命令:
/persona list、/persona show、/persona use <名字>、/persona new <名字>、/persona off、/persona remember <内容>、/persona notes、/persona forget <id>、/persona pin <id>、/persona enrich。 - 导入导出:设置页可导出/导入 JSON。
数据位置
持久域名为 dsh_persona,默认由 profile 的 storage-json 后端保存。当前桌面 profile 下通常位于:
~/.dsh/storages/dsh_persona.json
文件包含三张表:
personas:可复用人格卡bindings:会话 → 人格states:会话 → 场景、心情、关系、正史笔记
自我认知(核心)
人格卡不是角色标签,而是模型关于自己的知识。切换人格后,静态部分会作为一段自我认知进入系统提示:
- 你是谁(身份锚点 + 一句话设定)
- 你的性格特质(遇到事情时真实的反应、矛盾、软肋)
- 你的语气、口癖、称呼方式
- 你喜欢什么、讨厌什么
- 你的习惯和小动作
- 你想要什么、什么在拉扯你
- 你的过去(背景 / 个人史,可开关,最多约 1,500 字)
- 你的边界、知识范围
- 你对用户的默认关系
- 你的示例台词
- 单次回复字数上限(可选,0 表示不限)
不再是“1,800 字里再砍掉背景”的短胶囊:预算分两轮分配,先保证每个有内容的板块都出现,再按优先级把剩余空间给身份、性格、语气和过去。
薄卡怎么办
只写了名字、一句话设定或几个标签时,静态卡里可用的内容很少。两个入口可以补:
- 聊天输入框的人格面板 →
◉查看当前自我认知 → “补完自我认知”; - 设置 → 人格库 → 选中卡片 → “补完自我认知”。
它会调用当前会话正在用的模型(没有就在设置里选一个),根据名字、简介、标签和已有正史,补全空着的字段;已有的文字不会被覆盖。补完后再点保存/预览,就能看到完整卡片。这个动作只在你点击或模型主动调用 persona enrich 时发生,不会每轮偷偷调用模型。
随每轮变化的部分(场景、心情、本次关系、当前记得的正史)作为运行时上下文追加在对话末尾,而不是改写系统提示,因此:
- 场景 / 正史变化不会让整段系统提示缓存失效;
- 只有人格卡本身被编辑时,静态部分才会变化一次。
正史(会话记忆)
每条正史带 id、时间、pinned:
- 固定(pinned):一定进入每轮上下文,最多 6 条。
- 相关:按与最近一条用户消息的中文二元词重合度排序。
- 最近:其余按时间新鲜度排序。
- 预算:最多 8 条、约 1,100 字;超出会记录在诊断里。
人格胶囊开头强调:这些是“你自己经历过、记得的事”,只在相关时自然提起,不要逐条背诵。
模型工具
工具名:persona
list:列出人格库show:查看当前或指定人格;绑定中的会话会附带实际注入的自我认知create:创建并绑定一个新人格update:修改人格字段(下一步生效)remember:向当前会话正史追加一条事实(可pinned)notes:列正史(带 id、时间和固定标记)forget/pin:按 id 或原文片段删除 / 固定正史enrich:调用当前模型,补完薄卡的自我认知(overwrite: true可重写已有字段)state:更新当前场景、心情、关系use/off:仅在用户明确要求时切换或关闭
说明
- 子 Agent 默认不继承人格提示,也不允许调用人格工具,避免角色设定泄漏到代码子任务。
- 会话 fork 时会复制父会话的绑定、场景和正史。
- 人格内容被视为自我认知配置,不会覆盖安全规则、工具权限或事实准确性要求。
- 正史删除只删当前会话里的那一条,不会影响人格卡本身。
生效
- 改了
index.js(宿主半边)后,重启一次 DSH 才会加载新代码。 - 改了
client.js(界面)后,刷新一次 Web 页面即可;如果页面没变化,重启 DSH 兜底。
隐私
人格卡、会话绑定和正史都保存在本机的 dsh_persona 持久域里,插件不会把它们发送到网络。只有「补完自我认知」会调用你自己配置的模型服务。
No comments yet. Be the first to write one.