修改预设
提示
请务必先阅读如何正确使用酒馆助手
点击查看对应类型定义文件(可发给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
- 类型:
PartialDeep<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],
});