dsh-tavern-extras:DSH Tavern 的编辑重发与长篇写作扩展

前言

在 DSH Tavern 里跑游玩会话时,常见两类需求:生成结果不满意,想改上一条用户话再让模型重跑;以及把对话从短聊拉长成有目录、有设定、有审查流程的长篇写作。前者若只靠复制粘贴,很难和「回退本轮」里的变量、状态对齐;后者若仍用默认游玩侧栏,又缺少项目级目录与专用 agent preset。

dsh-tavern-extras 由 Lindemellis 维护,分类为客户端插件。它不修改 dsh-tavern 源码,通过 Cordis patch 与前端扩展,在游玩会话提供「编辑上一条发言」,并增加独立的「写作」模式与项目结构。下面介绍定位、能力与在 Windows 桌面版 DSH Tavern 上的安装方式。

这是什么

一句话:dsh-tavern-extras 是 DSH Tavern 的附加 bundle,提供「编辑上一条发言并重新生成」,以及基于项目目录的长篇写作模式(预设、Skill、子 agent 审查、可编辑提示词)。

插件在 DSH 进程权限下运行;安装前请自行查看源码与许可证,确认符合你的环境与安全要求。

编辑上一条发言

游玩会话输入框上方会出现「编辑上一条发言」。点击后的行为可以概括为:先走作者原有的「回退本轮」(正文、变量、状态一并回退,必要时可用「撤销回退」恢复),再把上一条用户发言原文填回输入框;改完发送即触发重新生成。

使用上需注意:

  1. 该入口只在游玩会话出现,卡片对话和 silly 对话不会出现。
  2. 若最后一轮生成失败,第一次点击只会清掉失败回复并把那条输入交还;再点一次才会进入「编辑上一轮」。
  3. 原发言中的图片或附件不会带回输入框。

写作模式

左侧栏在「游玩 / 卡片」旁增加「写作」。写作模式下,列表区变为「项目 → 对话」结构。

项目目录

项目落在酒馆资源目录下,路径形如:

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 为准。

  1. 将本仓库放在 DSH Tavern 安装目录之外的任意位置,例如 D:\dsh-plugins\dsh-tavern-extras(避免升级时被清掉)。
  2. 关闭 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"。
  3. 建立目录联结(PowerShell):
New-Item -ItemType Junction -Path "<DSH Tavern>\data\harness\profiles\tavern\node_modules\dsh-tavern-extras" -Target "D:\dsh-plugins\dsh-tavern-extras"
  1. 启动 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 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜