用途:面向 SillyTavern 浏览器端 UI 扩展的开发辅助,覆盖脚手架生成、项目校验、审查与安装前准备。目标须为带 manifest.json 和浏览器入口模块的 UI 扩展;卡片内 Tavern Helper 脚本、STScript/API 签名、服务端插件、导入运行时故障应分别走其他路由。
主要能力:先读取 manifest.json、模块设置、入口模块、样式、语言包、构建脚本与现有测试,保留扩展 ID、设置命名空间、公开钩子、存储键与导入格式;提供扩展契约与能力预检参考;生成最小脚手架(manifest、ES 模块入口、可选样式表、能力契约);校验 manifest、路径与导出;按已安装快照检查版本敏感能力。
使用方式:脚手架先干跑:node scripts/scaffold-extension.mjs --spec extension-spec.json --out staging,确认输出根与计划文件后再加 --write。校验命令:node scripts/validate-extension-manifest.mjs --root extension-directory 与 node scripts/check-extension-capabilities.mjs --contract capability-contract.json --snapshot installed-snapshot.json。生成或编辑前用 $consult-tavernweave-library 的 sillytavern-extension-dev 路由加载 A0 与扩展/工作坊指南。
限制:未经用户明确授权,不得安装、更新、重载或启用扩展。静态门禁只能证明 JSON 结构、文件存在、导出、路径安全、能力需求与语法,无法证明扩展管理器安装、页面重载行为、实际事件负载、设置持久化、UI 渲染或卸载清理,这些需作为实机门禁记录。快照仅代表某一已安装环境,不构成通用 API 保证。activate 钩子仅用于同步加载阶段初始化,事件监听、定时器、提示注入、宏、函数工具、DOM 挂载与媒体句柄都需配对确定性清理,优先使用 SillyTavern.getContext()。