访问接口
提示
请务必先阅读如何正确使用酒馆助手
SillyTavern
通过 SillyTavern, 你可以访问酒馆提供给扩展的稳定接口. 酒馆助手为它们额外提供了类型定义并额外导出了一些接口.
而酒馆助手在酒馆接口之外, 提供了更多更直接的功能.
ts
/**
* 酒馆提供给插件的稳定接口, 具体内容见于 https://github.com/SillyTavern/SillyTavern/blob/release/public/scripts/st-context.js#L76
* 你也可以在酒馆页面按 f12, 在控制台中输入 `window.SillyTavern.getContext()` 来查看当前酒馆所提供的接口
*/
const SillyTavern;ts
/** 除了酒馆本来导出的接口, 酒馆助手额外导出了一些酒馆接口 */
const builtin;示例
ts
// 获取第 0 条消息的数据
alert(JSON.stringify(SillyTavern.chat[0]));TavernHelper
通过 TavernHelper, 其他扩展也可以访问酒馆助手提供的稳定接口, 可用接口为功能详情中的全部内容.
我们为酒馆插件也提供了基于 Vite、Vue 和 Pinia 的编写模板; 当然酒馆助手脚本相比于酒馆插件更为方便, 因此我们提供了酒馆助手前端界面或脚本编写模板.
为了让软件能正确识别酒馆助手功能, 你需要下载、解压@types.zip, 并在 tsconfig.json 的 include 部分添加它.
示例
ts
// 获取当前角色卡的头像路径
alert(TavernHelper.getCharAvatarPath());注意
在功能详情文档中, 未导出到 window 对象的函数会使用 🚫TavernHelper 标记. 这些函数在扩展中无法直接通过 TavernHelper 调用.
提示词模板
通过 EjsTemplate, 你可以访问提示词模板提供的接口. 酒馆助手为它们额外提供了类型定义.
ts
/**
* 提示词模板语法插件所提供的额外功能, 必须额外安装提示词模板语法插件, 具体内容见于 https://github.com/zonde306/ST-Prompt-Template
* 你也可以在酒馆页面按 f12, 在控制台中输入 `window.EjsTemplate` 来查看当前提示词模板语法所提供的接口
*/
const EjsTemplate;MVU 变量框架
通过 Mvu, 你可以访问MVU 变量框架提供的接口. 酒馆助手为它们额外提供了类型定义.
ts
/**
* mvu 变量框架脚本提供的额外功能, 必须额外安装 mvu 变量框架脚本, 具体内容见于 https://github.com/MagicalAstrogy/MagVarUpdate/blob/master/src/export_globals.ts
* **在使用它之前, 你应该先通过 `await waitGlobalInitialized('Mvu')` 来等待 Mvu 初始化完毕**
* 你也可以在酒馆页面按 f12, 在控制台中输入 `window.Mvu` 来查看当前 Mvu 变量框架所提供的接口
*/
declare const Mvu;示例
ts
const old_data = Mvu.getMvuData({ type: 'message', message_id: 'latest' });
const new_data = await Mvu.parseMessage("_.set('角色.络络.好感度', 30); // 强制修改", old_data);
await Mvu.replaceMvuData(new_data, { type: 'message', message_id: 'latest' });