DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Lindemellis /

Lindemellis/dsh-tavern-extras

Verified

DSH Tavern plugin: edit-and-resend the last message, plus a long-form novel writing mode with projects, subagent review and editable prompts | 编辑上一条发言 + 长篇写作模式

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@08145f14

dsh-tavern-extras

DSH Tavern 的附加功能,不改作者的代码。

编辑上一条发言

游玩会话输入框上方的「编辑上一条发言」:调用作者原有的「回退本轮」(正文、变量、状态一起回退,可用「撤销回退」恢复),再把上一条发言原文填回输入框,改完发送即重新生成。

  • 只在游玩会话出现,卡片对话和 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 在这个项目里默认可以读取(只读)。「+ 选择文件夹」弹出系统自带的文件夹对话框;用手机远程访问时退回页面内浏览。
  • 写作预设:从酒馆「预设库」选一个预设,读取它启用的条目(与「应用到本局」相同的取法)存进项目,作为文风要求交给 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 共存

  • 左侧栏:酒馆把侧栏注册在 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,否则它会把对话框子进程启动成第二个桌面程序。

安装

已在 DSH Tavern 2.5.0(DSH 0.1.5-rc.2,Windows 桌面版)上使用。下面的 <DSH Tavern> 指 DSH Tavern 的安装目录(里面有 DSH Tavern.exe 和 data 文件夹)。

  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"
    
  4. 启动 DSH Tavern。

DSH Tavern 升级时会保留你自己加的 bundle 和依赖。卸载:删掉 package.json 里加的两处和上面的链接,再重启。

改了插件代码或 cordis.patch.yml 之后需要重启 DSH Tavern;只改前端(lib/client.js)时按 Ctrl+R 刷新即可。

注意

本插件不改 dsh-tavern 的代码,但依赖它的一些内部结构(见下文)。dsh-tavern 升级后如果这些结构变了,插件可能失效。设计上失效时尽量原样放行,不影响酒馆本身;遇到问题请开 issue 并注明 DSH Tavern 版本。

依赖 dsh-tavern / DSH 内部结构的地方

  • /api/dsh-tavern/rollbackTurn、listPresets、getPreset 的返回结构
  • 窗口事件 dsh-tavern-data-changed;侧栏类名(见上)
  • lib/domain/native-conversation-storage.js、data/sessions.json
  • system-prompt/assemble 钩子的行为(见上)
—/ 5

No ratings yet

Verified DSH bundle

Commit 08145f140c9e

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout