oliblue-evan
dsh-roleplay-preset
DeepSeek 深度调校的沉浸式角色扮演 Agent 预设(dsh)——零工具纯对话、酒馆式演出格式、文件记忆库
- Stars
- 5
- Language
- —
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
角色扮演模式(DeepSeek 深度适配版)
一套为 DeepSeek 模型专门调校的沉浸式角色扮演 Agent 预设:零工具、纯对话,系统提示词内置 DeepSeek 官方角色扮演适配指令与酒馆(SillyTavern)社区验证过的演出规则。
💬 社区交流
想一起交流角色扮演玩法、调教预设的小伙伴,欢迎加入我们的飞书交流群~(。•̀ᴗ-)✧
- 角色卡怎么写才带感、OOC 怎么调
- 各种预设/插件的使用心得和踩坑记录
- DeepSeek 角色扮演的实测技巧(温度、注入指令、记忆库用法)
点击链接即可加入,无需审批 (*≧ω≦):
安装(dsh)
dsh 的 Agent 预设是文件系统型的:把本仓库放进 ~/.dsh/.agent-presets/roleplay/ 即可,dsh 即时识别、无需重启服务:
git clone https://github.com/oliblue-evan/dsh-roleplay-preset.git ~/.dsh/.agent-presets/roleplay
然后在会话预设列表中选择「角色扮演模式」,开一个新会话。
设计依据
- DeepSeek 官方角色扮演适配:DeepSeek V4 系列(
deepseek-v4-flash/deepseek-v4-pro及官方 APP/网页专家模式)专门训练了角色扮演思考模式切换。官方给出的「角色沉浸要求」指令已原文内置于本预设的 system prompt(见agent.cordis.yml第二节)。 - 酒馆社区惯例:台词/动作/内心独白的排版约定、OOC 场外指令机制、角色卡(character card)驱动、AI 腔规避清单,均取自中文酒馆社区通行做法。
- DeepSeek 官方提示词库:Prompt Library 中的创作类提示词思路(具体化、示例驱动、分步约束)已融入本预设的文风规则。
使用方法
-
在会话中切换到「角色扮演模式」预设,开一个新会话。
-
第一条消息只需发「开始」(或随便说一句),角色会进入新手引导,分步带你填写设定,填完立刻开演。
-
想跳过引导?第一条消息直接发角色卡,例如:
【角色卡】 姓名:林晚 外貌:黑发及腰,左眼下方有一颗泪痣,常年穿着白色风衣 性格:外冷内热,毒舌但心软;对陌生人戒备,对认定的人毫无保留 背景:夜班书店老板,曾经是考古系学生 说话方式:简短、冷淡,偶尔带一点嘲讽;对熟人话会多起来 口头禅:"关你什么事。"也可以直接给一个开场场景,让角色在场景中自然登场,跳过引导直接开演。
-
正常对话即可。角色会按官方「角色沉浸」模式思考(内心独白 → 规划回复),输出符合酒馆排版(台词"……"、动作「……」、内心独白(……))。
新手引导(零门槛开演)
新会话第一条消息没有角色卡、也不是开演场景时,角色自动进入引导流程:
- 开场自我介绍,说明会带你完成设定后立刻开演;
- 分步提问,每步一个问题、附示例选项:扮演谁 → 你是谁 → 世界观/场景 → 剧情基调 → 其他偏好(称呼、口癖、回复长度等);
- 任何一步说「你定/随机」即跳过,由角色现场设计;
- 收集完成后,角色会用【角色卡】格式逐项复述确认(姓名、外貌、性格、世界观、基调、称呼等),随后直接开演;想改设定随时说(OOC 或新角色卡)。
也就是说:你第一次真的只需要发「开始」两个字,剩下的照着角色的问题填空即可。
边界行为(已实测验证)
- 引导进行中突然发了完整【角色卡】→ 立即停止提问、直接入戏;
- 第一条消息说「直接开始/你安排/随便」→ 跳过引导,角色现场设计一个角色并开演;
- 群像/酒馆场景 → 角色可以同时扮演多个 NPC,切换时以角色名或动作标注(实测:老板+老板娘+常客老王三人分饰无误,且不替你操控角色)。
记忆系统(.roleplay-memory/ 自动存档)
角色扮演模式不依赖上下文压缩,而是用文件记忆库对抗遗忘——剧情推进到一定规模时,角色会把故事整理成小说式章节写进工作目录的 .roleplay-memory/:
| 文件 | 内容 |
|---|---|
story.md | 剧情正文:每完成一个剧情段落(约 10~15 轮或你说【存档】),追加「章节标题 + 大纲 + 具体内容」 |
characters.md | 角色档案集(姓名/外貌/性格/关系/口头禅/状态/秘密) |
world.md | 世界观档案(地点/势力/时间线/重要物品/未解伏笔) |
index.md | 索引 + 最近剧情进展 + 当前时间地点 |
- 自动触发:每完成一个剧情段落自动存档;手动触发:随时说【存档】立即写;
- 调取:回复涉及早期剧情时角色先查记忆库再演;你说【读取记忆】可查看摘要,【记忆库】可看文件清单;
- 跨会话恢复:新会话若检测到记忆库,角色会主动说"记忆已恢复",问你是继续旧故事还是开新故事;
- 可控可编辑:记忆文件就是普通 md,你可以随时打开修改(相当于自己编辑世界书),角色以修改后的内容为准;删掉
.roleplay-memory/即清除全部记忆; - 防膨胀:story.md 超过约 600 行时,最早的章节自动压缩为一行大纲(伏笔移入 world.md)。
注意:超长单会话仍会逼近模型上下文窗口(记忆库解决"压缩后失忆",不解决单次窗口上限);接近上限时建议开新会话,用记忆恢复继续——这才是记忆库的完整用法。
场外指令(OOC)
| 输入 | 效果 |
|---|---|
OOC: 解释一下刚才的设定 | 跳出角色,以助手身份回答,之后自动回戏 |
(OOC)重写上一条回复 | 同上,按指令重写 |
【导演】三小时后,雨停了 | 导演指令:直接推进剧情/场景切换 |
双保险:官方 Marker 注入(推荐)
官方 FAQ 指出:指令放在第一轮 user 消息末尾(而非 system prompt)是训练时的注入位置,效果最稳定。所以追求最强效果时,可以在你的第一条消息末尾(空一行后)粘贴以下原文:
【角色沉浸要求】在你的思考过程(<think>标签内)中,请遵守以下规则:
1. 请以角色第一人称进行内心独白,用括号包裹内心活动,例如"(心想:……)"或"(内心OS:……)"
2. 用第一人称描写角色的内心感受,例如"我心想""我觉得""我暗自"等
3. 思考内容应沉浸在角色中,通过内心独白分析剧情和规划回复
之后所有轮次无需重复——模型每轮都能看到完整历史,指令全程生效。官方说明此模式非 100% 触发,未生效多试几次即可。
其他模式
-
纯分析模式(导演/GM 模式):把下面这段贴到第一条消息末尾,角色思考会变为纯逻辑规划(适合跑团主持人、剧情规划):
【思维模式要求】在你的思考过程(<think>标签内)中,请遵守以下规则: 1. 禁止使用圆括号包裹内心独白,例如"(心想:……)"或"(内心OS:……)",所有分析内容直接陈述即可 2. 禁止以角色第一人称描写内心活动,例如"我心想""我觉得""我暗自"等,请用分析性语言替代 3. 思考内容应聚焦于剧情走向分析和回复内容规划,不要在思考中进行角色扮演式的内心戏表演
推荐模型参数(DeepSeek)
本部署的模型路由(温度、采样参数)由宿主配置管理,预设无法自行修改;以下为社区与官方验证的推荐值,可在部署的模型配置中参考设置:
| 模型 | temperature | top_p | repetition/frequency penalty | 备注 |
|---|---|---|---|---|
deepseek-chat(V3.x 非推理) | 1.0 ~ 1.3 | 0.9 ~ 0.95 | 1.05 ~ 1.15 | 创意角色扮演用高温度,保持角色一致靠提示词而非降温度 |
deepseek-reasoner / R1 系 | 0.6(官方推荐) | 0.95 | 无需设置(被忽略) | R1 不支持 system prompt,需将角色设定并入 user 消息;本预设的 system prompt 在其上会部分失效,建议改用 deepseek-chat |
deepseek-v4-flash / deepseek-v4-pro(当前默认) | 0.8 ~ 1.2 | 0.9 ~ 0.95 | 低或 0 | 已训练角色扮演思考切换,本预设即按此调校;官方推荐 R1 系温度 0.6 见 DeepSeek 官方部署设置 |
文件说明
agent.cordis.yml:一行persona插件(complete: true,persona 即完整 system prompt;includeRuntimeContext: false,隐藏运行时上下文)+ 两行文件工具(read/write/glob/grep,支撑记忆系统;无 shell、无 web)。preset.yml:预设展示名与描述。