Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

426 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

酒馆场景插件 (Tavern Scene Plugin)

支持nai、sd、comfyui、大香蕉、grok以及各种其它自定义渠道。可以文生图、图生图、重绘、图生视频、去除文字等完善功能

整合标签超市、角色数据库、AI后处理和文生图功能的统一 SillyTavern 扩展插件。

🚀 快速开始

安装

方式一:通过酒馆后台直接安装(推荐)

  1. 打开 SillyTavern 后台管理界面
  2. 进入扩展设置页面
  3. 点击"安装扩展"或"从 Git URL 安装"
  4. 输入 Git URL:
    https://github.com/shaochami/chami_tavern-scene-plugin.git
    
  5. 选择分支:main(默认)
  6. 点击"安装"完成安装
  7. 在扩展列表中启用"酒馆场景插件"

方式二:手动安装

  1. 将插件目录放置到:

    SillyTavern-1.14.0/public/scripts/extensions/third-party/chami_tavern-scene-plugin/
    
  2. 重启 SillyTavern

  3. 在扩展设置中找到 "酒馆场景插件"

首次使用

  1. 打开悬浮球 - 页面右下角会出现一个悬浮按钮
  2. 配置生成器 - 点击悬浮球 → 设置 → 图像生成,配置你的 SD/NAI/ComfyUI 地址
  3. 开始使用 - 点击悬浮球 → 标签超市,开始选择标签

🎯 核心联动功能

方式一:标签超市 → 直接生成

  1. 打开标签超市
  2. 选择标签(可多选)
  3. 点击 "提交到生成器" 按钮
  4. 图像自动生成并插入聊天

方式二:角色数据库 → 生成器

  1. 打开角色数据库
  2. 选择或创建角色
  3. 填写角色特征
  4. 点击 "应用到生成器"
  5. 打开标签超市补充场景标签
  6. 点击 "提交到生成器"

方式三:组合使用

  1. 先应用角色特征
  2. 再选择场景/动作标签
  3. 在预览中查看完整提示词
  4. 确认后提交生成

📖 功能说明

标签超市

  • 浏览标签 - 按分类浏览 16,000+ 标签
  • 搜索标签 - 支持中文/英文搜索
  • 批量选择 - 连续点击多个标签
  • 直接提交 - 一键提交到生成器
  • 自定义标签 - 添加自己的标签库

角色数据库

  • 角色管理 - 创建、编辑、删除角色
  • 分类管理 - 按分类组织角色
  • 特征提取 - 自动转换为生成标签
  • 傻瓜模式 - 自动匹配角色数据
  • 导入/导出 - 备份和恢复数据

提示词构建器

  • 自动汇聚 - 整合所有模块的数据
  • 智能去重 - 自动去除重复标签
  • 分类管理 - 基础/角色/场景/质量标签分类
  • 实时预览 - 查看完整提示词

图像生成器

  • 多引擎支持 - SD / NAI / ComfyUI / Other API
  • 统一接口 - 所有引擎使用相同的工作流
  • 自动插入 - 生成后自动插入聊天
  • 队列管理 - 支持批量生成
  • 上下文相似图 - 智能保持图片连贯性,使上下文生成的图片互相关联
    • 自动追踪角色状态(着装、相貌、画风、场景等)
    • 根据前一张图片状态智能调整标签,确保画面衔接顺畅
    • 支持角色特征、服饰状况、动作姿态、表情情绪、位置变化的连贯性
    • 转场场景自动识别,避免不必要的关联
  • 多端同步 - 图片和配置保存到服务器,支持多设备同步
    • 图片文件保存到 data/default-user/user/images/tsp-images/ 目录 其中\default-user更换成自己的用户名
    • 每个角色卡的元数据保存到独立的 JSON 文件(data/default-user/user/files/tsp-config-{角色卡名}.json
    • 全局插件配置保存到 data/default-user/user/files/tsp-plugin-settings.json

设置面板

  • 统一配置 - 所有模块设置集中管理
  • 生成器配置 - 各引擎的详细参数
  • 数据管理 - 导入/导出/清空数据
  • 界面设置 - 悬浮球、自动插入等

🔧 配置指南

Stable Diffusion 配置

  1. 打开设置 → 图像生成
  2. 选择模式:Stable Diffusion
  3. 填写 API 地址:http://127.0.0.1:7860
  4. 配置采样器、步数、CFG Scale
  5. 设置图像尺寸
  6. 保存设置

NovelAI 配置

  1. 获取 API Key
  2. 在设置中填入 API Key
  3. 选择模型版本
  4. 配置步数
  5. 保存设置

⚠️ 如果遇到 CORS 跨域问题:

如果官方 NAI API 出现 CORS 拦截,可以使用服务器进行中转:

  1. nginx反代/ 目录中提供了 Nginx 反代配置
  2. 将配置部署到你的服务器上
  3. 在插件设置中将 NAI API 地址改为你的反代地址(如:https://your-domain.com/nai/
  4. 详细配置请参考 nginx反代/nginx.confnginx反代/nginx-nai-proxy-only.conf

提示词质量设置

在设置 → 通用中:

  • 默认质量标签 - 自动添加到所有提示词

    best quality, amazing quality, very aesthetic, masterpiece
    
  • 默认负面提示词 - 自动应用到所有生成

    lowres, bad anatomy, bad hands, text, error, missing fingers
    

世界书配置(AI 自动生成标签)

插件提供了配套的世界书,可以在 AI 生成文章时自动增加图片标签:

  1. 导入世界书

    • 在 SillyTavern 的世界书设置中,导入 配套世界书/文生图配套世界书.json
    • 确保世界书已启用
  2. 使用方法

    • 在对话中触发关键词(如"文生图"),AI 会自动在回复中插入图片标签
    • 世界书会指导 AI 根据文本内容生成合适的图片描述和标签
    • 生成的图片会自动插入到对话中
  3. 世界书功能

    • 自动识别场景并生成图片标签
    • 支持多角色场景描述
    • 支持 NAI 和 SD 两种格式的标签生成
    • 包含详细的标签生成指南和示例

💡 使用技巧

技巧 1: 快速生成角色

  1. 在角色数据库中创建角色模板
  2. 填写常用特征(如:校服、双马尾)
  3. 需要时一键应用到生成器
  4. 补充场景标签后生成

技巧 2: 标签组合

  1. 先选择基础标签(服装、发型)
  2. 再选择场景标签(背景、光线)
  3. 最后选择动作/表情标签
  4. 在预览中确认后生成

技巧 3: 批量操作

  1. 在标签超市中连续选择多个标签
  2. 使用"添加到构建器"累积标签
  3. 最后统一提交生成

技巧 4: 提示词优化

  1. 使用提示词预览查看完整提示词
  2. 复制到外部工具优化
  3. 优化后粘贴回生成器

技巧 5: 保持图片连贯性

  1. 利用上下文相似图功能

    • 插件会自动追踪前一张图片的角色状态
    • 生成新图片时会智能保留一致的着装、相貌、画风
    • 场景变化时会自动识别转场,避免不必要的关联
  2. 角色特征一致性

    • 在角色数据库中设置好角色特征
    • 应用到生成器后,后续图片会自动保持角色特征一致
    • 包括发型、发色、瞳色、体型等基础特征
  3. 场景连贯性

    • 在同一场景中生成的图片会自动保持背景一致
    • 角色位置变化会智能追踪和调整
    • 转场时会自动重置关联,开始新的场景

🐛 故障排除

问题:静态标签加载失败

解决方案:

  • 检查 data/static-tags.json 文件是否存在
  • 检查文件路径是否正确
  • 查看浏览器控制台错误信息

问题:生成器连接失败

解决方案:

  • 确认生成器服务正在运行
  • 检查 API 地址是否正确
  • 检查防火墙/网络设置
  • 查看浏览器控制台错误

问题:悬浮球不显示

解决方案:

  • 检查设置中"显示悬浮球"是否启用
  • 刷新页面
  • 检查浏览器控制台错误

问题:数据丢失

解决方案:

  • 使用设置面板的"导出数据"功能定期备份
  • 数据存储在 IndexedDB 中,清除浏览器数据会丢失

📝 更新日志

v1.1.2 (最新)

主要功能

1. 手机悬浮球

  • 在设置面板的"检测到图像标签时自动生成"下方增加"手机模拟器"开关
  • 开启后显示手机悬浮球按钮
  • 点击悬浮球打开手机模拟器界面

2. 手机主界面

  • 仿真的手机界面设计
  • 包含消息、论坛、朋友圈、设置等应用图标
  • 论坛和朋友圈功能预留,显示"开发中"

3. 消息列表(微信布局)

  • 显示当前角色卡的所有联系人
  • 显示最后一条消息预览和时间
  • 点击进入详细聊天界面
  • 支持新朋友添加功能

4. 聊天详情界面

  • 左右对话气泡布局
  • 用户消息在右侧,角色消息在左侧
  • 附带头像显示
  • 支持发送消息和接收AI回复

5. 新朋友添加

  • 可以为角色上传头像
  • 支持命名角色
  • 头像上传到服务器,确保唯一性

6. API配置

  • 配置聊天接口地址
  • 配置API密钥
  • 配置模型名称
  • 配置保存到服务器

7. 数据存储

  • 聊天记录保存到 /user/files/tsp-chat-{角色卡名}.json
  • 使用IndexedDB进行本地缓存
  • 角色卡切换时自动加载对应聊天记录
  • 头像保存到服务器 /user/images/tsp-phone-avatars/

8. AI请求

  • 使用占位符结构,方便后续修改
  • 参考ai-processor.js的_getAutoModeChatInsertionMessages()方法
  • 支持自定义请求结构

9. 内容筛选

  • 筛选AI返回的内容,只保留带姓名与引号的内容
  • 格式:角色:"对话内容"
  • 自动将长消息分割为多条短消息
  • 确保对话简短自然

使用方法

  1. 启用手机模拟器

    • 打开插件设置
    • 找到"手机模拟器"开关
    • 开启后显示手机悬浮球
  2. 配置API

    • 打开手机模拟器
    • 进入"设置" > "API 配置"
    • 填写API地址、密钥和模型名称
    • 点击保存
  3. 添加联系人

    • 打开手机模拟器
    • 进入"消息" > "新朋友"
    • 上传头像(可选)
    • 输入角色名称
    • 点击添加
  4. 开始聊天

    • 在消息列表中点击联系人
    • 输入消息并发送
    • 等待AI回复

技术特点

  1. 数据隔离

    • 每个角色卡的聊天记录独立存储
    • 切换角色卡时自动加载对应记录
    • 不会加载其他角色卡的聊天记录
  2. 性能优化

    • 使用IndexedDB进行本地缓存
    • 按需加载聊天记录
    • 避免一次性加载所有数据
  3. 服务器同步

    • 聊天记录自动保存到服务器
    • 支持跨设备同步
    • 头像上传到服务器
  4. 扩展性

    • 清晰的文件夹结构
    • 模块化设计
    • 预留论坛、朋友圈等功能接口

后续扩展

可以在以下位置添加新功能:

  1. 论坛功能

    • 在Phone_emulator/js/phone-emulator.js的_openApp方法中添加forum逻辑
    • 创建对应的UI组件
  2. 朋友圈功能

    • 在Phone_emulator/js/phone-emulator.js的_openApp方法中添加moments逻辑
    • 创建对应的UI组件
  3. 更多社交功能

    • 可以参考现有的消息列表和聊天详情界面
    • 在Phone_emulator/css/phone-emulator.css中添加样式

注意事项

  1. 确保API配置正确才能正常使用聊天功能
  2. 头像上传需要服务器支持
  3. 聊天记录保存在服务器,注意隐私保护
  4. 切换角色卡时会自动加载对应聊天记录

v1.1.1 (最新)

  • ✅ 新增上下文相似图功能
    • 智能追踪角色状态(着装、相貌、画风、场景等)
    • 根据前一张图片状态自动调整标签,确保画面衔接顺畅
    • 支持角色特征、服饰状况、动作姿态、表情情绪、位置变化的连贯性
    • 自动识别转场场景,避免不必要的关联

v1.1.0

  • ✅ 新增多端同步功能
    • 图片文件保存到服务器 /user/images/tsp-images/ 目录
    • 角色卡元数据独立保存到 /user/files/tsp-config-{角色卡名}.json
    • 全局插件配置保存到 /user/files/tsp-plugin-settings.json
  • ✅ 提供 NAI API 反代配置(解决 CORS 问题)
    • 支持宝塔面板和普通 Nginx 配置
    • 配置位置:nginx反代/ 目录
  • ✅ 提供配套世界书
    • AI 生成文章时自动增加图片标签
    • 世界书位置:配套世界书/文生图配套世界书.json

v1.0.0 (2025-12-06)

  • ✅ 完成核心框架搭建
  • ✅ 实现标签超市与生成器联动
  • ✅ 实现角色数据库与生成器联动
  • ✅ 实现提示词构建器
  • ✅ 实现悬浮球和设置面板
  • ✅ 迁移 16,000+ 静态标签数据
  • ✅ 完成 SD 生成器基础实现

🔗 相关链接


📄 许可证

本项目整合自以下 Tampermonkey 脚本:

  • 酒馆文生图插件 v2.58
  • 标签超市UI v2.36
  • 标签超市数据源 v1.21
  • 角色数据库 v1.42

扩展移植作者:ZhaiKer

原作者:茶蘼


如有问题或建议,请查看文档或提交 Issue

About

No description, website, or topics provided.

Resources

Stars

64 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages