pmp-dsh-tavern:在 DSH 上兼容 SillyTavern 资源与 RP 工作流

前言

DeepSeek Harness(DSH)以插件扩展会话、工具与前端能力,但社区里大量角色卡、预设与世界书仍沿用 SillyTavern(ST)格式。若要在 DSH 里直接复用这些资源,并保留 swipe、分支、周目等 RP 侧栏体验,通常需要自行转换格式或维护两套前端。

pmp-dsh-tavern(仓库名 dsh-tavern,维护者 Player-MINEPIG)在 DSH 公开扩展点之上增加一层可卸载的 Tavern 兼容框架:不替换 DSH 原生前端,也不复制会话历史;DSH 仍拥有 durable history、工具权限与最终模型请求。下面介绍其定位、能力与从安装到首轮对话的步骤。

这是什么

pmp-dsh-tavern 是为 DeepSeek Harness 提供 Tavern 资源兼容、RP 工作流与第三方前端协议的开源插件。当前文档对应版本 2.0.0,采用 MIT License;开发验收基线为 DSH rc.8

插件通过 DT 悬浮球在两种模式间切换:

  • 灵珠 / DSH 原生模式:保留 DSH 原生会话、侧边栏与插件生态。
  • 魔丸 / RP 模式:按角色卡与周目重组 RP 侧栏,提供开场白、greeting、显示正则、swipe、分支、回退、导入与导出。

卸载后仍可阅读原始 DSH 会话:插件只保存资源、选择、周目指针与显示元数据,不伪造或覆盖 DSH 历史。

核心功能

v2.0 按模块划分的能力如下(均来自项目 README 与文档索引):

模块 主要能力
资源 ST 预设,V1/V2/V3 JSON/PNG 角色卡,独立/内嵌世界书,用户资料,资源绑定与导出
RP 前端 角色卡/周目侧栏、greeting、正文渲染、显示正则、swipe、分支、回退和显示层编辑
周目数据 DSH 权威 session、树状 timeline、工作区 catalog、外部记录首轮只读注入、静态 HTML 与 ST JSONL 导出
安全 RP 权限叠加、同源/loopback API、工作区路径防护、CAS、DOMPurify、无正文 operation log
调试 Tavern Trace 展示本轮资源、世界书命中与 request/header 对齐信息
第三方开发 v2 HTTP API、pmpDshTavernChrome 模式服务、DSH slots/store 与独立客户端接入

重要边界需提前知晓:

  • 「预设」指 SillyTavern 风格的采样参数与提示词编排,不是 DSH agent preset。
  • greeting 不进入 timeline,也不会伪造成 DSH 历史;外部记录只在首次真实请求中作为 untrusted 只读上下文注入。
  • 显示正则只影响魔丸前端渲染,不改写模型请求、DSH 原始消息或导出所依据的权威正文。
  • 魔丸隐藏 reasoning、工具 context 与子 agent 通知;需查看完整运行细节时切回 DSH 原生「对话」视图。
  • 本插件面向本机 loopback DSH Web,不应直接暴露到局域网或公网。

安装与启用

环境要求:Node.js 20 或更高版本、可从 PATH 调用的 DSH,以及一个已经初始化的 DSH profile(默认 web)。

从 GitHub 克隆并执行插件安装脚本:

git clone https://github.com/Player-MINEPIG/dsh-tavern.git
cd dsh-tavern
npm install --cache .npm-cache --legacy-peer-deps
npm run plugin:install

安装完成后重启 DSH Web。更新已有安装前请先停止目标 dsh web;安装脚本会在刷新期间保留插件数据。其他 profile、独立 DSH_HOME、手动安装、备份与卸载方法见仓库内 docs/INSTALLATION.md

安全提示:安装本插件等同于允许其代码在 DSH Host 和浏览器页面中运行。请只从可信仓库与提交安装,并在更新前检查变更、备份插件数据。预设、角色卡、世界书与用户消息都可能包含 prompt injection;高权限 Agent 仍可能在模型诱导下调用获准的工具。完整威胁模型见仓库 SECURITY.md,RP 模式拦截范围见 docs/RP_SECURE_MODE.md

典型用法:从角色卡到第一轮 RP 对话

项目 README 提供了可复现的 Quick Start;视频演示见 pmp-dsh-tavern v2.0「灵珠魔丸」

1、导入角色卡

左键点击 DT 悬浮球打开菜单,进入「角色卡」,导入 SillyTavern JSON 或 PNG 角色卡。导入只创建资源,不会伪造会话或自动发送消息。

2、创建 DSH 工作区

回到 DSH 原生界面,使用 DSH 自己的工作区能力创建一个专门用于 RP 的工作区。所有周目 session 都会归入同一工作区。

3、进入 RP 前端并选择工作区

右键单击 DT 悬浮球,或在菜单中点击「切换到自定义前端模式」。首次进入魔丸时,插件会要求从 DSH 已有工作区中明确选择 RP 工作区;写入并回读确认前不会进入 RP 内容。

4、创建周目

在 RP 侧边栏找到刚导入的角色卡,点击角色卡右侧的 +。插件会创建或复用该角色最近一个完全空白的 N周目,并确保 root session 绑定的是你实际点击的角色卡。DSH rc.8 外层「新建会话」没有公开点击接管 seam;创建周目请使用角色卡右侧的 +,而非覆盖原生按钮。

5、选择开场白

空周目的 opening dock 会显示角色卡 greeting。存在备选开场白时可用左右按钮选择;这只是前端展示与首轮提示词参考,不会伪造成一次已经发生的 assistant 回复。

6、开始对话

在 DSH 原生输入栏发送第一条用户消息。用户消息会立即出现在 RP 视图中;随后可继续使用 swipe、分支新周目、同周目回退、显示文字编辑及导入/导出等功能。

完整操作与边界见仓库 docs/USAGE_zh-CN.md

适用场景与注意

适合谁

  • 已在 SillyTavern 生态积累角色卡、预设或世界书,希望在 DSH 中复用而不维护两套格式。
  • 需要 RP 侧栏(周目、swipe、分支、显示正则)但希望 DSH 仍作为会话与工具的权威层。
  • 计划基于 v2 HTTP API 或 pmpDshTavernChrome 开发第三方 RP 前端或资源管理工具。

使用前注意

  • 插件以当前 DSH 进程权限运行;安装前应检查源码与 MIT 许可证,并只从可信提交安装。
  • RP 安全模式在 DSH 权限之上增加只读与高风险工具限制,但不是虚拟机或系统沙箱,不能约束本机其他进程。
  • v1/v2 API 面向本机 loopback;Host、Origin 和 Content-Type 检查不是登录认证,不要把 DSH Web 或本插件 API 直接暴露到局域网或公网。
  • 显示正则使用 JavaScript RegExp,灾难性回溯可能冻结页面;只导入和启用你信任的模板与正则。
  • swipe、分支和周目会创建真实 DSH session,可能增加磁盘占用;revision/CAS 与路径检查不能替代备份。

遇到可疑行为时,停止 Agent、切回 DSH 原生模式并检查原始会话与工具记录。

文档与链接

  • SkillHub 目录页:https://www.skillhub.cn/plugins/Player-MINEPIG/dsh-tavern
  • GitHub 仓库:https://github.com/Player-MINEPIG/dsh-tavern
  • 中文使用指南:docs/USAGE_zh-CN.md
  • HTTP API:docs/API.md
  • 第三方 RP 前端接入:docs/FRONTEND_INTEGRATION_zh-CN.md

pmp-dsh-tavern 不取代 DSH,而是在其之上提供可测试、可审计、可卸载的 Tavern 兼容层。若你的痛点是 ST 资源与 DSH 会话权威性的并存,可按上述步骤安装并在独立工作区中试用魔丸模式。

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

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

小夜