Extensions/XBHH Live2D Pet & LoRA
ComfyUI Extension

XBHH Live2D Pet & LoRA

ComfyUI custom nodes for LoRA management (stack, recipe, Civitai fill, backup) and a Live2D desktop pet.

By xbhh123456·Created 10 months ago·Updated a day ago· 13
xbhh123456/Comfyui-xbhh-main
Nodes12
On cloudLocal install
CategoryXBHH, XBHH/loaders
Stars13
Updateda day ago
Readme

XBHH ComfyUI 套件 🎨

version license ComfyUI

XBHH ComfyUI Kit 是一套面向重度 LoRA 用户的 ComfyUI 扩展:把「模型管理 → 配方组合 → 缺失补齐 → 备份体检」串成一条完整链路,外加一只可交互的 Live2D 看板娘和若干效率节点。

  • 🗂 LoRA 管理器:独立管理页,列表 / 触发词 / 分类 / 评级 / 参考图 / 配方 / 备份体检
  • 🧩 LoRA 堆 Plus:画布上无限加行,支持预设文本导入导出
  • ⬇️ C 站补齐:配方里缺失的 LoRA,按 hash 或文件名去 Civitai 找,内置下载器自动入库
  • 🎭 Live2D 看板娘:V2 / V4 模型、换装、表情动作、VTS 热键、金币喂食

想了解内部实现?看 架构与数据结构说明(含 LoRA 结构图与数据流图)。


✨ 功能总览

| 模块 | 能力 | | --- | --- | | LoRA 管理 | 树形目录、多列排序筛选、缩略图与悬浮大图、触发词三源标识、批量改触发词、分类、星级、使用次数 | | 配方(Recipe) | 卡片式配方库、一键应用到画布、再点一次撤销、配方图、标签、分享文件导入导出 | | 参考图库 | 上传 / 重命名 / 移动 / 删除 / 回收站 / 一键送到 LoadImage 节点 | | C 站补齐 | 缺失检测、本地二次复检、候选列表、内置下载器、自动预览图、自动入库 | | 备份体检 | 导出指纹清单、比对当前库找出缺失、一键重下 | | 画布节点 | LoRA 堆 / 堆 Plus、配方节点、预设选择器、提示词格式化、动态文本等 | | Live2D | 多模型切换、换装、表情与动作、自定义快捷键、穿透模式、金币与喂食 |


🗂 LoRA 管理器

ComfyUI 侧边栏点「LoRA 数据」按钮(或全局快捷键)打开独立管理页 /xbhh/lora-manager,页面分 LoRA / 配方 / 参考图 三种模式。

LoRA 列表

  • 树形目录:按 models/loras 的真实子目录折叠展开,模型再多也不乱
  • 列宽可拖拽:长名字、长触发词都能拖开看全
  • 多列排序与筛选:按名称、分类、星级、使用次数、修改时间
  • 预览图:列表缩略图 + 鼠标悬浮大图,预览图缺失时自动回退
  • 触发词三源标识:[自定义] / [Auto] / [Civitai] 一眼分辨来源,支持一键清空自定义值、批量更新、重算自动触发词
  • 多套 Profile:同一个 LoRA 保存多组提示词写法,按需切换
  • 文件操作:重命名(同步预览图与数据库)、删除、资源管理器定位、重复文件检测
  • 性能:增量扫描 + ETag,未变化的目录直接返回 304,大库也能秒开

触发词怎么取

执行时以数据库为准,节点里存的只是快照:

用户自定义 user_trigger  >  自动提取 auto_trigger  >  safetensors 内的 trained_words

开启「关闭自动触发词」后只认用户自定义值,避免自动词污染提示词。


📦 配方管理器(Recipe)

把「一组 LoRA + 权重 + 提示词」存成一张配方卡,跨工作流复用。

  • 点一次应用,再点一次撤销:应用前会把目标 LoRA 堆的原有行、预设文本、提示词全部快照到节点属性里;再次点击同一配方即按快照精确还原
  • 多个堆互不影响:每个 LoRA 堆各留一份快照,应用新配方只会替换该堆的快照
  • 配方图:支持上传预览图,列表按图排布
  • 元信息:名称、分类、标签、评分、备注
  • 分享与导入:配方可导出为分享文件,别人导入后本地缺失的 LoRA 会给出提示,并可直接「C站补齐」
  • 名称兜底匹配:配方里存的是旧文件名或 AutoV2 短 hash,也能通过前缀匹配找回本地文件

⬇️ C 站补齐

配方导入后常有一堆「未找到本地文件」,点行尾的 C站补齐 即可:

  1. 先调 /xbhh/lora/exists 复检本地——你刚把文件移回来也能立刻识别,命中就直接置灰按钮
  2. 未命中则按 hash(支持 AutoV2 10~12 位前缀)或文件名去 Civitai 找候选
  3. 选一个候选下载:
    • 下载:优先走本地桥接工具(若已安装)
    • 直连内置:不依赖任何外部工具,用插件自带下载器
  4. 内置下载器后台流式下载(.part 临时文件)→ 校验 SHA256 → 落到 models/loras → 自动抓取预览图 → 写库
  5. 下载完成后配方行自动回填真实文件名,整行按钮置灰,列表自动刷新

落盘前还有一道全目录同名查重:同名文件已在任意子目录里就直接跳过,不会下出第二份。


🛡 备份与体检

  • 导出清单:把整库指纹(文件名 / hash / 大小)+ 分类、触发词、评级等用户数据写成 manifest
  • 体检:拿清单与当前库比对,列出缺失文件
  • 一键重下:体检出的缺失项可直接送去 C 站补齐

默认落点 ComfyUI/user/xbhh/backup,可在设置里改。


🎭 Live2D 看板娘

在 ComfyUI 界面里养一只自己的 Live2D 模型。

  • 多引擎:兼容 Live2D V2(SDK 2.1)与 V4 / V5(Cubism 4/5)
  • 自动扫描:识别 web/live2d 下所有模型,右键菜单随时切换
  • 交互:鼠标追踪、点击对话、随机待机动作、表情切换
  • 换装:V2 模型一键切换贴图
  • 热键:自动读取模型同目录的 .vtube.json,把 VTS 热键映射为键盘快捷键(可在菜单开关);动画动作也能自己绑定按键
  • 穿透模式:不挡画布操作,右键唤出菜单
  • 金币系统:陪聊、喂食、使用「保存图片」节点都能结算货币

添加自己的模型请参考:Live2D 模型管理指南

Live2D 演示


🧩 画布节点

| 节点 | 作用 | | --- | --- | | XBHH Multi Lora Loader | 多 LoRA 堆,点击动态加行,树形选模型,悬浮预览 | | XBHH Multi Lora Loader Plus | 基础版全部功能 + 预设文本导入/导出、触发词自动拼装 | | XBHH 预设管理(配方) | 节点内嵌配方面板,无需连线即可把配方写进画布上的 LoRA 堆 | | XBHH Prompt Formatter | 按顺序拼接 LoRA 触发词与自定义提示词 | | xbhh JSON预设选择器 | 从 JSON 预设文件取值 | | xbhh txt随机抽取 | 从文本库随机取一条 | | xbhh txt选择器 | 从文本库挑选 | | xbhh 动态文本 | %date% / %counter% / %random% 等变量替换 | | xbhh 空Latent | 15+ 常用分辨率预设,自动对齐 8 的倍数 | | xbhh 注释节点 / 分层注释 | 带层级与搜索高亮的画布笔记 | | xbhh XLSX查看器 | 不装 Excel 也能预览 .xlsx | | XBHH Image Title | 图片标题生成 | | xbhh 保存图片 (CUI奖励) | 保存图片并给看板娘结算金币 |

LoRA 加载器演示


📦 安装

方式一:ComfyUI Manager(推荐)

在 Manager 里搜索 xbhh 或 comfyui-xbhh-lora,点击安装后重启 ComfyUI。

方式二:手动

cd ComfyUI/custom_nodes
git clone https://github.com/xbhh123456/Comfyui-xbhh-main.git
cd Comfyui-xbhh-main
pip install -r requirements.txt

依赖只有 openpyxl(XLSX 查看器用)。装完重启 ComfyUI,浏览器按 Ctrl + F5 强制刷新一次前端。

首次启动会创建

| 路径 | 内容 | | --- | --- | | ComfyUI/user/xbhh/lora_trigger_word.db | LoRA 数据库(触发词 / 分类 / 评级 / 使用次数) | | ComfyUI/user/xbhh/settings.json | 全局设置与配方 | | ComfyUI/user/xbhh/thumbs/ | 缩略图缓存 | | ComfyUI/user/xbhh/backup/ | 备份清单 |

数据库和设置都在 user/ 下,升级插件不会丢。


🚀 快速上手

  1. 建库:把 LoRA 放进 ComfyUI/models/loras/(可自由分子目录),打开管理器,首次会自动扫描并计算 hash
  2. 整理:给常用 LoRA 填自定义触发词、打分类和星级
  3. 做配方:在配方模式新建配方,选几个 LoRA、调好权重、配上预览图与提示词
  4. 上画布:工作流里放一个 LoRA 堆(或配方节点),点配方即可一键套用;再点一次取消
  5. 换机器:导出备份清单,新机器导入后体检 + C 站补齐,模型全回来

🆕 v2.0.1 更新

新功能

  • 配方管理器:卡片式配方库、配方图、标签、评分、备注,支持一键应用 / 再点撤销
  • C 站补齐:缺失 LoRA 自动查 Civitai,内置下载器流式下载 → SHA256 校验 → 自动预览图 → 自动入库
  • 备份与体检:导出整库指纹清单、比对找出缺失、一键重下
  • 参考图库:上传 / 重命名 / 移动 / 删除 / 回收站 / 一键送到 LoadImage
  • LoRA 资料:多套提示词 Profile、分类、星级、使用次数统计
  • Live2D:自动读取 .vtube.json 热键,动画动作可自定义快捷键

修复

  • 配方按 hash 找不到本地文件:AutoV2 短 hash 改为前缀匹配(前后端一致)
  • /xbhh/lora/exists 的 hash 查询按长度分流,64 位精确 / 短 hash 前缀
  • C 站补齐下载前本地二次复检,刚移回的文件不会再重复下载
  • 下载成功后回填真实文件名、整行按钮置灰,避免重复点
  • 下载任务丢失(后端重启)时停止轮询并提示,不再无限转圈
  • 内置下载器落盘前按文件名全目录查重
  • 配方撤销恢复时对大小写与路径分隔符归一化

文档


⚠️ 常见问题

改完前端没生效? 浏览器缓存很顽固,务必 Ctrl + F5;改的是 Python 则要重启 ComfyUI 后端。

配方里的 hash 和数据库里的对不上? Civitai 给的是 10~12 位 AutoV2(SHA256 前缀),本地存的是 64 位完整 SHA256。插件已按长度自动分流:64 位精确匹配,短 hash 前缀匹配。

Windows 下 LoRA 名字带反斜杠? 这是 ComfyUI 的约定(画风\x.safetensors),前端比较时已统一归一化。

缩略图会丢? 缩略图固定放 user/xbhh/thumbs,不会像 temp 目录那样被 ComfyUI 定期清理。

C 站补齐一定要装别的软件吗? 不需要。候选行的「直连内置」走插件自带下载器;装了桥接工具则会优先用它。


📅 路线图

  • [x] Live2D V2 / V4 引擎集成
  • [x] LoRA 管理器 + 触发词数据库
  • [x] 配方管理与一键应用 / 撤销
  • [x] C 站补齐与内置下载器
  • [x] 备份清单与缺失体检
  • [ ] 从带元数据的图片直接识别 LoRA 堆并生成配方
  • [ ] 按内容(而非文件名)去重
  • [ ] 更多 Live2D 交互动作

📚 文档

  • ARCHITECTURE.md —— 分层架构、节点清单、LoRA 五层数据结构图、数据流时序图、HTTP API 一览
  • LIVE2D_GUIDE.md —— 模型目录结构、添加模型、表情动作、故障排除
  • CHANGELOG.md —— 版本更新记录与发布说明
  • README_EN.md —— English README

📄 许可证

MIT License。

🙏 致谢

  • ComfyUI 官方团队
  • rgthree-comfy 的 UI 设计理念
  • Live2D 相关开源运行时与模型作者

如果这套工具帮到了你,欢迎点个 Star 🌟