前言¶
在 DeepSeek Harness(DSH)里写提示词,常见做法是手动加一段「请以某某身份说话」的前缀,或把语气要求写进系统提示。前者每次发送都要重复操作,后者会动会话级配置,且容易和工具、系统指令搅在一起。若你只想在发出前把这一条用户消息改成某种口吻,同时仍用当前会话正在用的模型,又不想改系统提示或会话配置,dsh-persona-forge 针对的就是这个缺口。
下面介绍该插件的定位、安装方式与典型用法。事实依据为 GitHub 仓库 README 与 npm 包 dsh-persona-forge(当前版本 0.8.4,MIT 许可证,早期 0.8.x,升级前建议看变更记录)。
这是什么¶
dsh-persona-forge 是由维护者 sugarmaster666 发布的 DSH 插件,在社区目录 skillhub.cn 中归类为模型推理。它做的是角色扮演提示词改写:在输入框选一张角色卡,你写的草稿会在发出前由 harness 的模型改写成该角色的语气与框架,跟随当前会话正在使用的 provider/model;改完后可以直接发出,或先审查再发。包本身零依赖、零构建。
插件明确不修改系统提示词、工具列表、会话配置,也不会在你未确认前改动草稿。改写调用独立于会话:不产生 turn、不能调用工具、不进入会话日志;会话里记录的,是你实际发出的文字。
核心功能¶
改写范围与模型¶
| 会改变 | 即将发出的那条消息的语气、语域与框架 |
|---|---|
| 不改变 | 技术需求、约束、路径、标识符、数字、代码(设计上应保留);未确认前的草稿 |
| 改写用哪个模型 | 当前会话正在用的 provider/model,无单独模型设置 |
设置页 AI 代填(用于生成角色卡草稿)用的是 harness 默认模型,因为设置插槽拿不到会话 id;界面会显示将使用的 provider / model。
输入框:选角色与发送¶
- 在输入框工具行左侧点 🎭,选择角色;列表末尾 「无角色」 关闭改写(初始状态)。按会话记住所选角色。
- 选中角色后可展开 强度(轻 / 中 / 重 / 狂热)、发送方式(先审查 / 直接发出)、改写方式(跟随卡片 / 模型改写 / 模板套用)、保真度(跟随卡片 / 只改语气 / 可加约束)。这四项跟着角色卡走,不是跟着会话走。
- 选角色后,原生发送按钮与 Enter 即触发改写(无额外按钮)。先审查时结果出现在输入框上方对比面板,确认前草稿不动;直接发出则改写完成后立即作为消息发出。
审查面板中改写结果可编辑;底部显示所用模型、耗时及本地技术记号检查(标识符、路径、版本号、数字、--flag、API 等是否丢失)。检查不调用模型、不阻断发送,仅标注;面板开着时输入栏发送箭头暂不起作用。
角色卡¶
角色卡为 YAML,目录:
~/.dsh/persona-cards/<id>.yml
通过 设置 → 角色扮演 管理(含「打开目录」、新建、编辑)。目录监听:丢入文件即出现在列表,无需重启。首次运行会把内置卡复制到该目录;未编辑过的副本可随插件升级更新,编辑过的不会被覆盖。
内置示例包括 万机之神 · 欧姆弥赛亚 与 肌肉集团 · 硬邦邦(README 说明插件主要按 DeepSeek Flash 的「入戏」手感调校,也可用于其他模型)。AI 代填在「新建角色卡」表单顶部:你描述「AI 扮演谁、你是谁、他怎么说话」,模型填名称、图标、简介、风格及四档强度范例;生成只填表单不自动保存,且固定 保真度 为只改语气、改写方式 为模型改写。
安装与启用¶
插件无依赖、无构建步骤。桌面版由 Electron 独占 profile,请用 GUI:插件 → 添加插件,在「包名或地址」粘贴:
dsh-persona-forge
或:
https://github.com/sugarmaster666/dsh-persona-forge
安装后启用并重启 DSH。dsh plugin --profile desktop add ... 会被拒绝,命令行方式适用于 dsh web 等自管 profile:
# 从 npm 装(推荐)
dsh plugin --profile web add dsh-persona-forge
# 装 GitHub 上的最新源码
dsh plugin --profile web add github:sugarmaster666/dsh-persona-forge
然后重启 harness。验证:执行 plugin_manager action: list_plugins,插件行应为 active;任意会话输入框工具行左侧应出现 🎭。
更新 npm 包:
dsh plugin --profile web update dsh-persona-forge
GitHub 安装通过重新执行 add github:sugarmaster666/dsh-persona-forge 更新;替换已安装包需重启才能加载新模块。卸载:
dsh plugin --profile web remove dsh-persona-forge
角色卡仍在 ~/.dsh/persona-cards/,需手动删目录才会一并清除。
典型用法¶
一句话:选角色,照常写草稿并发送,改写会把内容说成该角色口吻。
- 打开会话,点 🎭 选一张卡(编码类任务 README 建议保持先审查,以「需求是否还在」为准,而非语气多华丽)。
- 输入技术向草稿,按 Enter 或点发送。
- 若为先审查:在面板对比原文与改写,看本地检查是否提示丢失路径/标识符等,必要时手改后点发送;不满意可用 还原原文 或 重写。
- 若要自定义角色:设置 → 角色扮演 → 新建角色卡(或编辑 YAML),保存后在 🎭 菜单选用。
范例方向(AI 代填时 README 强调):改写结果应是你以该关系对角色说话,而不是角色替你回话——否则整张卡会失效。
适用场景与注意¶
适合:想在 DSH 里快速切换说话风格或角色框架、又不愿动系统提示;日常用 Flash 等模型做轻量语气改写;需要发前审查与本地技术记号提示的场景。
不适合当作:编码任务的「少质疑、多顺从」开关——把人设写成「模型是权威」往往会减少对方案的问题指出;也不应把「更长更华丽」当成质量提升。
安全与信任:插件通过拦截发送按钮点击(依赖 shell 的无障碍标签)与 Enter 实现改写;关闭插件会移除拦截,最坏情况是静默退回「未安装」的发送行为,而非丢消息。改写仍可能悄悄弱化需求,本地检查覆盖有限,审查模式仍是主要防线。
安装前:插件以当前 DSH 进程权限运行;安装前请自行查看 GitHub 源码 与 MIT 许可证。社区目录 skillhub.cn 为独立生态站点,与 DeepSeek / 幻方无官方从属关系。包要求 Node >=22(见 package.json engines)。
结尾¶
dsh-persona-forge 把「选角色卡 → 模型改写草稿 → 审查或直接发送」接到 DSH 输入框,不改系统层配置,改写跟当前会话模型走,并附带本地技术记号检查与 YAML 角色卡体系。需要细节与变更记录时,以仓库为准:
- 目录页:https://www.skillhub.cn/plugins/sugarmaster666/dsh-persona-forge
- GitHub:https://github.com/sugarmaster666/dsh-persona-forge