前言¶
DeepSeek Harness(DSH)在创建新会话或切换模式时,预设会自动注入一份系统提示,通常包含身份句与工具说明。如果想在所有会话里统一一份人格,就需要手动复制粘贴或改预设,维护成本高,且容易在不同会话间不一致。dsh-assistant-profile 插件提供了一份全局人格档案,以及随档案存在的长期记忆,让助理在每次新会话中自动带上相同的身份与背景信息。
它是什么¶
dsh-assistant-profile 是一个由维护者 iStarryDust 开发的 DeepSeek Harness 插件,分类为「趣味换装」。它将助理的人格分为名称、语言、人格提示词三段,装进一份档案后,每次新会话的系统提示最前面都会从这份档案开始,同时附带一份长期记忆。侧栏「新会话」上方会显示这份档案的助理名。
核心功能¶
1. 全局人格注入¶
插件在每个对话 agent 创建时(以及空白会话换模式重新绑定预设时),在 agent 自己的作用域里注册一段 deployment:persona-prefix。作用域链上最近的同名段胜出,于是预设自带的身份句被档案替换,而工具、流程、模式语义保持不变。
注入的文本格式如下(空行分隔,缺哪段就少哪段):
Your name is 大肥鱼.
Reply in 简体中文 throughout.
<你写的人格提示词…>
- 极简模式:预设把人格当作「整段系统提示只有这一句」(
complete: true)。插件会镜像这个标记——极简模式下系统提示就只有档案,没有工具说明,符合原模式的设计。 - 四段全空时回落到预设原文,等同于原生行为。
- 子智能体不注入:委派出去的子代理保留它自己的人格。
2. 助理记忆¶
一份档案对应一份记忆,存储为 markdown 文件,每行一条 - [YYYY-MM-DD HH:mm] 内容,随档案存在 profile 的同一份配置里,所有会话共享。
记忆段注入位置为 memory:assistant,order 500,排在人格(order 0)之后、工具目录(order 1000)之前。记忆描述「用户和我是什么关系」,工具说明可以引用这些前提。
三个入口:
- 聊天里的「记住」按钮:每条助手消息的动作行上(官方的点赞/点踩旁边)多一个 ✨。点开是一个勾选弹窗,列出当前会话里可提炼的用户/助手消息。勾选后提交,宿主用该会话自己的模型跑一次独立请求,把选中的对话压成几条稳定事实,逐条追加(同义条目只刷新时间戳,不重复堆积)。
- 设置 → Agent记忆:两个开关(启用记忆 / 自动记忆)+ 一个编辑框。手工写、改、删都在这里,保存即落盘。
memory_add工具:只在「启用记忆 + 自动记忆」都打开时注册,模型可以在对话中自己决定记什么。
提炼是 fail-closed 的:会话不在线、取不到这个会话的模型配置、模型没吐出一条可用条目,都不会写任何东西,只把原因回显在弹窗里。
3. 删除会话¶
侧栏任意会话行的「…」菜单里多一行删除(红色,带分隔线,排在「复制 Session ID」之后)。确认后删除的是这个会话本身:
- 磁盘:
<DSH_HOME>/sessions/<项目>/<会话 id>/整个目录(日志、分代文件一起)。 - 索引:会话查询里那一行(下次搜索不会再出现)。
- 登记:工作区里对这个会话的记账。
- 界面:宿主发
api-session/removed,官方 session-controller 收到后把行从侧栏移除。
正在运行的会话会被拒绝(先停止),空闲但还开着的会话会先摘下再删。
4. 改人格不重算历史¶
DeepSeek 的上下文缓存是前缀缓存:系统提示在最前面,直接改写开头那条会让后面全部失效。档案的文本是每次组装提示词时求值,所以保存后下一个请求的提示词就变了,而历史一个字节都不动。剩下的交给宿主判定:模型路由声明了 systemPromptUpdate: 'in-history'(DSH 默认的 deepseek-flash 条目就声明了)时,变化的系统提示会被追加在已缓存的历史之后,历史那段前缀仍然命中,只有新增的这一小段按普通输入计费。
会话日志里的 request/context 会写明当前路由的模式:
{"provider":"deepseek-official","model":"deepseek-flash","systemPromptUpdate":"in-history"}
路由不支持这个模式时(例如默认的 deepseek-v4-pro 条目),改人格会让下一次请求从开头失效一次——那是路由能力问题,不是插件的选择。介意的话,把改动留到新会话。
5. 界面¶
- 侧栏「插件」下面多一行Agent助理(行序 5,夹在插件与自动化任务之间)。
- 点开是主区的一个页面:名称、语言、人格提示词,右下角实时字数(超过 2000 字转成提醒色)。
- 「保存」行左侧是人格预设:默认一 / 默认二 / 默认三(点击只把三段文本填进表单,落盘仍按「保存」)加「另存」出来的自定义(名字取自「名称」,胶囊右侧带小删除钮);装好默认用默认三,放不下横向滚动。
- 「新会话」按钮上方一行小字 + 首字方块显示助理名;侧栏收成 56px 图标栏时自动隐藏;改完名称保存后立刻变。
- 名称默认
大肥鱼、语言默认中文。
6. 数据存储¶
四个字段就是本插件在 profile 里的配置,由官方设置通道读写,落进 profile 的 cordis.patch.yml:
- id: assistant-profile
name: '@istarry/dsh-assistant-profile'
config:
name: 小星
language: 简体中文
persona: 你是一个只讲证据的助理。不确定就说不确定。
所以它跟着 profile 走:换 profile 就是另一份档案;备份 profile 就备份了人格。
安装与启用¶
dsh plugin --profile <profile> add @istarry/dsh-assistant-profile
# 本地包:
dsh plugin --profile <profile> add E:/Plugin/发布版/dsh-assistant-profile/dist/istarry-dsh-assistant-profile-0.2.1.tgz
重启 DSH 后生效。卸载:
dsh plugin --profile <profile> remove @istarry/dsh-assistant-profile
profile 里残留的四行配置不会影响原生行为(插件不在了,没人读它),手工删掉更干净。
典型用法¶
- 安装插件后,侧栏「插件」下面会出现「Agent助理」菜单。
- 打开页面,填写名称、语言和人格提示词。
- 在聊天中点击助手消息旁的 ✨,勾选需要提炼的对话,提交即可加入记忆。
- 在设置中打开「启用记忆」和「自动记忆」,模型可以在对话中自行调用
memory_add工具。
适用场景与注意¶
- 适合需要统一人格与背景信息的场景,例如客服助理、技术顾问、知识助手等。
- 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
- 不建议与
dsh-agent-suite同时启用,两者遮蔽同一个段(deployment:persona-prefix),后加载的会赢,人格会互相覆盖。需要多个 agent 各自的人格请用 agent-suite;只要一个随身人格就用这个。 - 插件只注入顶层会话,子代理不注入;没有远程调用,记忆、信箱、归档都走设置通道与配置字段。
短结尾¶
dsh-assistant-profile 用一份档案为 DSH 提供全局人格与长期记忆,让每个新会话都带着相同的身份与背景,减少重复配置。更多细节可访问插件目录与 GitHub 仓库。