Skip to content

访问接口

提示

请务必先阅读如何正确使用酒馆助手

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.jsoninclude 部分添加它.

示例

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' });

作者:KAKAA, 青空莉想做舞台少女的狗