npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mingding-snap-modifier

v2.14.3

Published

命定之诗与黄昏之歌 · 快照全量修改器(SillyTavern 角色卡变量编辑脚本)—— v2.14.3:适配角色卡 V4.3.3,增加处理结果反馈,暂时隐藏主角身份编辑入口

Readme

命定之诗 · 快照全量修改器(酒馆助手版)v2.14.3

命定之诗角色卡的运行变量编辑脚本,运行于 SillyTavern + 酒馆助手(tavern_helper)隐藏 iframe 中。

  • 开发与测试环境:角色卡 V4.3.3、SillyTavern 1.18.0、酒馆助手 4.9.3
  • 酒馆版本支持:当前活动版本只适配 SillyTavern 1.18.0;其它版本不在支持承诺内
  • 适配范围:以 V4.3.3 为主;V4.3.2、V4.3.1 保留未知字段兼容读写;不支持 V4.2.1
  • 运行依赖:零运行时第三方依赖
  • 作者:@gunkoishi_50181
  • npm 版本:[email protected](界面显示 v2.14.3)

功能

  • 编辑并安全写回 MVU 消息变量中的 stat_data(主角 / NPC / 世界 / 日历 / 新闻 / 任务等);
  • 暂时隐藏主角身份的常规编辑入口:V4.3.3 的主校验不能可靠保留身份修改。已有身份数据不删除、不转存职业,NPC 身份仍正常编辑;高级入口的修改未被角色卡接受时会提示未生效;
  • 同步 date、calendar_float_store 与聊天模板变量(chat_metadata.variables);
  • 自定义开局界面的临时转生点(reincarnationPoints)独立即时处理;
  • 变量解读区分正文中已有指令与待提交修改;支持编辑、删除正文指令,实际数值仅在单独执行“重新处理”时重算,增减指令可能重复生效;
  • 默认“撤销本次操作”只恢复该次改过的字段与相关指令块,保留后来无关的变化;另有“完整快照恢复”。两者均不回滚剧情,旧记录缺失的指令无法补回;
  • 效果支持结构化添加、改名、编辑和删除;每张复杂卡片可切换原始 JSON,格式错误不会静默丢弃;
  • 背包等集合通过名称搜索与普通下拉框选择,只显示当前条目的详情;内部使用分隔标题,标签直接逐行增删,下拉、搜索和标签输入采用统一配色;
  • 大型变量页面按需创建编辑控件;已经打开过的条目会在当前页面缓存,切换回来不重复读取快照。面板关闭时不保留后台轮询,输入中的草稿和错误提示仍按原规则保留;
  • 回滚历史、操作日志和正文注入记录保存在浏览器原生 IndexedDB 中;等待备份结果并重新核对数据后写入,容量不足时按下述规则降级并提示;
  • 默认经典主题与固定深色,另提供平面分区的简洁主题;已有配色选择继续保留;
  • 统一「编辑 → 只读变更预览 → 用户确认 → MVU 处理一次并应用 → 写后核验」流程;
  • 构建时按模块化原生 JS 打包,产物为可读单文件。

安装

  1. 在酒馆助手新建脚本,粘贴 dist/mingding-modifier.js 内容;
  2. 开启脚本并刷新页面;
  3. 进入命定之诗聊天,点击悬浮球打开面板并读取变量;标题栏可拖动,并提供刷新、最小化、全屏和关闭操作。

也可直接导入 dist/命定之诗全量修改器_v2_14_3_tavernhelper导入.json,无需手动复制源码。

链接安装沿用旧版方式:在酒馆助手新建脚本,填入以下语句后启用。使用完整源码、导入 JSON 或链接安装三种方式之一即可,升级时先停用旧修改器。

import 'https://cdn.jsdelivr.net/npm/[email protected]/dist/mingding-modifier.js';

dist/命定之诗全量修改器_v2_14_3_链接版世界书.json 的 content 与 originalContent 同步保存上述安装语句。世界书条目保持禁用,只作为安装说明载体;导入世界书本身不会自动安装脚本。链接锁定 2.14.3,不会自动升级到未来版本,加载时需要网络及 CDN 可用。

本地历史

首次使用会读取能识别的旧 v2.14 历史、日志与注入记录,复制到浏览器数据库;保留原 localStorage 键,不清除其他脚本的数据。无法迁移的记录会提示原因,不把缺少聊天目标的旧 v2.13 记录绑定到当前聊天。

回滚历史默认最多 20 条,可设置 1 至 100 条,同时受 1 MiB 总量限制;操作日志最多 200 条,正文注入记录最多 50 条。正常保留变量快照和相关指令块,达到设置的条数上限自动替换最旧记录。因空间不足需要额外删除旧记录、只保存变量或不保留持久备份时,先询问一次;取消不会继续修改或删减已有备份。接受后才按实际需要依次降级,连快照也存不下时明确提示“本次没有持久回滚备份”。失败试写保留旧磁盘历史,不把较早准备阶段的恢复点当最新备份。

只有明确的空间不足才能使用上述降级;权限拒绝、数据库不可用或损坏等错误仍会停止写入。日志单独保存失败不会撤销已经完成的修改,界面会提示记录未保存。窗口与主题设置继续使用 localStorage,因此迁移历史不等于清空它或保证所有设置一定有空间可存。

预览只展示待提交的修改,不执行 MVU 或角色卡自动化,取消预览不会累计 FP。确认后备份、读取最新数据、正式处理一次,再按实际改动合并。自动化已保存相同结果时直接接受;同字段出现不同值时,展示原值、现在的值和你的修改,可选“按我的修改覆盖”“保留当前值”或取消。数组整项选择,移动来源与去向联动;保留的项不会被重新注入正文。弹窗等待后只复核相关变化,不重演 MVU。无关字段、剧情与无关指令块变化不再要求手动刷新;真正换目标、生成中或角色卡校验规则改变仍停止。

消息更新、生成结束/停止及实际公开的 MVU 完成事件会合并触发同步;面板隐藏时等下次打开再读。有输入时保留草稿及原目标,无关通知不再迫使用户手动刷新后才能应用;真正换聊天、回复或 swipe 时不会把旧草稿搬到新目标。没有通知的第三方静默更新无法主动获知,应用时仍会读取最新数据。自动同步只读取快照,不自动提交你的编辑;成功应用后也会自动读回。

默认撤销依据实际操作前后值,只撤回本次字段和相关指令;同一字段后来又变过会询问覆盖或保留。明确覆盖其他脚本的新值后再撤销,会恢复被覆盖的新值。“完整快照恢复”才恢复备份那一刻的所列完整变量范围,可能覆盖之后无关的数值修改。旧记录没有逐项信息时只能使用完整入口。相关指令仍存在且唯一时,旁边剧情改变不阻断恢复;相关块被改写,或删除块的插入位置不唯一时不猜测恢复位置。

新记录标明已应用、未应用或需要核对;确定未执行的记录不能当作成功修改来回滚。解析可能触发角色卡自行保存统计,解析后失败不宣称数据完全没动。自动补偿只撤回属于本次最终写入的字段,不保证撤销监听器额外写入;如果保存调用已执行,但实值检查或补偿失败,会提示重新读取检查,不是误报 AI 生成中。成功后的逐项记录保存失败只警告,保留原快照,不能假称已有完整的逐项撤销信息。

数字与 JSON 的错误在输入时提示,无有效快照时不能应用。尚未失焦或无效 JSON 的输入仍会保留;未改过的旧异常字段不再触发前端整树拒绝,最终仍须通过角色卡规则。MVU 不可用时不提供绕过它的写入方式。

开发

npm install          # 无运行时依赖;仅开发用(无第三方依赖)
npm test             # node:test 全量单元测试
npm run check        # node --check 语法检查
npm run build        # 生成 dist/mingding-modifier.js 等发行载体
node scripts/verify-dist.js   # 核对各载体 content 与 js 逐字节一致

源码按职责分层:src/host(宿主适配 / 目标解析 / 生命周期)、src/data(快照 / 字段模型 / 补丁 / ChangeSet / 历史)、src/apply(MVU 适配 / 事务 / 正文合并 / 应用流程 / 转生点)、src/ui(面板 / 样式 / 可访问性 / 脏状态)、src/main(装配入口)。

安全与数据完整性

  • 每次读取 / 写入绑定同一聊天、消息楼层与活动 swipe;目标变化即中止;
  • stat_data 只经当前 MVU API 与角色卡 Zod 校验写入,校验失败默认不写入;
  • _ 开头字段全模式只读;事件 信号 只允许纯追加;
  • 跨存储区尽力事务 + 补偿回滚,部分失败明确报告;
  • 面板关闭零常驻轮询;卸载后监听 / DOM / 定时器 / 对象 URL / 父窗口标记全部清理。

测试边界

自动化测试覆盖模块协议、补丁、历史、事务、回滚、目标锁定、构建及载体一致性。当前 DOM 专项为 scripts/qa-operation-recovery.cjs(冲突选择、局部回滚、容量取消/降级、输入保护、恢复默认及连续应用)与 scripts/qa-preview-automation.cjs(取消预览零解析、确认单次解析、FP 同结果合流)。旧 qa-apply-single-pass.cjs 的预览解析计数及 qa-write-merge-controls.cjs 的三次重试预期仅留作历史。QA 使用已有 Playwright 与 Edge,在隔离页面操作实际控件和原生数据库;不进入运行包,不连接真实聊天。

MVU 的整体替换接口不提供原子比较写入。当前合并可以保留最近读取到的无关业务数据,但不能保证解析与写入之间不存在并发,也不能完全证明第三方同时修改资源上限等关联字段后,全树规则仍成立。display_data、delta_data 是本次解析重建的报告,采用解析输出,不承诺保留同时写入的旧报告。

这些检查不等于所有 SillyTavern 环境都已通过。真实生成、角色卡远程 MVU/Zod、第三方插件通知、自定义开局及实际聊天的兼容性仍取决于使用环境。发布授权不代表 SillyTavern 1.18.0 人工验收完成。历史检查与已知限制详见 docs/v2.14迭代说明.md。

许可

MIT,见 LICENSE。