修改世界书
提示
请务必先阅读如何正确使用酒馆助手
点击查看对应类型定义文件 (可发给 AI 或 IDE 使用, 酒馆助手界面中提供了打包下载)
rebindGlobalWorldbooks
重新绑定全局世界书
ts
function rebindGlobalWorldbooks(worldbook_names: string[]): Promise<void>;参数
worldbook_names
- 类型:
string[] - 描述: 要全局开启的世界书名称列表
rebindCharWorldbooks
重新绑定角色卡世界书
ts
function rebindCharWorldbooks(character_name: 'current', char_worldbooks: CharWorldbooks): Promise<void>;参数
character_name
- 类型:
'current' | string - 描述: 角色卡名称, 'current' 表示当前打开的角色卡
char_worldbooks
- 类型:
CharWorldbooks - 描述: 要对该角色卡绑定的世界书
rebindChatWorldbook
重新绑定聊天文件世界书
ts
function rebindChatWorldbook(chat_name: 'current', worldbook_name: string): Promise<void>;参数
chat_name
- 类型:
'current' | string - 描述: 聊天文件名称, 'current' 表示当前打开的聊天文件
replaceWorldbook
完全替换 worldbook_name 世界书的内容为 worldbook
ts
function replaceWorldbook(
worldbook_name: string,
worldbook: PartialDeep<WorldbookEntry>[],
{ render }?: ReplaceWorldbookOptions,
): Promise<void>;ts
interface ReplaceWorldbookOptions {
render?: 'debounced' | 'immediate';
}参数
worldbook_name
- 类型:
string - 描述: 世界书名称
worldbook
- 类型:
PartialDeep<WorldbookEntry>[] - 描述: 要替换的世界书内容
option?
一个可选的配置对象, 包含以下属性:
render:debounced|immediate- 对于对世界书的更改, 世界书编辑器应该防抖渲染 (debounced) 还是立即渲染 (immediate)? 默认为性能更好的防抖渲染
示例
ts
const worldbook = await getWorldbook("eramgt少女歌剧");
await replaceWorldbook(
'eramgt少女歌剧',
worldbook.map(entry => ({
...entry,
recursion: { prevent_incoming: true, prevent_outgoing: true, delay_until: null },
})),
);ts
const worldbook = await getWorldbook("eramgt少女歌剧");
_.remove(worldbook, entry => entry.name.includes('神乐光'));
await replaceWorldbook("eramgt少女歌剧", worldbook);updateWorldbookWith
用 updater 函数更新世界书 worldbook_name
ts
function updateWorldbookWith(
worldbook_name: string,
updater: WorldbookUpdater,
{ render }?: ReplaceWorldbookOptions,
): Promise<WorldbookEntry[]>;ts
type WorldbookUpdater =
| ((worldbook: WorldbookEntry[]) => PartialDeep<WorldbookEntry>[])
| ((worldbook: WorldbookEntry[]) => Promise<PartialDeep<WorldbookEntry>[]>);参数
worldbook_name
- 类型:
string - 描述: 世界书名称
updater
- 类型:
WorldbookUpdater - 描述: 用于更新世界书的函数. 它应该接收世界书条目作为参数, 并返回更新后的世界书条目
option?
一个可选的配置对象, 包含以下属性:
render:debounced|immediate- 对于对世界书的更改, 世界书编辑器应该防抖渲染 (debounced) 还是立即渲染 (immediate)? 默认为性能更好的防抖渲染
返回值
- 更新后的世界书条目:
WorldbookEntry[]
示例
ts
await updateWorldbookWith('eramgt少女歌剧', worldbook => {
return worldbook.map(entry => ({
...entry,
recursion: { prevent_incoming: true, prevent_outgoing: true, delay_until: null },
}));
});ts
await updateWorldbookWith('eramgt少女歌剧', worldbook => {
_.remove(worldbook, entry => entry.name.includes('神乐光'));
return worldbook;
});createWorldbookEntries
向世界书 worldbook_name 中新增条目
ts
function createWorldbookEntries(
worldbook_name: string,
new_entries: PartialDeep<WorldbookEntry>[],
{ render }?: ReplaceWorldbookOptions,
): Promise<{ worldbook: WorldbookEntry[]; new_entries: WorldbookEntry[] }>;参数
worldbook_name
- 类型:
string - 描述: 世界书名称
new_entries
- 类型:
PartialDeep<WorldbookEntry>[] - 描述: 要新增的条目
option?
一个可选的配置对象, 包含以下属性:
render:debounced|immediate- 对于对世界书的更改, 世界书编辑器应该防抖渲染 (debounced) 还是立即渲染 (immediate)? 默认为性能更好的防抖渲染
返回值
- 更新后的世界书条目:
WorldbookEntry[] - 新增的条目:
WorldbookEntry[]
示例
ts
const { worldbook, new_entries } = await createWorldbookEntries('eramgt少女歌剧', [{ name: '神乐光' }, {}]);deleteWorldbookEntries
删除世界书 worldbook_name 中的条目
ts
function deleteWorldbookEntries(
worldbook_name: string,
predicate: (entry: WorldbookEntry) => boolean,
{ render }?: ReplaceWorldbookOptions,
): Promise<{ worldbook: WorldbookEntry[]; deleted_entries: WorldbookEntry[] }>;参数
worldbook_name
- 类型:
string - 描述: 世界书名称
predicate
- 类型:
(entry: WorldbookEntry) => boolean - 描述: 要删除的条目
option?
一个可选的配置对象, 包含以下属性:
render:debounced|immediate- 对于对世界书的更改, 世界书编辑器应该防抖渲染 (debounced) 还是立即渲染 (immediate)? 默认为性能更好的防抖渲染
返回值
- 更新后的世界书条目:
WorldbookEntry[] - 被删除的条目:
WorldbookEntry[]
示例
ts
const { worldbook, deleted_entries } = await deleteWorldbookEntries('eramgt少女歌剧', entry => entry.name.includes('神乐光'));