SuperAPI AI 工具集

sillytavern-extension-builder

编程与开发

查看项目

更新于 10-17 16:19

技能介绍

SillyTavern Extension Builder 是一个面向 SillyTavern 第三方扩展开发的技能,目标是用官方扩展 API 与打包规则产出可用于生产的扩展。

用途与流程 该技能按工作流推进扩展开发。首先定义扩展契约:确认扩展 slug、显示名称、最低支持的 SillyTavern 版本、所需模块,以及功能属于纯 UI、纯斜杠命令还是后台 worker。若用户未提供 slug,则生成小写 kebab-case 形式的 slug。

脚手架 优先使用 scripts/scaffold_extension.sh 生成 manifest.json、index.js、style.css 和 settings.html。模板模式分为两种:default 面向 UI/事件类扩展,slash 面向斜杠命令优先的扩展。若已有文件,则做最小改动而非整体重写。

生命周期与设置 扩展设置保存在 extension_settings[EXTENSION_NAME] 下;读取设置值前调用 loadExtensionSettings(EXTENSION_NAME);设置变更后调用 saveSettingsDebounced();启动与事件处理器注册在 jQuery(async () => { ... }) 内。

用户行为实现 DOM/UI 集成使用已文档化的 API(context helpers、模板、设置渲染);命令行为通过斜杠命令 API 添加命令与参数解析;后台逻辑使用模块 worker 类,并按当前聊天上下文控制执行。

校验与打包 需确认 manifest 键正确、文件名与实际文件一致、导入路径从扩展目录出发有效,第三方依赖显式且最少。最终以仓库或 zip 形式打包,仅包含必需的运行时文件。交付时提供最终文件集和简洁的集成说明,包含安装路径预期和所需模块前置条件。

输出规则 编辑现有扩展时优先最小 diff;保持设置 schema 稳定,迁移旧键而非静默破坏;使用由扩展 slug 派生的确定性 ID/命令名;新增斜杠命令需包含帮助文本和参数校验;新增模块 worker 需包含空闲/无聊天状态下的明确停止条件。

附带资源 references 目录包含扩展编写参考、示例模板拆解、质量指南和模板选择指南;assets/templates 提供 default 与 slash 两套模板文件;scripts/scaffold_extension.sh 用于生成新扩展骨架。资料提示文档与扩展 API 会演进,行为不确定时应以上游文档为准并保持代码保守,风格与现有 SillyTavern 扩展约定对齐。