用 dsh-LorebookMD 把酒馆世界书接到 DeepSeek Harness

前言

用大模型写长篇或做角色扮演,最容易崩的不是文笔,而是设定。人物关系、地名、组织规则一旦只靠会话记忆,写到后面就会串线:同一角色换了称呼,世界书里写过的禁令被模型随手改掉。SillyTavern / TavernAI 这边已经有成熟的角色卡和世界书(lorebook)格式,条目可以按触发词注入;DeepSeek Harness(dsh)这边则把模型、工具、会话和界面都做成插件,官方仓库的口号是 Everything is a plugin(一切皆插件)。两边的设定格式并不互通。

dsh-LorebookMD 做的就是桥接:把酒馆角色卡和世界书导入当前 dsh 进程,落地成可编辑的本地 Markdown,再按「创作」或「世界书」两种预设注入系统提示词。社区目录把它归在「记忆」分类,维护者是 GitHub 用户 609476965。本文按目录详情页、GitHub README / package.json / 源码,以及 npm 页面交叉核对,核实日期为 2026-08-18

需要先说明两件事。第一,DeepSeek Harness 目前仍是 developer preview,官方 README 写明会有破坏性变更。第二,deepseek-harness-plugin.com 是独立的社区目录,About 页写明与 DeepSeek / 幻方没有官方从属关系,不能当成官方应用商店。

这是什么

dsh-LorebookMD 是一款面向 DeepSeek Harness Web 的世界书驱动创作插件。npm 包名是 dsh-lorebookmd,当前版本 1.0.0,主要语言 TypeScript。package.json 把客户端平台声明为 web,并声明了 dsh.bundle.patch,安装后由 profile 自动套用 cordis.patch.yml

它解决的问题很具体:你已经有酒馆角色卡(PNG 内嵌或 JSON)或独立世界书 JSON,希望在 dsh 里继续用同一套设定写小说或做角色扮演,而不是把条目手工粘进对话。插件只管理你自己提供的设定文本;README 写明工程内不内置任何「破限 / 越狱」提示词。

社区目录页在收录时显示 5 星;GitHub 仓库在 2026-08-18 查询为 13 星。package.json 与 npm 登记许可证为 MIT,仓库根目录目前没有独立的 LICENSE 文件,GitHub 元数据因此未识别许可证。安装前仍应自己打开源码核对。

核心功能

导入酒馆角色卡与世界书

README 和 src/tavern.ts 列出的输入包括:

  • 角色卡:PNG(tEXt chunk 里 keyword 为 chara 的内嵌 JSON)或独立 JSON(chara_card_v2 以及旧版字段置顶格式)
  • 卡内世界书:extensions.world,以及 SillyTavern 的 character_book(角色书),两者会合并
  • 独立世界书:顶层 { entries: [...] },也兼容条目对象和纯数组
  • 正则脚本:卡内 extensions.regex_scripts / extensions.regex,或独立脚本 JSON;源码注明 DSH 没有聊天正则渲染管线,导入后只作参考,由模型自行对照,不会像酒馆那样自动替换对话文本

对话工具 prompt_import_tavernprompt_import_worldprompt_import_regex 与设置页走同一份数据。导入角色卡时需要绝对路径

每本世界书三件产物

导入成功后,插件为每本世界书生成三件东西:

产物 作用
名·世界书 预设 设定全文 + 关键词自动触发:对话里提到触发词时,对应条目注入本轮
名·创作 预设 创作模式:创作指令 + 设定全文,激活后按用户输入写小说正文
worldbooks/<名>.md 本地 Markdown 设定文档,可用系统默认程序打开后手工编辑

世界书条目支持常驻(constant,不依赖触发词)和按 keys 匹配。worldTrigger 默认开启。激活的预设会通过 systemPrompt.section() 注入;切换后下一轮对话生效,不必重载插件。

两种模式

README 把用法分成两条路径,可随时切换,停用后回到正常会话:

进入创作(激活「·创作」) 世界书模式(激活「·世界书」)
输出 第三人称小说正文,直接写、不复述设定 以世界内角色身份对话、推进剧情
设定 全文注入,模型参考 全文注入 + 关键词触发条目
交互 给场景 / 情节 / 人物,继续给则续写 以第一人称参与,模型以角色回应
适合 写小说、场景描写 沉浸式角色扮演、互动推演

源码里创作预设的规则是:尊重世界设定中的规则、组织、人物关系和世界观,不得擅自违背或新增;按用户给出的场景写连贯正文,而不是对话式回复。

设置页与预设工具

package.json 声明了 Web 客户端注入。启动后打开默认 Web UI http://127.0.0.1:3080,进入 设置 →「世界书创作」,可以看世界书列表、进入创作、切到世界书模式、用系统程序编辑本地 .md、导入和删除。终端应打印 [prompt-manager] ready: …(插件内部 Cordis 组件名是 prompt-manager)。

对话里还可以用预设管理工具:prompt_preset_listprompt_preset_useprompt_preset_offprompt_preset_saveprompt_preset_delete。源码注释里的说法包括「列出所有提示词预设」「切换到某预设」「停用提示词预设」。

数据落在本地

默认目录是 ~/.dsh/dsh-LorebookMD(可用配置项 dataDir 覆盖):

数据 路径
预设(含创作 / 世界书预设正文) ~/.dsh/dsh-LorebookMD/presets.json
世界书条目(关键词触发用) ~/.dsh/dsh-LorebookMD/worldbooks.json
本地设定文档 ~/.dsh/dsh-LorebookMD/worldbooks/<名>.md

watchFile 默认开启:直接改 presets.json 会热载入。JSON 损坏时,插件会把原文件备份成 *.broken-* 再以空库启动,避免覆盖用户数据。

安装与启用

社区目录页给出的安装命令如下,在 DeepSeek Harness 终端中运行:

dsh plugin add github:609476965/dsh-LorebookMD

如需可复现安装,目录页建议固定 commit 哈希(把 commit 换成实际哈希):

dsh plugin add github:609476965/dsh-LorebookMD#commit

当前 main 在 2026-08-14 的最新提交是 4bc4110efbfb4888286b81aaf53191705dade9dd。插件以当前 dsh 进程的权限运行,安装时可能执行代码;安装前请检查源代码仓库和许可证。

仓库 README 另外推荐从 npm 装到 web profile(包已发布 1.0.0,内置 lib/ 构建产物):

dsh plugin --profile web add dsh-lorebookmd

dsh plugin 会把本包加入 dsh.profile.bundles 并应用 cordis.patch.yml。官方 Harness 文档要求安装 bundle 后重启 profile,例如 dsh --profile webpackage.json 要求 Node.js >= 22.18

也可以直接对 dsh 说:

帮我安装这个插件https://github.com/609476965/dsh-LorebookMD

README 还提供了 install.cmd / install.ps1 一键复制到 profile 的 node_modules,以及临时用 start-dsh-plugin.cmd--patch 加载 cordis.yml 的方式。自动挂载和 --patch 临时挂载不要同时使用,否则会重复挂载。

典型用法

下面按 README 和源码可以复现的路径写,不额外编造角色卡内容。

  1. 按上一节装好插件并重启 web profile,打开 http://127.0.0.1:3080
  2. 把酒馆导出的角色卡(.png / .json)或世界书 JSON 放到本机某个绝对路径。
  3. 在设置页点导入,或在对话里让助手调用工具。角色卡示例(路径换成你的文件):
导入 C:/cards/xxx.png 角色卡

对应工具是 prompt_import_tavern。独立世界书用 prompt_import_world,可传 activate 以便导入后立刻激活「·世界书」预设。

  1. 导入完成后,设置页会出现该世界书。点 进入创作 激活 名·创作,或点 世界书模式 激活 名·世界书
  2. 创作模式下,按 README 的典型指令给场景,例如「写一段……」「描写……的过程」,模型应输出小说正文。世界书模式下用第一人称推进,例如「我是……,然后呢?」。
  3. 需要改设定时,点 编辑文档,用系统默认程序打开 worldbooks/<名>.md。预设正文存在 presets.json,改完后下一轮对话会读到新内容。
  4. 停用预设后回到普通会话。删除世界书会同时去掉「·世界书」「·创作」预设和对应 Markdown 文件。

适用场景与注意事项

适合已经有酒馆角色卡 / 世界书、希望在 dsh Web 里继续写小说或做角色扮演的人。它管的是「设定如何导入、落地、按模式注入」,不是通用的跨会话长期记忆,也不是知识图谱。社区目录里同类「记忆」插件(如 graph-memory、mnemon)解决的是另一类问题。

使用时注意这些边界:

  • 客户端声明为 web,设置页依赖默认 Web UI;不要假定终端 headless 会话里也有同一块界面。
  • 导入路径必须是绝对路径;相对路径会失败。
  • 正则预设不会在 DSH 里自动改写对话,只是把脚本定义存成参考文本。
  • 创作模式要求模型不擅自新增设定;实际效果仍取决于当前模型和是否激活了对应预设。
  • 数据在本机 ~/.dsh/dsh-LorebookMD 下,备份或迁移时把这个目录一起带走。
  • 插件以当前 dsh 进程权限运行。安装社区插件前应阅读源码和许可证;目录页也提醒:需要可复现安装时固定 commit。

小结

dsh-LorebookMD 把 SillyTavern / TavernAI 的角色卡和世界书接到 DeepSeek Harness:导入后得到本地 Markdown、关键词触发的世界书预设,以及专门写小说的创作预设。维护者是 609476965,社区目录分类为记忆,npm 包 dsh-lorebookmd 当前为 1.0.0。

目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-lorebookmd/

GitHub:https://github.com/609476965/dsh-LorebookMD

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

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

小夜