dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
酒馆管理面板:多角色卡、多世界书、多预设与会话级隔离,记忆总结、角色关系网、剧情选项一键发送,另有 NSFW 模式。完整效果需同时安装伴生插件 dsh-muv-engine 与 dsh-muv-table,用于渲染状态栏、剧情选项与变量表格。
⚠️ v2.0.0 破坏性更新:协议变更为 PolyForm-Noncommercial-Copyleft-1.0.0(禁止商用)。旧版 1.0.0~1.9.2 已全部废弃,不再维护。
⚠️ AI 助手注意:修改本项目代码前,请务必先阅读 AGENTS.md(或.cursorrules/CLAUDE.md),了解代码规范、测试方法、提交规范和常见坑。未通过语法检查和重启验证的代码不要提交。
⚠️ 旧仓库已归档:本仓库的旧版本(MIT 协议)已归档在 dsh-tavern,只读。本仓库使用 PolyForm-Noncommercial-Copyleft-1.0.0 协议。
🎴 为 DeepSeek Harness 打造的角色卡 / 世界书管理插件,导入角色卡就能开始角色扮演。
完整说明见 CHANGELOG.md。
才会载入它的角色卡 / 世界书 / 预设模块 / 记忆;选 standard 等其他预设则一个字符都不注入。 面板里的「生效范围」「当前会话绑定」不再影响注入(数据保留,仅兼容)。
自动转成独立 agent 预设(结构占位、废稿、SPreset 配置会被丢掉)。
完整说明见 CHANGELOG.md。
注:当前包版本 2.7.18 是纯文档修正版——运行时代码与依赖声明均未改动,仅版本号抬到 2.7.18,
功能内容止于 v2.7.17,所以下面的要点仍以 v2.7.17 为准。
原先声明 dsh-muv-table: ^0.2.2 / dsh-muv-engine: ^0.3.2,而 0.x 的 caret 锁的是 minor (^0.2.2 实为 >=0.2.2 <0.3.0),实测 satisfies('0.3.1', '^0.2.2') = false, 所以从 npm 装到的始终是 muv-table@0.2.12 + muv-engine@0.3.x—— table 0.3.1 的「世界书 JSON initvar 读不出 ⇒ 状态栏恒『未知』」等修复全部到不了用户手里。 已抬到 ^0.3.1 / ^0.4.1。本次只动版本号与依赖声明,运行时代码一字未改。
tavern:card 的正文组装搬进 lib/server/assemble.js。另随本版一并发出两批改动:--dsw-* CSS 令牌——写法合规(名字格式、语法都对)所以三道闸门全放行,但运行时静默失效。用户可见的修复:违禁词弹层「保存」按钮恢复背景色、世界书条目编辑器输入框 恢复边框、关系网标题改为跟随主题。面板 panelHTML 段内还有多处同类令牌,留待后续处理。
presetStatus 双 setter、golden 测试临时目录治理、字符串字面量工具去重、pre-commit 钩子退出码三态。
注:后两批在 CHANGELOG 里仍挂在「未发布」标题下,属标题滞后——它们已随 2.7.16 的 tarball
发出(实测包内 setPresetStatusHtml 由 2.7.2 的 0 处变为 6 处:lib/client.manager.bundle.js内 5 处、包内CHANGELOG.md内 1 处)。
v2.5.4 的完整说明见 docs/archive/RELEASE_NOTES_v2.5.4.md。
报错特征是 SessionFormatError: system/message requires a protected first surface head。 根因:会话日志要求受保护 head 只能由「还没有任何 surface 事件时出现的 `system/message`」 建立,而旧版播种抢先写了 assistant/message。现在三处写入点共用闸门 canAppendGreetingSurface():日志里已有 system/message 才允许再写。 已损坏的会话可以救回(删掉日志里那条抢跑消息即可,见 release notes)。
且内容没变时不再重写 SKILL.md;另加输入框遮挡守卫(下次会直接说出是谁挡住了输入框)。
greetingSeedEnabled)。state.nsfwPrompt,不进代码/发布包、升级不覆盖),按会话注入并过统一生效范围闸门;默认关闭 + 空正文 ⇒ 升级零行为变化。⚠️ 行为变化:新会话不再自动出现角色卡开场白;请用面板 「📌 开场白 → ➕ 注入开场白到会话末尾」 注入(要求该会话已经跑过至少一个回合)。
升级后请重启一次 DSH。
本插件原先自带一套剧情/状态美化(beautifyContentEl),而 dsh-muv-engine 另有一套 更完整的状态栏级联。两套渲染器同时运行会互相覆盖:酒馆这套把 『』 表头与 - 😋 名字 当作对话行平铺,覆盖掉 muv-engine 结构化后的卡片,用户看到的是半成品。
现在渲染归 dsh-muv-engine,本插件只负责面板与数据:
delegateBeautify(msgEl) → window.MuvEnginebeautifyContentEl 定义保留作为回退,但不再被调用DSH 的消息容器类名是 CSS Modules 生成的哈希(历史上是 Sxvs8a_root,后来是 _markdown_kcgor_5),每次 DSH 重建 Web 资源都会变。写死任何一个哈希,都会在 某次 DSH 升级后静默失效——选择器匹配不到任何消息,整条美化链路全部不执行,而页面上 看不出任何报错。
现在按形状匹配(_markdown__)并用块级子节点把同名的文件类型图标排除掉, 另保留 [data-role="assistant"] 等显式标记退路。
写进了另一个预设」
⚠️ 配套版本(随 v2.7.17 更新):当前需配合 dsh-muv-engine ^0.4.1 与 dsh-muv-table ^0.3.1。
注意 0.x 的 ^ 锁的是 minor,装旧版伴生插件会拿不到已发布的修复。Copyright (c) 2026 chen731215-dev
本项目采用 PolyForm-Noncommercial-Copyleft-1.0.0 协议。
完整协议文本见 LICENSE。
插件 · 说明 · 当前配套版本 dsh-muv-table · MUV 变量表格编辑器 · ^0.3.1 dsh-muv-engine · MUV 正则引擎 + 变量追踪 · ^0.4.1
<choices> / <Drama> / <style> 等转义形态还原成真实标签再渲染,不再裸奔显示dsh-tavern 安装,重启 DSHAI 会自动读取角色卡和世界书,不需要手动贴设定。
dsh-taverndsh plugin add dsh-tavern下载源码复制到 DSH 插件目录,重启 DSH。
打开 设置 → 酒馆管理,你会看到三个卡片区:
区域 · 作用 · 操作 🎭 角色卡 · 定义角色的人设、性格、说话方式、首条消息 · 拖入 PNG / JSON 角色卡文件(SillyTavern 格式),可导入多份 📚 世界书 · 定义世界观、场景、NPC、规则(按关键词触发省 token) · 拖入 JSON 世界书文件,或点「+ 新增条目」手动建 ⚙️ 预设 · 预置写作风格、破限词条、行为模块 · 拖入 JSON 预设文件,或点「+ 新增条目」手动建
保存:三个区域的内容会自动写入当前预设的目录文件,无需手动保存。
💡 新建空白预设:点「+ 新建」创建的是完全空白的预设(无任何角色卡/世界书/词条),方便从零搭建;想基于现有预设改造就点「⧉ 复制」。
角色卡/世界书/预设设置好后,该预设就是一个完整的「Agent 预设」——它同时具备: