Skip to content

修改预设

提示

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

点击查看对应类型定义文件(可发给AI或IDE使用,酒馆助手设置中提供了打包下载)

loadPreset

加载 preset_name 预设作为酒馆正在使用的预设 ('in_use')。

typescript
function loadPreset(preset_name: Exclude<string, 'in_use'>): boolean;

参数

preset_name

  • 类型: string
  • 描述: 预设名称

返回值

  • 是否成功切换, 可能因预设不存在等原因而失败: boolean

renamePreset

重命名 preset_name 预设为 new_name

typescript
function renamePreset(preset_name: Exclude<string, 'in_use'>, new_name: string): Promise<boolean>;

参数

preset_name

  • 类型: string
  • 描述: 预设名称

new_name

  • 类型: string
  • 描述: 新名称

返回值

  • 是否成功重命名, 可能因预设不存在等原因而失败: boolean

replacePreset

完全替换 preset_name 预设的内容为 preset

typescript
function replacePreset(
  preset_name: LiteralUnion<'in_use', string>,
  preset: Preset,
  { render }?: ReplacePresetOptions,
): Promise<void>
typescript
interface ReplacePresetOptions {
  render?: 'debounced' | 'immediate';
}

参数

preset_name

  • 类型: string
  • 描述: 预设名称

preset

  • 类型: Preset
  • 描述: 预设内容

option?

一个可选的配置对象,包含以下属性:

  • render: debounced|immediate
    • 如果对 'in_use' 预设进行操作, 应该防抖渲染 (debounced) 还是立即渲染 (immediate)? 默认为性能更好的防抖渲染

示例

typescript
const preset = getPreset('in_use');
preset.settings.should_stream = true;
await replacePreset('in_use', preset);
typescript
const preset_a = getPreset('预设A');
const preset_b = getPreset('预设B');
preset_b.prompts = [...preset_a.prompts, ...preset_b.prompts];
await replacePreset('预设B', preset_b);

updatePresetWith

updater 函数更新 preset_name 预设。

typescript
function updatePresetWith(
  preset_name: LiteralUnion<'in_use', string>,
  updater: PresetUpdater,
  { render }?: ReplacePresetOptions,
): Promise<Preset>;
typescript
type PresetUpdater = ((preset: Preset) => Preset) | ((preset: Preset) => Promise<Preset>);

参数

preset_name

  • 类型: string
  • 描述: 预设名称

updater

  • 类型: PresetUpdater
  • 描述: 用于更新预设的函数. 它应该接收预设内容作为参数, 并返回更新后的预设内容.

option?

一个可选的配置对象,包含以下属性:

  • render: debounced|immediate
    • 如果对 'in_use' 预设进行操作, 应该防抖渲染 (debounced) 还是立即渲染 (immediate)? 默认为性能更好的防抖渲染

返回值

  • 更新后的预设内容: Preset

示例

typescript
const preset = await updatePresetWith('in_use', preset => {
  preset.settings.should_stream = true;
  return preset;
});
typescript
const preset_a = getPreset('预设A');
const preset_b = getPreset('预设B');
const preset = await updatePresetWith('预设B', preset => {
  preset.prompts = [...preset_a.prompts, ...preset.prompts];
  return preset;
});

setPreset

将预设内容修改回预设中, 如果某个内容不存在, 则该内容将会采用原来的值。

typescript
function setPreset(
  preset_name: LiteralUnion<'in_use', string>,
  preset: PartialDeep<Preset>,
  { render }?: ReplacePresetOptions,
): Promise<Preset>;

参数

preset_name

  • 类型: string
  • 描述: 预设名称

preset

option?

一个可选的配置对象,包含以下属性:

  • render: debounced|immediate
    • 如果对 'in_use' 预设进行操作, 应该防抖渲染 (debounced) 还是立即渲染 (immediate)? 默认为性能更好的防抖渲染

返回值

  • 更新后的预设内容: Preset

示例

typescript
await setPreset('in_use', { settings: { should_stream: true } });
typescript
const preset_a = getPreset('预设A');
const preset_b = getPreset('预设B');
await setPreset('预设B', {
  prompts: [...preset_a.prompts, ...preset_b.prompts],
});

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