5分钟上手!SillyTavern批量操作:让AI对话管理效率提升10倍的秘诀

【免费下载链接】SillyTavern LLM Frontend for Power Users. 【免费下载链接】SillyTavern 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern

你是否还在逐个处理成百上千条AI对话?面对重复的标签管理、批量删除旧对话等需求时感到力不从心?本文将带你掌握SillyTavern的批量操作功能,通过简单三步实现对话的高效管理,让你从繁琐的重复劳动中解放出来。

批量操作核心功能概览

SillyTavern作为面向高级用户的LLM前端工具,其批量操作功能集中在BulkEditOverlay模块中,支持同时处理多个角色和对话。核心功能包括:

  • 多角色选择:通过长按激活批量选择模式,支持Shift键连续选择
  • 标签管理:统一添加/移除多个角色的标签,快速分类对话对象
  • 批量操作:支持收藏、复制、删除、转换为角色设定(Persona)等批量动作

批量操作界面

批量操作模块源码:public/scripts/BulkEditOverlay.js

第一步:激活批量选择模式

进入选择模式的两种方式:

  1. 长按激活:在角色卡片上长按2.5秒(可通过longPressDelay参数调整),自动进入选择模式
  2. 手动切换:通过界面顶部的"批量编辑"按钮手动激活
// 长按检测核心代码(来自BulkEditOverlay.js第570-601行)
handleHold = (event) => {
  if (0 !== event.button && event.type !== 'touchstart') return;
  
  setTimeout(() => {
    if (this.isLongPress && !cancel) {
      if (this.state === BulkEditOverlayState.browse) {
        this.selectState(); // 切换到选择模式
      }
    }
  }, BulkEditOverlay.longPressDelay); // 默认2500ms
};

选择操作技巧:

  • 单击角色卡片切换选择状态
  • 按住Shift键可选择连续范围的角色
  • 选择状态会实时显示在界面顶部的计数器:selectedCharacters数组维护选择状态

选择模式计数器

第二步:高效标签管理

标签是组织大量AI角色的关键。SillyTavern提供了强大的批量标签管理工具,支持四种核心操作:

1. 查看共同标签

选择多个角色后,系统会自动计算并显示共同标签:

// 共同标签计算逻辑(BulkEditOverlay.js第301-308行)
getMutualTags() {
  const allTags = this.characterIds.map(cid => getTagsList(getTagKeyForEntity(cid)));
  const mutualTags = allTags.reduce((mutual, characterTags) =>
    mutual.filter(tag => characterTags.some(cTag => cTag.id === tag.id)),
  );
  return mutualTags.sort(compareTagsForSort);
}

2. 批量添加标签

在批量标签弹窗中:

  • 在输入框输入标签名称(支持自动补全)
  • 按Enter添加到所有选中角色
  • 标签会立即同步显示在角色卡片上

3. 移除标签

两种移除方式:

  • 点击标签右侧的"×"图标移除单个标签
  • 使用"Remove Mutual"按钮移除所有共同标签

4. 导入标签

  • Import All:导入所有选中角色的标签集合
  • Import Existing:只导入已存在的标签

标签管理界面

标签管理工具源码:public/scripts/tags.js

第三步:批量操作实战指南

批量收藏角色

  1. 选择需要收藏的角色
  2. 右键打开上下文菜单
  3. 选择"Favorite"选项

系统会自动更新角色的收藏状态:

// 批量收藏实现(BulkEditOverlay.js第68-95行)
static favorite = async (characterId) => {
  const character = CharacterContextMenu.#getCharacter(characterId);
  const newFavState = !character.data.extensions.fav;
  
  const data = {
    name: character.name,
    avatar: character.avatar,
    data: { extensions: { fav: newFavState } },
    fav: newFavState,
  };
  
  await fetch('/api/characters/merge-attributes', {
    method: 'POST',
    headers: getRequestHeaders(),
    body: JSON.stringify(data),
  });
  
  element.classList.toggle('is_fav'); // 更新UI显示
};

批量删除对话

⚠️ 警告:删除操作不可逆,请先备份重要数据!

  1. 选择目标角色
  2. 右键菜单选择"Delete"
  3. 在确认弹窗中选择是否同时删除关联对话

备份路径:backups/!README.md

角色转换为Persona

将角色定义转换为Persona设定:

  1. 选择一个或多个角色
  2. 选择"Convert to Persona"
  3. 系统自动处理角色设定转换

右键菜单

高级技巧:自定义批量操作

通过修改配置文件default/config.yaml,可自定义批量操作行为:

  • 调整长按激活时间:修改longPressDelay参数
  • 自定义标签颜色:编辑tag_colors配置
  • 添加自定义批量操作:扩展public/scripts/BulkEditOverlay.js中的contextMenuItems数组

常见问题解决

选择状态不保存?

确保:

  1. 已更新到最新版本:运行UpdateAndStart.bat
  2. 本地存储未损坏:执行recover.js修复

标签同步失败?

检查网络控制台是否有API错误,尝试:

# 重启服务
npm run start

总结与展望

批量操作功能是SillyTavern为重度用户打造的效率工具,通过本文介绍的选择-标签-操作三步法,你可以轻松管理上百个AI角色和对话。即将发布的v1.12版本将新增批量导入/导出功能,敬请期待!

觉得有用? 收藏本文并关注项目更新,获取更多效率提升技巧!

【免费下载链接】SillyTavern LLM Frontend for Power Users. 【免费下载链接】SillyTavern 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐