dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH Tavern plugin: send SillyTavern preset entries with their own role (system/user/assistant) instead of forcing system/user | 游玩时预设条目按自身 role 发送
DSH Tavern 游玩时,预设条目按自身的 role 发送,不再被强制成 system / user。
预设的导入、开关、前中后排序、应用到本局,全部沿用 DSH Tavern 自带的「预设库」,本插件只在请求发出前改写角色和位置:
| 段 | DSH 原行为 | 本插件 |
|---|---|---|
| 前段 | 拼进唯一的 system 消息 | 每条单独成消息,用条目 role;DSH 自己的人物卡/世界书等 system 材料放在其后(systemPosition) |
| 中段 | 塞进本轮 foreground-frame 的写作规则 | 从 frame 里剪出,按条目 injection_depth 插进对话,用条目 role |
| 后段 | 强制 user,并与相邻 user 合并 | 剪出后按顺序追加在末尾,用条目 role(assistant 即预填) |
已在 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-preset-roles(放在外面,升级时不会被清掉)。<DSH Tavern>\data\harness\profiles\tavern\package.json:
dependencies 里加一行 "dsh-tavern-preset-roles": "link:D:/dsh-plugins/dsh-tavern-preset-roles"(换成你的路径,用正斜杠);dsh.profile.bundles 数组末尾加上 "dsh-tavern-preset-roles"。New-Item -ItemType Junction -Path "<DSH Tavern>\data\harness\profiles\tavern\node_modules\dsh-tavern-preset-roles" -Target "D:\dsh-plugins\dsh-tavern-preset-roles"
DSH Tavern 升级时会保留你自己加的 bundle 和依赖。卸载:删掉 package.json 里加的两处和上面的链接,再重启。
改了插件代码或 cordis.patch.yml 之后需要重启 DSH Tavern;只改前端(lib/client.js)时按 Ctrl+R 刷新即可。
本插件不改 dsh-tavern 的代码,但依赖它的一些内部结构(见下文)。dsh-tavern 升级后如果这些结构变了,插件可能失效。设计上失效时尽量原样放行,不影响酒馆本身;遇到问题请开 issue 并注明 DSH Tavern 版本。
front / middle / back:某段设为 false 则该段保持 DSH 原样systemPosition:after-front(默认)或 firstdebug:在 DSH 日志里打印每次改写了几条purpose 的请求)、silly 对话、卡片工作台chats/<id>/snapshots/)dsh-tavern.request-handled、@deepseek-ai/dsh-system-prompt、foreground-frame,以及 lib/domain/runtime-presets.js、native-conversation-storage.js。