dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH Tavern plugin: edit-and-resend the last message, plus a long-form novel writing mode with projects, subagent review and editable prompts | 编辑上一条发言 + 长篇写作模式
DSH Tavern 的附加功能,不改作者的代码。
游玩会话输入框上方的「编辑上一条发言」:调用作者原有的「回退本轮」(正文、变量、状态一起回退,可用「撤销回退」恢复),再把上一条发言原文填回输入框,改完发送即重新生成。
左侧栏「游玩 / 卡片」旁边多了「写作」。写作模式下列表区换成「项目 → 对话」:
DSH-Tavern/data/harness/profile-data/tavern/data/resources/novel/<书名>/,每个项目一套约定目录(大纲、设定、伏笔账本、点子、正文、摘要……),项目设置在 .novel/project.json。presets/novel/):九个写作 Skill、子 agent 分工检索与审查、计划模式、上下文压缩。另外可用酒馆「Skill 库」里你自己的 Skill,以及项目里 .dsh/skills/ 下的 Skill。项目根目录的 AGENTS.md 会自动进入上下文。这两项在每次请求时附在系统提示末尾,改完下一条消息就生效。
对所有写作项目生效:
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 模型选择」里允许的路由中选。agent.cordis.yml 里,改它需要重启。sidebar.workspaces(priority -1)。本插件以 priority -2 注册一个外壳,在里面原样渲染酒馆的侧栏,再把「写作」按钮和写作面板挂进它的 DOM(依赖 .dsh-tavern-sidebar、.dsh-tavern-mode-switch 等类名)。.novel/project.json)把它们补回来,其他插件新增的内容保留。最里层钩子在启动约 3 秒后登记;启动后立刻在写作会话里发出的第一条请求可能还没有补回。@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 文件夹)。
D:\dsh-plugins\dsh-tavern-extras(放在外面,升级时不会被清掉)。<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"。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 升级时会保留你自己加的 bundle 和依赖。卸载:删掉 package.json 里加的两处和上面的链接,再重启。
改了插件代码或 cordis.patch.yml 之后需要重启 DSH Tavern;只改前端(lib/client.js)时按 Ctrl+R 刷新即可。
本插件不改 dsh-tavern 的代码,但依赖它的一些内部结构(见下文)。dsh-tavern 升级后如果这些结构变了,插件可能失效。设计上失效时尽量原样放行,不影响酒馆本身;遇到问题请开 issue 并注明 DSH Tavern 版本。
/api/dsh-tavern/rollbackTurn、listPresets、getPreset 的返回结构dsh-tavern-data-changed;侧栏类名(见上)lib/domain/native-conversation-storage.js、data/sessions.jsonsystem-prompt/assemble 钩子的行为(见上)