← 返回列表
✓ 可直接安装
在 DeepSeek Harness 中导入、编辑和使用 SillyTavern…
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=22.19.0);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/23 · 已提供中文文档
SillyTavern 预设模式、宏引擎和 DeepSeek Harness 编辑器
综合分
40.8
GitHub 分
40.8
用户评分
—
★ Stars
16
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-preset-enhancenpm 包 dsh-preset-enhance 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 2 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · other
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 0 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-preset-enhance @ 0.3.2-rc.2
✓Node 引擎要求 >=22.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 08:26:45
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成DSH Preset Enhance
在 DeepSeek Harness 中导入、编辑和使用 SillyTavern 预设,并为不同模式、不同会话管理工具开关。
当前预览版已验证 DSH 0.1.6-alpha.2、0.1.7-alpha.1、0.1.7-alpha.2 和 0.1.7-rc.1。
- 预设工作台:全局预设库、顺序编辑、消息预览、自动保存和单文件分享。
- 消息注入:聊天记录前后及指定深度的提示词、变量宏和 assistant 预填充。
- 工具管理:模式默认、会话覆盖、工具预设、用户分组与 MCP 服务分组。
- 接口兼容:对话补全接口支持预填充、DSML 工具调用转换和实验性正文提取;Messages 提供有限的预设注入兼容。
安装与上手
DSH 0.1.6 / 0.1.7 预览版
安装当前预览版:
dsh plugin --profile web add dsh-preset-enhance@0.3.3-rc.1
安装后重新启动 dsh web,侧边栏会出现“预设工作台”,新建对话的模式列表中会出现“预设模式”。
1. 打开工作台,导入 SillyTavern JSON 或 .dsh-preset.json 分享文件。导入的预设会保存到全局库,并成为当前默认。
2. 新建“预设模式”对话,自动启用当前默认预设。已有会话可用 /preset on 开启注入。
3. 检查提示词顺序与消息预览。如果最后一条消息是 assistant,请使用支持预填充的对话补全接口,并按需开启“预填充自动兼容”。
4. 在工具面板选择“模式默认”或“当前会话覆盖”,调整工具开关并保存。新策略从下一次请求生效。
DSH 0.1.5
继续使用 DSH 0.1.5 时,固定安装原有 RC 版本:
dsh plugin --profile web add dsh-preset-enhance@0.3.2-rc.2
当前版本声明的宿主范围为 >=0.1.5-rc.2 前缀及兼容接口的思考字段,并保留工具调用历史中的真实 reasoning_content。接口要求见 DeepSeek 对话前缀续写文档。
地址与工具字段
| 请求目标与设置 | 处理方式 |
| --- | --- |
| DeepSeek 官方地址 | 匹配的预填充请求自动切换到 https://api.deepseek.com/beta |
| 非官方适配器地址 | 使用适配器实际请求地址,不改写地址,无需在工作台重复填写 |
| 开启“处理工具调用” | 官方与非官方地址均转换工具定义、调用历史和响应,并移除原生工具字段 |
| 关闭处理,使用官方 Beta | 移除 tools、tool_choice 和 parallel_tool_calls |
| 关闭处理,使用非官方地址 | 由“非官方接口移除原生工具字段”开关决定移除或原样发送 |
工具调用处理会将可用工具定义加入 system 提示,将历史调用与结果转换为 DSML。模型返回的 DSML 再恢复为标准 tool_calls,交给 DSH 执行,支持流式和非流式响应;工具结果中的常见 base64 图片也会转换为兼容的图片内容块。
正文提取与后续预填充
“正文/工具调用提取”是默认关闭的实验功能,使用结束思考标记、10 token 窗口和输出区标签兜底区分思考与正文,移除输出区控制标记,并恢复 DSML 工具调用。策略说明见 预设稳定性实验。
开启时,格式提示词自动加入当前预设的 chatHistory 后方、assistant 预填充前,可在提示词列表中编辑。重复开启保留已有编辑;保存接口设置时会一并保存当前预设。
“工具调用后继续请求的预填充”默认继承原预设,也可填写独立提示词,支持变量宏和 前缀。开启自动兼容后,它只替换同一轮工具执行后继续请求的末条预填充;新一轮用户消息仍使用原预设。留空或展开为空时继续继承。
上述接口设置全局保存,从下一次请求生效。预填充转换只作用于匹配当前会话末条 assistant 前缀的请求。
工具预设与分组
生效范围
| 范围 | 生效规则 |
| --- | --- |
| 模式默认 | 为每个 DSH 模式选择自定义开关或工具预设,没有会话覆盖时采用此策略 |
| 当前会话覆盖 | 完整替换模式默认策略,可在同一会话内随时变更 |
| 恢复继承 | 移除会话覆盖,重新使用模式默认 |
工具目录从宿主模式注册表、模式作用域和当前会话实时获取,兼容其他插件引入的模式与工具。保存后从下一次请求生效;暂时缺失的工具引用会保留,待对应插件恢复后重新匹配。
工具预设支持新建、复制、重命名和删除,可以被多个模式或会话引用。修改预设会影响所有引用者的后续请求。删除仍被引用的预设时,模式回到自定义、会话回到继承,并保留原有逐工具策略数据。直接保存工具开关会将当前范围切换为自定义策略。
用户分组与 MCP
- 按 MCP 服务自动生成“服务名 · MCP”分组,也可将 MCP 工具加入用户分组。点击“刷新工具列表”重新读取动态工具目录。
- 用户分组支持名称、排序和成员编辑;同一工具最多属于一个用户分组。固定标签提供“全部”和“未分组”。
- 分组支持三态开关,以及全开、全关、仅启用此组和恢复预设值。顶部全选 / 全不选作用于当前模式全部工具,不受标签筛选影响。
- 标签栏保持单行横向滚动,也可折叠为下拉框;窄屏自动使用下拉框。MCP 服务名过长时从中间省略,保留首尾,完整名称可在悬浮提示或下拉框中查看。
关闭工具后,插件过滤请求中的工具定义,并通过执行守卫拒绝调用。在 DSH 0.1.6 中,可限制的继承工具还会通过宿主作用域限制从 PTC(程序式工具调用)的 SDK 提示中移除。宿主保留的 run_code 入口不会被关闭;宿主不允许限制的会话本地工具仍由执行守卫约束。
单文件分享与数据保存
工作台可导入、导出 .dsh-preset.json,也可导出普通 ST JSON。
| 内容 | 分享文件中的行为 |
| --- | --- |
| ST 预设 | 包含完整提示词与顺序表 |
| 预填充接口配置 | 随文件携带,导入后需手动“应用包内接口设置(全局)” |
| 工具预设与分组 | 默认导出当前关联的工具预设及分组,导入后需手动应用工具配置 |
| 会话 ID、模式和会话选择、目录缓存、引用计数 | 不导出 |
| 浏览器折叠状态、最后工具模式、自动保存开关及待保存草稿 | 不导出 |
未知工具格式子版本仍可导入、编辑和再次导出,但不能应用工具配置。字段定义见 单文件格式说明。
预设库、默认选择、会话绑定、接口设置和工具策略默认保存在 DSH_HOME/preset-enhance/state.json;未设置 DSH_HOME 时使用用户目录下的 .dsh。浏览器只保存界面偏好、自动保存开关和待确认的工具草稿。
插件逻辑架构
插件分为工作台、状态与策略、请求处理三部分。预设注入和工具策略独立生效:关闭预设注入后,模式或会话的工具策略仍然有效。
flowchart TD
UI[侧边栏 / 会话中的预设工作台] --> API[插件 API]
CMD[本地 /preset 命令] --> STATE[全局状态与会话绑定]
API STATE
HOST[DSH 模式注册表与实时工具目录] --> API
STATE --> POLICY[解析模式默认 / 会话工具覆盖]
POLICY --> SCOPE[宿主作用域限制与 PTC 提示重组]
SCOPE --> REQUEST[DSH 构造模型请求]
STATE --> PRESET[预设顺序表 / 深度注入 / 宏展开]
REQUEST --> STREAM[llm/stream 请求处理]
PRESET --> STREAM
POLICY --> STREAM
STREAM --> PROTOCOL{会话实际连接协议}
PROTOCOL -->|Messages| MSG[有限消息适配]
PROTOCOL -->|Chat Completions| CHAT[对话补全请求]
CHAT --> MATCH{是否匹配已启用的预填充}
MATCH -->|是| BRIDGE[前缀兼容 / 可选 DSML 转换]
MATCH -->|否| MODEL[模型接口]
MSG --> MODEL
BRIDGE --> MODEL
MODEL --> RESPONSE[按请求配置转换响应]
RESPONSE --> OUTPUT[正文 / 思考 / 标准工具调用]
OUTPUT --> DSH[DSH 展示或执行工具]
DSH -->|工具执行后继续请求| REQUEST
工具执行守卫是独立的最后一道校验:即使历史中已有工具调用,或模型自行生成调用,也会检查当前工具策略。编辑器保留完整的工具目录,不会因某工具被关闭就让它从可编辑列表中消失。
代码对应关系
| 模块 | 职责 |
| --- | --- |
| client.js、web/ | 侧边栏与会话入口,预设编辑、预览、工具管理和保存交互 |
| src/index.mts、src/mode.mts | 插件入口、API、命令、请求拦截、预设模式与生命周期管理 |
| src/lib/store.mts、src/lib/preset-package.mts | 状态持久化、版本校验、单文件导入导出 |
| src/lib/preset.mts、src/lib/macros.mts | 顺序表、深度注入、变量宏、最终消息和预填充判定 |
| src/lib/tool-presets.mts、src/lib/tool-restrictions.mts | 工具策略、分组、会话作用域限制和 PTC 工具可见性 |
| src/lib/connection.mts、src/lib/protocol.mts、src/lib/messages.mts | 读取实际连接协议、记录协议观察结果、Messages 消息适配 |
| src/lib/deepseek-beta.mts、src/lib/toolcall-prefill.mts、src/lib/output-extractor.mts | 请求匹配、预填充兼容、DSML 转换和实验性正文提取 |
宿主侧以 src//.mts 为源码,构建后生成发布包使用的 index.mjs、mode.mjs 和 lib/.mjs;工作台与客户端入口使用 JavaScript。
启动与运行时启停
初始化会读取状态并根据宿主的 standard 组成注册预设模式。状态损坏、模式组成缺失或目录不可写时,插件保留工作台并显示原因,停止注入和写入,不自动清空数据。修复后重新启用即可。
停用时停止接受新操作,等待在途写入和流式请求收尾,再释放请求桥接。插件不可用时,预设模式会明确拒绝使用。运行时启停与升级安装包是不同操作,安装或升级后仍按安装步骤重启宿主。
开发与验证
npm install
npm run build # 类型检查并生成发布用 JavaScript
npm test # 本地回归用例
npm run pack:check # 检查 npm 打包内容
本地双协议端点可用于观察 Chat Completions 与 Messages 的流式响应和请求记录:
node tests/fixtures/protocol-server.mjs --demo
node tests/fixtures/protocol-server.mjs
具备本机沙盒环境时,npm run test:mcp:candidate 可在 candidate 槽位启动两个隔离的 stdio MCP 服务,检查发现、调用和分组;结束后关闭测试服务,不写入 candidate 配置。
许可证
MIT同作者(bychv)的其他插件
扫码进群