dsh-personality-manager
v1.1.3
Published
DeepSeek Harness (dsh) 插件:Personality 容器与双路径人格注入器。主路径经系统提示词 section 注入(官方预设);经 systemPrompt.layers 注册表探测 complete persona(v1.1.1 修复:瀑布后裁剪导致的误判),确认 section 必被裁剪时自动回退为 source.kind='skill-invocation' 的请求级消息穿透 allowKinds 门控。保守检测确保任一预设下只走一条路径,无重复注入。输入栏 Persona
Maintainers
Readme
dsh-personality-manager
DeepSeek Harness (dsh) 插件:Personality 容器与双路径人格注入器。
在输入栏「权限」下拉框旁新增 Personality 下拉框。选中某个人格后,下一条模型请求会携带该人格 的设定文本;普通问答不发送,零上下文开销。新会话不携带任何预设人格(v1.0.4 起),需要时在会话内手动选择。
内置种子人格:MentorFucker(🎓 科研导师兼学习助教——把学生模糊不懂的知识调焦成清晰的像)。
安装
dsh plugin --profile web add dsh-personality-manager安装后重启 / 刷新 dsh web 界面,输入栏「权限」旁会出现 Personality 按钮。
功能
- 选择 / 切换 / 重发设定:点击按钮弹出向上展开的菜单;问答过程中再次点击某人格, 下一条消息立即重新注入;选「无 Personality」则完全不发送。
- 会话内手动选择:新会话不做任何预设人格;在会话内选中后立即生效(下一条消息注入一次)。
- 管理弹窗:菜单底部「⚙ 管理 Personality…」——新建 / 编辑 / 删除(二次确认)/ 设默认, 支持 Emoji 与任意人格设定提示词文本。
- 持久化:人格列表与默认选择存放在
~/.dsh/personalities.json(fs 不可用时退化为内存)。 - 多会话隔离:每个会话独立记录当前激活的人格。
- 失败可见:激活/设默认/保存/删除的成功与失败均以全局 toast 提示;服务不可达时按钮显示 ⚠、菜单顶部显示错误行,不再静默失败。
- 预设兼容(v1.1.0):官方内置预设走 section 主路径;anchored 系预设(context-gate 门控)自动回退为
skill-invocation消息穿透 allowKinds,无需改任何预设配置。liangshen 等 bootstrap 阶段过滤消息源的预设中,回退消息会在晋升(promotion)后送达。
双路径注入机制(v1.1.0)
人格提示词按预设环境自动选择送达路径,任一预设下只走一条路径,无重复注入:
- 主路径 — 系统提示词 section(官方内置预设 minimal/standard 等,section 管线完整):
注册条件段落
personality:active(order 1,紧跟 Agent 预设 persona 之后),仅当会话处于 「待注入」集合时返回人格文本,否则返回空串(渲染时丢弃,普通请求零开销)。 - 送达检测:监听
system-prompt/assemble瀑布,检查组装产物是否真的包含人格标记。 anchored 系预设(context-gate + personacomplete: true)会把第三方 section 吞掉, 此时产物中找不到标记。 - 回退路径 — 门控消息(仅 anchored 系触发):section 确认未送达时,在
agent/pre-step追加一条source.kind='skill-invocation'的请求级消息——该 kind 是 context-gateallowKinds的默认放行项,可穿透门控进入请求。 - 一次性消费:dsh 的 step 管线先
systemPrompt.assemble()、后agent/pre-step瀑布; 插件以prepend监听agent/pre-step,在步骤确认进入后消费「待注入」标记, 实现严格一次性注入。回退消息为请求级临时注入,不写入持久历史,会话恢复/重放不会重复; 追加失败保留标记,下一条消息自动重试。 - 保守降级:送达检测自身失败或 assemble 事件未观察到时,一律按主路径处理(不追加消息), 绝不在官方预设下产生双注入。
注入文本以 【Personality 设定 · <名称>】 开头,后接人格全文(两条路径同格式)。
开发
npm pack # 本地打包验证
npm publish --access public协议
MIT
