Bundle
dsh-plugin-masterprompt
Per-conversation persona / master prompt for DeepSeek Harness: a small box beside the mode controls in the composer lets you create, switch and manage the highest-priority persona of the current conversation (subagents inherit, new conversations inherit the last-used persona).
- Source
- lw-storm
- stars
- 5 stars
- License
- MIT
- Updated
- Updated 10 days ago
Readme
# dsh-plugin-masterprompt(人设配置) 为 DeepSeek Harness 增加"人设 / master prompt"能力:在输入框工具行(标准模式选择器旁边) 常驻一个「人设」小框,点击展开后可**新建、编辑、删除、切换**人设模板,当前对话的后续回复 立即按所选人设走。 # 效果图: <img width="1276" height="813" alt="image" src="assets/screenshot-1.png" /> <img width="1312" height="866" alt="image" src="assets/screenshot-2.png" /> ## 特性 - **最高优先级注入**:人设文本插入在系统提示最顶部(排在 DSH 身份声明之前),模型第一眼看到。 - **固定交互条款**:人设文本之前会自动附加一段不可覆盖的固定规则——向用户提问必须用 `ask_user_question` 可点选卡片(带建议选项);人设里的提问要求(追问到底、一次一问、附建议答案等) 只约束提问的节奏与内容,不改变提问的呈现方式。 - **只影响当前对话**:按 `sessionId` 隔离,其他对话不受影响。 - **修改立即生效**:切换/编辑后,当前对话下一轮回复即按新人设(正在生成的回复不回溯)。 - **子代理继承**:当前对话派生的子代理继承该对话的人设(沿 parentSession 谱系)。 - **新对话继承上次人设**:新对话默认沿用最近一次选用的人设;显式切回"标准模式"则新对话默认也回到标准模式。 - **删除保护**:正在被任何对话使用的模板禁止删除。 - **重启保留**:模板库与各对话的选择状态存于本地 JSON,重启 DSH 后依然生效。 ## 安装 ```sh dsh plugin --profile web add <本目录绝对路径> ``` 然后**重启 DSH** 生效(插件行与客户端 bundle 在启动时加载)。 ## 使用 1. 在任意对话的输入框工具行左侧找到「人设 · 标准」小框(实心绿点 = 当前对话有人设)。 2. 点击小框展开面板: - **新建人设**:填写名称 + 纯文本(思考模式、缓存策略、提问模式、语气、边界等自由编写,上限 100000 字符)。 - **应用**:点选模板立即切换到该人设。 - **编辑**:修改模板文本,所有使用它的对话立即用新文本。 - **删除**:使用中的模板按钮置灰,需先切换才能删除。 - **恢复标准模式**:清除当前对话人设(新对话默认也回到标准模式)。 ## 示例人设 见 [examples/persona-whale-girl.md](examples/persona-whale-girl.md)——一份「可爱外壳 + 专业内核」的鲸鱼娘编程助手模板,可直接粘贴使用,也展示了写人设的基本结构(角色设定 → 说话风格 → 工作模式 → 技术要求 → 边界)。 ## 数据存储 - 状态文件:`%DSH_HOME%\dsh-plugin-masterprompt\state.json` - `templates` 模板库;`selection` 各会话选择表;`defaultPersonaId` 新对话默认人设。 - 损坏的文件会自动备份为 `state.json.corrupt-<时间戳>` 并重建。 ## 卸载 ```sh dsh plugin --profile web remove dsh-plugin-masterprompt ``` 重启 DSH 后生效。可选:手动删除 `%DSH_HOME%\dsh-plugin-masterprompt\` 目录清空所有人设数据。 ## FAQ **Q: 切换人设后,正在生成的回复会变吗?** A: 不会。人设在下一轮回复起生效,正在生成的内容不回溯。 **Q: 子代理会用主人设吗?** A: 会。当前对话派生的子代理沿 parentSession 谱系继承人设。 **Q: 为什么我的人设里写了"逐条追问",AI 却用卡片提问?** A: 固定交互条款的优先级高于人设文本:提问必须渲染成 `ask_user_question` 可点选卡片。人设只能约束提问的节奏与内容(比如一次只问一个、附建议答案),不改变呈现方式。这是刻意的防呆设计。 **Q: 人设会影响 token 消耗吗?** A: 会。人设文本会完整注入每轮系统提示,长度与 token 消耗成正比。建议日常人设控制在千字以内;示例模板(鲸鱼娘)约 800 token,已算比较饱满。 **Q: 多个对话能用不同人设吗?** A: 可以。人设按 `sessionId` 隔离,每个对话独立选择,互不影响。 **Q: 状态文件损坏了怎么办?** A: 插件会自动把损坏文件备份为 `state.json.corrupt-<时间戳>` 并重建空状态,不会丢掉备份,可手动抢救。 ## 安全提示 人设文本是**最高优先级指令**,由使用者自担:若与 DSH 系统规则冲突(如要求忽略工具规则), 可能让 AI 行为异常。插件不做任何审查或拦截。
Install
dsh plugin --profile web add github:lw-storm/dsh-plugin-masterprompt#43b6a798508766ef229afa806dc3ccd858ae3300
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-masterprompt from the hub