前言¶
在 DSH Tavern 里跑游玩会话时,常见两类需求:生成结果不满意,想改上一条用户话再让模型重跑;以及把对话从短聊拉长成有目录、有设定、有审查流程的长篇写作。前者若只靠复制粘贴,很难和「回退本轮」里的变量、状态对齐;后者若仍用默认游玩侧栏,又缺少项目级目录与专用 agent preset。
dsh-tavern-extras 由 Lindemellis 维护,分类为客户端插件。它不修改 dsh-tavern 源码,通过 Cordis patch 与前端扩展,在游玩会话提供「编辑上一条发言」,并增加独立的「写作」模式与项目结构。下面介绍定位、能力与在 Windows 桌面版 DSH Tavern 上的安装方式。
这是什么¶
一句话:dsh-tavern-extras 是 DSH Tavern 的附加 bundle,提供「编辑上一条发言并重新生成」,以及基于项目目录的长篇写作模式(预设、Skill、子 agent 审查、可编辑提示词)。
- 仓库:https://github.com/Lindemellis/dsh-tavern-extras
- 社区目录:https://www.skillhub.cn/plugins/Lindemellis/dsh-tavern-extras
- 当前 package 版本:
0.1.0(MIT)
插件在 DSH 进程权限下运行;安装前请自行查看源码与许可证,确认符合你的环境与安全要求。
编辑上一条发言¶
游玩会话输入框上方会出现「编辑上一条发言」。点击后的行为可以概括为:先走作者原有的「回退本轮」(正文、变量、状态一并回退,必要时可用「撤销回退」恢复),再把上一条用户发言原文填回输入框;改完发送即触发重新生成。
使用上需注意:
- 该入口只在游玩会话出现,卡片对话和 silly 对话不会出现。
- 若最后一轮生成失败,第一次点击只会清掉失败回复并把那条输入交还;再点一次才会进入「编辑上一轮」。
- 原发言中的图片或附件不会带回输入框。
写作模式¶
左侧栏在「游玩 / 卡片」旁增加「写作」。写作模式下,列表区变为「项目 → 对话」结构。
项目目录¶
项目落在酒馆资源目录下,路径形如:
DSH-Tavern/data/harness/profile-data/tavern/data/resources/novel/<书名>/
每个项目有一套约定子目录(大纲、设定、伏笔账本、点子、正文、摘要等),项目级配置在 .novel/project.json。项目旁的「+」用于新建对话,「⚙」打开右侧栏「项目设置」。打开写作项目内的对话时会自动切换到写作模式。
对话使用「长篇写作」agent preset(presets/novel/):包含九个写作 Skill、子 agent 分工检索与审查、计划模式、上下文压缩。此外还可使用酒馆「Skill 库」里你自己的 Skill,以及项目内 .dsh/skills/ 下的 Skill。项目根目录的 AGENTS.md 会自动进入上下文。
项目设置(右侧栏)¶
- 额外素材路径:指定已有小说、设定集或资料所在的文件夹或文件;AI 在本项目中默认只读访问。桌面端「+ 选择文件夹」会弹出系统文件夹对话框;手机远程访问时退回页面内浏览。
- 写作预设:从酒馆「预设库」选一个预设,按与「应用到本局」相同的方式读取启用条目,写入项目作为文风要求。预设库中开关变更后,可点「重新读取」。
这两项在每次请求时附在系统提示末尾,修改后下一条消息即生效。
写作 Agent(右侧栏「其他」)¶
配置对所有写作项目生效:
- 主提示词(默认
presets/novel/persona.md)与 九个 Skill(默认presets/novel/skills/):可编辑、查看默认、恢复默认。自定义版本保存在resources/novel/.agent/(persona.md、skills/<名>/SKILL.md),同名时优先于默认;插件更新只替换默认文件。 - 流程设置(
resources/novel/.agent/settings.json):例如写完一章是否自动审查、审查方向、每章目标字数、子 agent 模型等;组装时会转成「写作流程设置」一节放在主提示词之后。子 agent 模型只能从 DSH 设置「子 agent 模型选择」里允许的路由中选择。
主提示词与流程设置在每次组装时放在系统提示最前面;Skill 由 DSH 每次加载时重读,故改完下一条消息即生效。计划模式规则仍在 agent.cordis.yml 中,修改后需要重启。
与 dsh-tavern 的共存方式¶
侧栏:dsh-tavern 把侧栏注册在 sidebar.workspaces(priority -1)。本插件以 priority -2 注册外壳,原样渲染酒馆侧栏,再把「写作」按钮与写作面板挂进对应 DOM(依赖 .dsh-tavern-sidebar、.dsh-tavern-mode-switch 等类名)。
system 组装:dsh-tavern 的钩子会替换非酒馆会话的提示词段落,并去掉文件 / Skill / 子 agent 等工具。本插件对写作项目会话(工作目录存在 .novel/project.json)把这些能力补回,其他插件新增内容保留。最里层钩子在启动约 3 秒后登记;启动后立刻在写作会话里发出的第一条请求,有可能尚未补回。
系统文件夹对话框复用 DSH 自带的 @deepseek-ai/dsh-host-directory-picker-native;桌面端宿主在 Electron utility 进程中运行,调用期间会临时设置 ELECTRON_RUN_AS_NODE=1,否则对话框子进程可能被启动成第二个桌面程序。
安装与启用¶
README 记载已在 DSH Tavern 2.5.0(DSH 0.1.5-rc.2,Windows 桌面版)上验证。下文 <DSH Tavern> 指安装目录(含 DSH Tavern.exe 与 data 文件夹)。社区目录未提供 dsh plugin add 一类命令,安装以仓库 README 为准。
- 将本仓库放在 DSH Tavern 安装目录之外的任意位置,例如
D:\dsh-plugins\dsh-tavern-extras(避免升级时被清掉)。 - 关闭 DSH Tavern,编辑
<DSH Tavern>\data\harness\profiles\tavern\package.json:
- 在dependencies增加:"dsh-tavern-extras": "link:D:/dsh-plugins/dsh-tavern-extras"(路径改为你本机位置,使用正斜杠);
- 在dsh.profile.bundles数组末尾加上"dsh-tavern-extras"。 - 建立目录联结(PowerShell):
New-Item -ItemType Junction -Path "<DSH Tavern>\data\harness\profiles\tavern\node_modules\dsh-tavern-extras" -Target "D:\dsh-plugins\dsh-tavern-extras"
- 启动 DSH Tavern。
DSH Tavern 升级时会保留你自行添加的 bundle 与依赖。卸载时删除 package.json 中上述两处及联结目录,再重启即可。
改了插件代码或 cordis.patch.yml 后需重启 DSH Tavern;仅改前端 lib/client.js 时可用 Ctrl+R 刷新。
典型用法¶
改话重跑(游玩):在游玩会话中生成不满意 → 点「编辑上一条发言」→ 在输入框改文案 → 发送,完成回退后的重新生成。
开长篇项目(写作):切到「写作」→ 在项目列表建 <书名> 项目 → 「⚙」配置额外素材路径与写作预设 → 「+」新建对话 → 在对话中按 preset 流程写作;需要时在右侧栏调整主提示词、九个 Skill 或流程设置(如下一章自动审查、目标字数、子 agent 模型)。
适用场景与注意¶
适合已经使用 DSH Tavern、且需要在游玩里快速「改上一条再生成」,或希望用统一目录与 agent preset 管理长篇小说的用户。
务必知晓:
- 插件不改 dsh-tavern 源码,但依赖其内部 API 与 DOM 结构(如
/api/dsh-tavern/rollbackTurn、listPresets、getPreset,事件dsh-tavern-data-changed,以及system-prompt/assemble钩子等)。dsh-tavern 大版本升级后若结构变化,插件可能失效;设计上尽量原样放行、不影响酒馆本体,问题可在 GitHub 开 issue 并注明 DSH Tavern 版本。 - 安装与运行等同于向 DSH 进程加载第三方 bundle,安装前应阅读仓库源码与 MIT 许可证。
DeepSeek Harness 社区插件目录(如 SkillHub)由社区维护,与 DeepSeek / 幻方无官方从属关系;本文安装步骤仅复述该插件 README,不代表官方应用商店的一键安装流程。
结尾¶
dsh-tavern-extras 把「编辑上一条发言」接到 dsh-tavern 原有的回退机制上,并在此基础上提供项目化的长篇写作侧栏与 agent 配置,适合在不动酒馆核心代码的前提下扩展游玩与写作工作流。详情与更新见 GitHub 仓库 与 SkillHub 目录页。