前言¶
用 DSH(DeepSeek Harness)做日常对话时,默认人设是固定的。想让它换个说话方式,常见的做法是每次在新对话里手工贴一段提示词,或者装一个写死风格的换装插件——前者麻烦,后者只能开关,改不了内容。
dsh-identity-control 走的是另一条路:人设文本由你自己写,在界面的编辑面板里填、随时改、一键开关。下面介绍这个插件的功能、安装和使用方式。
这是什么¶
dsh-identity-control 是 DSH 的自定义人设控制插件,由 GitHub 用户 orpheus0829 维护,当前版本 0.1.0,许可证为 MIT。
它解决的问题很简单:在对话输入栏旁提供一个入口,你自己填人设文本,开启后所有新对话自动带上这段人设;关掉就恢复默认,不用重启 DSH。
核心功能¶
- 在对话输入栏旁提供人设按钮,点开是编辑面板,里面是一个多行文本框加一个启用开关
- 填好保存后,所有新对话自动带上这段人设文本
- 关闭开关立即恢复默认人设,不用重启
- 人设只是注入提示词,不覆盖 DSH 的安全规则
- 人设文本留空或未启用时,插件什么都不注入,DSH 保持默认行为
- 配置存于 DSH settings 的
identity-control命名空间(enabled/text两个字段),状态持久化
安装与启用¶
用官方安装命令装:
dsh plugin --profile web add github:orpheus0829/dsh-identity-control
装完重启 DSH 界面,输入栏右侧就会出现人设按钮。
本地调试时可以用 link 方式指向本地路径:
dsh plugin --profile web add link:<本地路径>
典型用法¶
使用步骤三步:
- 点输入栏右侧的人设按钮,打开编辑面板
- 在文本框里写人设,勾上启用
- 保存,开聊
之后所有新对话都会自动带上这段人设。想临时换回默认行为,把开关关掉即可;想把人设整个清掉,把文本框清空保存就行——这两种情况下插件都不会注入任何内容。
配置存储与实现结构¶
配置持久化在 DSH settings 的 identity-control 命名空间里,只有 enabled 和 text 两个字段。
代码结构也不复杂:
lib/
index.mjs # host 侧:读配置,开启且文本非空时注入人设段
client.js # 浏览器侧:输入栏入口 + 编辑面板
cordis.patch.yml
package.json
lib/index.mjs 负责在启用且文本非空时把人设段注入对话;lib/client.js 负责浏览器侧的输入栏入口和编辑面板。依赖只有一个 schemastery ^3.18.0。
适用场景与注意¶
适合这样的人:对 DSH 的默认人设不满意,想要一段固定的、自己定义的提示词在所有新对话里生效,但又不想每次手工粘贴,也不想要写死风格的换装插件。
几点注意:
- 人设只是注入提示词,不会覆盖 DSH 的安全规则,别指望靠它绕过限制
- 插件以当前 dsh 进程的权限运行。安装任何第三方插件前,建议先查看源码和许可证,确认没有问题再装。这个仓库是 MIT 许可,代码量不大,读一遍成本不高
结尾¶
dsh-identity-control 做的事情很克制:把人设文本的控制权交给你,填、改、开关都在界面里完成,不注入时保持默认行为。如果你正好需要这样一个入口,可以直接用。
- 目录页:https://www.skillhub.cn/plugins/orpheus0829/dsh-identity-control
- GitHub:https://github.com/orpheus0829/dsh-identity-control