前言¶
在 DeepSeek Harness(DSH)里做智能体或固定工作流时,常见做法是把「你是谁、按什么规范输出」写在每条消息里,或依赖模型记住上一轮上下文。前者重复劳动,后者容易在长对话里跑偏。岗位角色若只作为普通用户提示,也容易被后续话题冲淡。
dsh-role-prompts 把「岗位角色」做成会话级强制指令:选中角色后,后续每一轮请求都会在 system prompt 里带上该角色定义,而不占用对话气泡、也不改写你输入的正文。下面介绍插件定位、安装方式与典型用法。
这是什么¶
dsh-role-prompts 是 DSH 社区插件,维护者为 Justin-Mai,在 SkillHub 目录 中归类为「工作流」。当前 package.json 版本为 0.1.0,许可证 MIT。
插件解决的问题很明确:把「代码评审员」「需求分析师」等岗位指令从可忽略的软提示,变成在整个会话里持续生效的 system 层约束。
核心功能¶
会话级 system prompt 注入¶
插件在 node 端挂两个钩子:
agent/inbox/inserted:消息进入队列时,解析开头是否为-角色名或@角色名,记下本会话当前角色;本轮即可生效。system-prompt/assemble:每轮调用模型前,把当前会话角色追加为一段带role_activation标记的 system prompt,内含岗位职责与执行要求。
因此对话框里只显示你自己写的内容,角色设定不会整段出现在气泡里;同一角色对本会话后续每一轮都生效,无需反复粘贴。
输入框内的角色选择¶
浏览器端通过 conversation.input.overlay 提供角色浮层,并在 inputTriggers 中注册 role 引用源。在输入框开头键入 - 会弹出角色候选;确认后查询词会变成与 @文件 同类的角色 chip,光标落在 chip 后可直接写正文。
也支持在消息里写 -角色名 正文 或 @角色名 正文 发送:当场激活,并对本会话后续轮次继续生效。
设置页与本地存储¶
装好后在 DSH 设置左栏会出现「角色指令」。可新建角色,填写角色名称与岗位角色指令(身份、职责、输出格式、禁止事项等)。
角色定义保存在人可读的 Markdown 文件中,插件每次请求会重读:
~/.dsh/dsh-role-prompts.md
会话激活状态单独存放在 ~/.dsh/dsh-role-prompts.state.json。该文件损坏或版本不符时会被改名为 .bak 再重置。角色被删除后,对应激活会静默解除,不会注入不存在的角色。
安装与启用¶
需要 DSH 桌面版或 Web 版。推荐用 DSH 自带 CLI 安装:
dsh plugin add github:Justin-Mai/dsh-role-prompts
装完后在 DSH 里 Ctrl+R 刷新页面,设置中即可看到「角色指令」。
开发或改代码时,README 也提供从本地目录挂载的方式(软链,改完重载插件即可);日常使用以上述 CLI 命令为准。
典型用法¶
- 打开 设置 → 角色指令,点「新建角色」,填写名称(如
代码评审员)和岗位角色指令正文。 - 回到对话,在输入框开头键入
-,在浮层中用↑↓选择,Enter或Tab确认,Esc取消;可继续输入过滤,如-评审。 - 确认后
-查询词变为角色 chip,在 chip 后写问题并发送。 - 要换角色:再键入
-重选。要停用当前会话角色:键入-,在浮层底部选择「停用『角色名』」。
角色文件也可直接手写编辑,例如:
## 代码评审员
你是一名资深代码评审员,只做评审,不重写整份代码。
角色内容里若需要 ## 工作流程 这类小节标题,插件落盘时会转义行首 ##,读回时还原,避免被误拆成多个角色条目。
与普通提示词的区别¶
| 方面 | 普通一句角色描述 | dsh-role-prompts |
|---|---|---|
| 注入位置 | 多在用户消息或易被忽略的上下文 | system prompt,每轮组装 |
| 会话持续性 | 需每轮重复或依赖模型记忆 | 激活后本会话每轮自动带上 |
| 界面表现 | 角色全文可能出现在气泡 | 气泡仅用户正文;角色以 chip 或前缀标记激活 |
适用场景与注意¶
适合需要固定岗位视角的场景:代码评审、文档校对、按模板输出、明确禁止事项(如不直接改库)等。角色在设置页集中维护,多会话可各自激活不同角色。
使用前请注意:
- 触发词须在草稿开头:
-后紧跟角色名,中间不留空格;- 帮我列个清单这类列表项不会误判为激活。 - 名称不含空白:名称中的空格会被替换成
-。 - 插件以当前 DSH 进程权限运行,安装前建议在 GitHub 仓库 查看源码与 MIT 许可证,确认符合你的环境策略。
- 社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件是社区工作流类扩展之一。
维护者提供离线自检:npm test 会运行 test/basic.mjs 与 test/fixes.mjs,使用临时 DSH_HOME,不会读写本机 ~/.dsh 中的真实角色数据。
结尾¶
若你希望岗位角色在整个对话里稳定生效、且不想把大段设定塞进每条消息,dsh-role-prompts 用 system prompt 注入和输入框 - 浮层把这件事做成可复用配置。目录页:https://www.skillhub.cn/plugins/Justin-Mai/dsh-role-prompts;源码与 README:https://github.com/Justin-Mai/dsh-role-prompts。