Agent preset
dsh-roleplay-preset
DeepSeek 深度调校的沉浸式角色扮演 Agent 预设(dsh)——零工具纯对话、酒馆式演出格式、文件记忆库
- Source
- oliblue-evan
- stars
- 20 stars
- License
- MIT
- Updated
- Updated 5 days ago
Readme
# 角色扮演模式(DeepSeek 深度适配版) > [English README](README.en.md) 一套为 DeepSeek 模型专门调校的沉浸式角色扮演 Agent 预设:**零工具、纯对话**,系统提示词内置 DeepSeek 官方角色扮演适配指令与酒馆(SillyTavern)社区验证过的演出规则。 ## 💬 社区交流 想一起交流角色扮演玩法、调教预设的小伙伴,欢迎加入我们的飞书交流群~(。•̀ᴗ-)✧ - 角色卡怎么写才带感、OOC 怎么调 - 各种预设/插件的使用心得和踩坑记录 - DeepSeek 角色扮演的实测技巧(温度、注入指令、记忆库用法) 点击链接即可加入,无需审批 (*≧ω≦): https://applink.feishu.cn/client/chat/chatter/add_by_link?link_token=781sa5d9-64c7-416f-b44f-9d19cd7a3656 ## 安装(dsh) dsh 的 Agent 预设是文件系统型的:把本仓库放进 `~/.dsh/.agent-presets/roleplay/` 即可,dsh 即时识别、无需重启服务: ```bash git clone https://github.com/oliblue-evan/dsh-roleplay-preset.git ~/.dsh/.agent-presets/roleplay ``` 然后在会话预设列表中选择「角色扮演模式」,开一个新会话。 ## 设计依据 1. **DeepSeek 官方角色扮演适配**:DeepSeek V4 系列(`deepseek-v4-flash` / `deepseek-v4-pro` 及官方 APP/网页专家模式)专门训练了角色扮演思考模式切换。官方给出的「角色沉浸要求」指令已**原文内置**于本预设的 system prompt(见 `agent.cordis.yml` 第二节)。 - 来源:[victorchen96/deepseek_v4_rolepaly_instruct](https://github.com/victorchen96/deepseek_v4_rolepaly_instruct/blob/main/README.md)([英文版](https://github.com/AsyncFuncAI/deepseek_v4_roleplay/blob/main/README.md)) 2. **酒馆社区惯例**:台词/动作/内心独白的排版约定、OOC 场外指令机制、角色卡(character card)驱动、AI 腔规避清单,均取自中文酒馆社区通行做法。 - 参考:[SillyTavern 中文教程站](https://guide.sillytavern.one/)、[SillyTavern 参数详解](https://guide.sillytavern.one/presets-lorebooks/temperature-topp/)、[Sukino 社区预设库](https://huggingface.co/Sukino/SillyTavern-Settings-and-Presets)、[DeepSeek V4 Flash 酒馆预设](https://rpfiend.com/deepseek-v4-flash-presets-sillytavern/) 3. **DeepSeek 官方提示词库**:[Prompt Library](https://api-docs.deepseek.com/zh-cn/prompt-library/) 中的创作类提示词思路(具体化、示例驱动、分步约束)已融入本预设的文风规则。 ## 使用方法 1. 在会话中切换到「角色扮演模式」预设,开一个新会话。 2. 第一条消息只需发「开始」(或随便说一句),角色会进入**新手引导**,分步带你填写设定,填完立刻开演。 3. 想跳过引导?第一条消息直接发**角色卡**,例如: ```text 【角色卡】 姓名:林晚 外貌:黑发及腰,左眼下方有一颗泪痣,常年穿着白色风衣 性格:外冷内热,毒舌但心软;对陌生人戒备,对认定的人毫无保留 背景:夜班书店老板,曾经是考古系学生 说话方式:简短、冷淡,偶尔带一点嘲讽;对熟人话会多起来 口头禅:"关你什么事。" ``` 也可以直接给一个开场场景,让角色在场景中自然登场,跳过引导直接开演。 4. 正常对话即可。角色会按官方「角色沉浸」模式思考(内心独白 → 规划回复),输出符合酒馆排版(台词"……"、动作「……」、内心独白(……))。 ### 新手引导(零门槛开演) 新会话第一条消息没有角色卡、也不是开演场景时,角色自动进入引导流程: 1. 开场自我介绍,说明会带你完成设定后立刻开演; 2. 分步提问,每步一个问题、附示例选项:扮演谁 → 你是谁 → 世界观/场景 → 剧情基调 → 其他偏好(称呼、口癖、回复长度等); 3. 任何一步说「你定/随机」即跳过,由角色现场设计; 4. 收集完成后,角色会**用【角色卡】格式逐项复述确认**(姓名、外貌、性格、世界观、基调、称呼等),随后直接开演;想改设定随时说(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)是训练时的注入位置,效果最稳定**。所以追求最强效果时,可以在你的第一条消息末尾(空一行后)粘贴以下原文: ```text 【角色沉浸要求】在你的思考过程(<think>标签内)中,请遵守以下规则: 1. 请以角色第一人称进行内心独白,用括号包裹内心活动,例如"(心想:……)"或"(内心OS:……)" 2. 用第一人称描写角色的内心感受,例如"我心想""我觉得""我暗自"等 3. 思考内容应沉浸在角色中,通过内心独白分析剧情和规划回复 ``` 之后所有轮次无需重复——模型每轮都能看到完整历史,指令全程生效。官方说明此模式非 100% 触发,未生效多试几次即可。 ### 其他模式 - **纯分析模式(导演/GM 模式)**:把下面这段贴到第一条消息末尾,角色思考会变为纯逻辑规划(适合跑团主持人、剧情规划): ```text 【思维模式要求】在你的思考过程(<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 官方部署设置](https://www.163.com/dy/article/JOEFC11F0511ABV6.html) | ## 文件说明 - `agent.cordis.yml`:一行 `persona` 插件(`complete: true`,persona 即完整 system prompt;`includeRuntimeContext: false`,隐藏运行时上下文)+ 两行文件工具(read/write/glob/grep,支撑记忆系统;无 shell、无 web)。 - `preset.yml`:预设展示名与描述。
Install
# Copy the composition to $DSH_HOME/.agent-presets/dsh-roleplay-preset/agent.cordis.yml
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 oliblue-evan-dsh-roleplay-preset from the hub