前言¶
在 DeepSeek Harness(DSH)里做角色扮演或带场景的对话,常见做法是把大段设定写进 system prompt,或每次手动粘贴场景文档。改设定往往要改配置、重启服务,对话里也很难临时切换「正常聊天」和「按剧本演」。社区插件 dsh-story-mode(维护者 xianshu-virtuous)针对的是另一类需求:在保留当前人格(例如 whale-companion 注入的深深人设)的前提下,用开关进入剧情扮演,并把工作区里的 Markdown / 文本文档当作场景与须知注入 prompt,且开关即时生效、无需重启 DSH。
下面介绍插件定位、工作方式、安装与典型用法。
这是什么¶
DSH Story Mode 是 DSH 的客户端类外部插件,包名为 @dsh-external/dsh-story-mode(仓库 xianshu-virtuous/dsh-story-mode)。官方简介:Story mode for DeepSeek Harness —— 一个会话级开关,以当前 persona 做角色扮演,并把工作区 story/ 下的文档作为场景说明加载进 system prompt。
它不替换人格文本,也不覆盖其他 system prompt section;身份仍由 whale-companion 等人格插件提供,本插件只追加「扮演边界 + 场景文档正文」。
核心功能¶
开关即时生效¶
开启后,模型以当前人格身份进入剧情扮演;关闭后恢复普通对话。无需重启 DSH 进程,状态在下一轮请求组装 prompt 时即反映。
工作区文档即场景¶
开启时,插件读取当前会话工作区(会话 cwd)下 story/ 目录中的 .md、.txt 文件,按文件名排序,以 【文件名】 分段拼进 <story-mode> 指令。文件名可自定,例如 scene.md(场景)、rules.md(须知)、characters.md(人物卡)。
文档总字符数超过配置项 maxChars(默认 12000)时,按上述顺序截断,避免撑爆 context。
双入口控制¶
- WebUI:设置 → 剧情模式 页面,提供按钮开关与已加载文档清单。
- 工具
story_mode:模型在对话中可调用,参数action为on/off/status(status返回状态与文档列表,不含正文,省 token)。
与 system prompt 的衔接¶
插件注册一个追加的 system prompt section(order 15,紧随 whale-companion 人格 section)。每次组装时同步读开关状态:
- 关闭:该 section 返回空串,不参与组装。
- 开启:注入
<story-mode>指令(含扮演边界规则)及全部已读剧情文档正文。
开关状态持久化在:
$DSH_HOME/plugins/dsh-story-mode/state.json
剧情文档路径由配置 storyDir 决定,默认相对工作区的 story。
配置¶
可在 cordis.patch.yml 中覆盖插件实例配置(资料中的示例):
- insert:
- id: dsh-story-mode
name: '@dsh-external/dsh-story-mode'
config:
enabled: true # 插件总开关,false 完全禁用
storyDir: story # 剧情文档目录;相对路径相对会话工作区,也支持绝对路径
maxChars: 12000 # 注入 system prompt 的文档总字符上限
安装与启用¶
README 给出的流程是本地构建后按路径安装(示例为 Windows 路径,需换成你本机克隆或下载后的插件目录):
pnpm install
pnpm run typecheck
pnpm test
pnpm run build
dsh plugin --profile web add F:\dsh\dsh-story-mode
完成后重新启动 dsh web。在 Web 端打开 设置 → 剧情模式 即可使用 UI 开关。
package.json 要求 Node ^22.19.0 || >=24.0.0;当前发布版本为 0.2.0。安装前请自行查看仓库源码与 LICENSE,插件以当前 DSH 进程权限运行。
典型用法¶
准备场景文档¶
在会话工作区创建目录(默认名 story),放入若干 .md 或 .txt,例如:
your-workspace/
story/
scene.md
rules.md
characters.md
保存后开启剧情模式;下一轮对话 prompt 会带上这些文件内容(受 maxChars 限制)。
用工具切换¶
模型可调用的 story_mode 工具:
action: 'on'— 开启剧情模式(写 state,下一轮生效)。action: 'off'— 关闭,恢复正常对话。action: 'status'— 查询开关与已加载文档文件名列表。
与 whale-companion 搭配¶
两个插件可独立安装:whale-companion 提供深深等人格;dsh-story-mode 只决定「是否以该人格进入扮演」以及「场景文档是什么」。未安装 whale-companion 时,仍可使用剧情模式,但「当前人格」取决于你环境里其他人格注入方式。
适用场景与注意¶
适合:需要在 DSH Web 会话里做可切换的角色扮演;场景、规则、人物卡希望用文件维护、随工作区版本管理;希望 UI 与工具双通道控制,而不是改全局 prompt 模板。
注意:
- 剧情内容来自工作区文件与插件注入逻辑,安装前应阅读 GitHub 仓库 源码与许可证。
- 大文档会被截断,重要规则宜放在排序靠前的文件或控制单文件体积。
- 社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本介绍事实以 README 与 package 元数据为准。
结尾¶
dsh-story-mode 把「剧情开关 + 工作区 story 文档注入」做成一个客户端插件:order 15 的 system section、持久化 state、Web 设置页与 story_mode 工具,并与 whale-companion 人格 section 分工明确。若你在 Harness 里做带场景的对话,可从目录页或 GitHub 获取仓库,按 README 构建安装后在 设置 → 剧情模式 试用。
- 目录页:https://www.skillhub.cn/plugins/xianshu-virtuous/dsh-story-mode
- GitHub:https://github.com/xianshu-virtuous/dsh-story-mode