deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
为 DeepSeek Harness(DSH)提供 Tavern 风格内容兼容、会话绑定与运行时加载能力的插件。
当前 README 为
1.0.0中文版;英文版计划后续补充。
dsh-tavern 的目标不是在 DSH 中复制一套 SillyTavern 前端,而是建立一个可测试、可审计、可扩展的兼容层:读取 SillyTavern 风格的预设、角色卡和世界书,将它们归一化,再通过统一 loader 按 DSH session 组合为实际模型请求。
当前版本已经提供一个完整的 DSH 插件,包含:
DT 悬浮入口;插件不会复制 DSH 的会话历史。DSH 仍然拥有 durable history、工具、权限和最终 request/header;dsh-tavern 只在公开扩展点装配 Tavern profile、映射受支持的模型参数,并记录不含正文的最小化审计信息。
本项目当前版本为 1.0.0。现有框架与核心工作流已达到首个稳定发布范围;真实 role message、严格 depth/absolute injection、完整 ST macro,以及 recursive、sticky/cooldown/delay、vector、outlet 等高级世界书语义仍受当前 DSH seam 或实现范围限制。详细兼容表见 Prompt pipeline。
本项目中的“预设”指 SillyTavern 风格的采样参数与提示词编排,不是 DSH 用于组合插件的 agent preset。
PATH 调用 dsh;web;127.0.0.1。先取得源码:
git clone https://github.com/Player-MINEPIG/dsh-tavern.git
cd dsh-tavern
不传参数时,安装脚本会:
DSH_HOME,则使用该目录;web profile;data/,刷新插件文件后再恢复数据;dsh web。默认安装命令:
npm install --cache .npm-cache --legacy-peer-deps
npm run plugin:install
更新已有安装前应先停止目标 dsh web。Windows 下安装器会安全调用 npm 的 PowerShell shim,避免路径和 shell 参数问题。
需要安装到其他位置时,直接给脚本传入不同参数:
--profile <name>:目标 DSH profile,默认是 web;--dsh-home <path>:目标 DSH 根目录,也就是该次安装使用的 DSH_HOME;node scripts/install.mjs --profile <profile-name> --dsh-home /absolute/dsh-home
--dsh-home 只影响安装脚本启动的子进程,不会永久修改当前终端。安装完成后若要从同一根目录启动 DSH,仍需在当前 shell 设置 DSH_HOME。
PowerShell:安装到独立根目录,然后启动该目录中的 web profile:
node scripts/install.mjs --profile web --dsh-home 'D:\DSH\review'
$env:DSH_HOME = 'D:\DSH\review'
dsh web --host 127.0.0.1 --port 53101
Windows CMD:
node scripts/install.mjs --profile web --dsh-home C:\DSH\review
set DSH_HOME=C:\DSH\review
dsh web --host 127.0.0.1 --port 53101
macOS:先安装到独立根目录,再从该目录启动 DSH:
node scripts/install.mjs --profile web --dsh-home /Users/you/dsh-review
export DSH_HOME=/Users/you/dsh-review
dsh web --host 127.0.0.1 --port 53101
Linux:
node scripts/install.mjs --profile web --dsh-home /home/you/dsh-review
export DSH_HOME=/home/you/dsh-review
dsh web --host 127.0.0.1 --port 53101
如果出现 EADDRINUSE,说明端口已被其他 DSH 进程占用;停止旧进程或换一个端口。
脚本是推荐路径。如果需要手动安装:
npm install --cache .npm-cache --legacy-peer-deps
npm run build
dsh plugin --profile web add "file:/absolute/path/to/dsh-tavern"
Windows 的本地包规范同样使用正斜杠,例如:
dsh plugin --profile web add "file:D:/Projects/dsh-tavern"
手动更新前应停止目标 dsh web,备份安装目录下的 data/,执行 dsh plugin --profile web remove dsh-tavern 后再重新 add。直接调用 DSH 不包含本项目安装器的 pending-recovery、pnpm store 复用和独立文件物化保护,因此更新已有安装时更建议使用脚本。
可以把下面的指令交给拥有本机终端权限的编码 Agent,并把路径替换成自己的值:
请从 https://github.com/Player-MINEPIG/dsh-tavern.git 获取源码,阅读 README 和
docs/INSTALLATION.md。确认 Node.js >= 20、dsh 可从 PATH 调用,并把插件安装到
profile web、DSH_HOME=<我的绝对路径>。若目标 dsh web 正在运行,先提醒我停止;
不要删除或覆盖已有 Tavern data,不要使用 --no-backup。运行 npm install 后使用
node scripts/install.mjs --profile web --dsh-home <我的绝对路径>,报告执行命令、
安装结果和需要我手动完成的 DSH 重启步骤。
请只授权你信任的 Agent 操作本机终端,并在执行前确认仓库地址、目标 DSH_HOME 和 profile。安装插件等同于允许其代码在 DSH Host 与浏览器上下文中运行。
更新前停止目标 DSH,然后在新源码目录重复运行安装脚本。安装器会暂存并恢复插件内数据;中断恢复副本位于:
<DSH_HOME>/backups/dsh-tavern/pending-refresh-<profile>/
默认资源与状态位于:
<DSH_HOME>/profiles/<profile>/node_modules/dsh-tavern/data/
这里保存预设、角色卡文档(PNG 导入另存封面图)、独立世界书、用户、用户—世界书关系、session 选择、配置模板、UI 设置和有界 Trace。若配置了外部 storageDir,数据改存该目录。
卸载:
npm run plugin:uninstall
卸载器默认先把整个 data/ 备份到 <DSH_HOME>/backups/dsh-tavern/<timestamp>/。--no-backup 会跳过备份;在默认插件内存储模式下,这通常意味着资源随卸载一起永久删除。
完整安装参数、刷新恢复机制和数据说明见 安装与卸载文档。
安装并重启 DSH Web 后,点击红、黑、白配色的 DT 悬浮球展开菜单。球体可以拖动并记忆位置;侧栏打开时球体仍会保留,可直接切换模块。
资源旁的发光绿点表示当前 session 已启用,红点表示未启用;世界书绿点表示存在有效来源,不代表本轮已经命中关键词。“界面设置”可以即时切换简体中文/English,并在 75%–150% 之间缩放 Tavern UI。
导入或创建 Chat Completion 预设,编辑 prompt、顺序、采样参数和 append/replace 策略。目录下拉框只用于浏览;必须点击蓝色绑定/更新按钮才会应用到当前 session。导入和创建不会自动绑定。
导入 ST JSON/PNG 角色卡,或创建空白卡。导入后可编辑名称、描述、性格、场景、开场白(含备选)、示例对话、创作者备注、system prompt、post-history instructions 和标签等字段;保存与绑定分开,目录下拉只用于浏览。内嵌世界书仍在世界书面板编辑。
绑定到当前 session 时可选择 greeting,以及是否采用卡内 system prompt / post-history instructions。导出 JSON / PNG 都是当前内容,没有「导出原件」;PNG 导入只保留封面图,没有封面时使用占位图。角色字段由统一 loader 与预设 marker、用户资料和世界书组合;greeting 不会伪造成既有 assistant 历史。
导入、创建、编辑、导出和删除独立世界书,并为当前 session 多选。面板分别展示 session 独立书、用户绑定书和角色卡内嵌书;条目可查看并编辑关键词、secondary logic、常驻、概率、位置、顺序和正文。当前 claimed 输入会在首次 assembly 前参与匹配,因此新会话第一条消息也能在同一轮激活普通关键词。
创建只含名字与描述的用户资料。名字用于 {{user}},描述通过 personaDescription、{{persona}} 或稳定 fallback 放置一次;用户还可以绑定零本或多本独立世界书。用户资料不会覆盖 DSH Agent 身份。
“维持当前设置新开对话”会把当前 Tavern 选择复制到真实 blank DSH session,不复制旧历史、Inbox 或 Trace。也可以保存配置模板、查看模板内容,并从模板创建干净会话。它适合在切换角色或预设时避免旧 assistant 回复造成上下文残留。
在 Conversation、Trajectory 旁打开 Tavern Trace,可查看每个 turn/step 采用的资源摘要、世界书配置和命中关键词、接受/拒绝原因、预算及 request/header 对齐信息。Trace 不保存完整 prompt、消息或资源正文;最终模型输入仍以 DSH request/header 为准。
更详细的逐模块操作、数据和兼容边界见 中文使用指南。
agent/inbox/spliced 建立有界临时投影,不增加空转 step、不伪造消息,也不读取私有 Inbox。DSH_HOME、重复安装数据恢复和卸载前备份。dsh-tavern 会处理并发送可执行为模型指令的第三方内容。使用前请理解以下边界:
/dsh-tavern/api/* 使用真实 TCP peer、Host、Origin 和 Content-Type 防护,但本机受信任进程仍可能访问。请让 DSH Web 绑定 127.0.0.1,不要直接暴露到局域网或公网;如需反向代理,应自行提供 HTTPS 和认证。/pattern/flags 默认不执行。开启 worldBook.allowUnsafeRegex 后,JavaScript RegExp 仍没有超时保证,即使已有长度和扫描上限也存在 ReDoS 风险。request/header 验证实际行为。更完整的安全预算、运行态变更缺口和数据边界见 Loader contract。
character_book 格式参考。dsh-tavern 与 SillyTavern、TauriTavern 均无官方隶属关系。本仓库不内置或分发第三方 preset、角色卡或世界书,也不复制用户导入内容。请分别遵守上游项目及所导入内容的许可证和版权要求。
本项目代码使用 MIT License,Copyright © 2026 Zhu Bohan。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。