comfyui-anima-toolkit

TK Toolkit

2.37.0 Agent 连接管理与布局编辑:在节点前台新建、修改、检测 API 连接,配置自己的 DSH;修复现代节点 UI 空白和输出框高度丢失,降低画廊大图重复解码的内存峰值。新增 MOSS 可视布局编辑与 Agent 选区扩写。配置教程 · 本版说明 · 更新日志。升级后重启一次 ComfyUI 并强制刷新;日常改连接与切模型无需重启。

2.36.0 节点中英文切换:节点界面、画廊窗口和主要弹窗跟随工具箱「设置 → 语言」。切换后先保存工作流,再刷新 ComfyUI 页面,无需重启绘世宿主。提示词、标签和自定义名称保持原样。覆盖范围与使用方法。

2.35.0 画廊与反推结果:新增可拖动、缩放和最小化的画廊窗口,图片按原比例瀑布流展示;搜索贴数紧跟标签。Prompt Agent 原始反推结果常驻最终提示词上方,扩写指令不再限制 4000 字符,输出长度为可设置的软提醒。使用说明。

简体中文 English

给 ComfyUI 用的 Anima 工作流工具包。批量挂 LoRA、管理本地模型、搜图找参考、整理提示词、翻看历史出图,都收在一个插件里,另外配一个本地管理面板。

作者时运Toki(B 站同名)。包含 MOSS Layout Studio 的组合发行版采用 GPL-3.0;原有 MIT 代码的授权保留,详见 许可说明。QQ 交流群:758086740。

英文简介:TK Toolkit(2026-09 之前叫 Anima Toolkit,插件本身和 Registry id anima-toolkit 都没变)是 ComfyUI 的自定义节点包,外加一个内置网页面板。它管五件日常麻烦事:LoRA 的批量加载与本地管理(含 Civitai 元数据与下载)、提示词管理(中英对照卡片、翻译、中文标签补全)、Danbooru 工具(标签搜索、画廊、分类)、出图管理(把 output 目录做成缩略图画廊并解析 PNG 参数),以及批量出图的辅助节点(多组提示词串行、字符串路由、机位预设)。下面正文用中文写。给 AI 读的机器可读摘要放在 llms.txt。

TK Toolkit

当前发布版本: 2.37.0。

安装

ComfyUI-Manager 里搜「TK Toolkit」(节点 id 是 anima-toolkit),或者手动放:

cd ComfyUI/custom_nodes
git clone https://github.com/Ararararararaki/comfyui-anima-toolkit

装完重启 ComfyUI。改过 .py 就必须重启,这是 ComfyUI 的规矩。

仓库里已经带好了能直接用的 app/ 面板构建产物,普通用户不用装 Node.js,也不用自己构建。

Registry 页面在 https://registry.comfy.org/nodes/anima-toolkit。依赖见 requirements.txt(aiohttp 和 requests),可选依赖见 requirements-optional.txt。装好之后节点工具栏上会有「更新」按钮,也可以走 ComfyUI-Manager 更新。

别和 AnimaLoraToolkit、AnimaLoraAtelier 搞混了,那两个是训练用的工具链(写 YAML 训 LoRA/LoKr)。这个项目只管推理这一侧:在 ComfyUI 里加载、管理、检索 LoRA,不做训练。

它能帮你做什么

平时的麻烦 这里怎么解决
一次要挂十几个 LoRA,权重还得一个个手改 TK 批量 LoRA 加载器:面板里挑、批量启用,权重能拖着调,触发词自动输出
本地一堆 .safetensors 不知道是啥,也没预览图 本地 LoRA 管理:扫描目录、按 SHA256 匹配 C 站,补预览图、作者、版本和下载量,按底模和分类筛
想找参考图、找画师风格 TK 多重画廊:六个图源(D站、C站、P站、Safebooru、yande.re、Konachan.net,后三个不要密钥),标签搜索加分级、时间、评分、收藏筛选,瀑布流,随机发现,中英联想 1 到 2 毫秒
提示词东一份西一份,中英对照看着累 Prompt 卡片库和 Prompt 库:中英对照卡片,能翻译、能校准成 D站 规范标签,一键入库复用
出完图想不起参数,也找不到历史图 Outputs 图片管理:多目录与角色/作品整理,参数解析、预览编辑及按策略导出
想一次跑一批不同提示词 TK 批量提示词:多组提示词串行出图,每组可以有自己的机位

最近更新

2.37.0 补齐 Agent 前台连接管理,并发布 MOSS 布局编辑与近期界面修复。

完整更新记录 · 功能说明 · Prompt Agent 使用说明 · Pixiv 接收桥安装

使用

找到节点和面板

节点菜单里搜 TK,本插件的节点都放在 TK 根目录下,按用途分成 TK/loaders、TK/camera、TK/batch、TK/prompt、TK/image、TK/latent、TK/Danbooru、TK/text 几组。

顶部那个「TK Toolkit / 本地工具箱」按钮打开管理面板,也可以在 TK 批量 LoRA 加载器节点里点「面板」进去。面板设置页能换 ComfyUI 顶部的入口图标(传图片或填 URL 都行,恢复默认就回到仓库里的菲比图标),图标配置存在当前浏览器里,跟着设置导入导出一块走。

想直接开面板:http://localhost:8188/extensions/ComfyUI-Anima-Batch-LoRA/app/

LoRA 管理的一般流程

  1. 在 TK/loaders 里加一个 TK 批量 LoRA 加载器,接上 MODEL(需要输出 CLIP 的话再接 CLIP)。
  2. 节点上点「本地 LoRA」打开浏览窗,或者从面板进本地 LoRA 管理。
  3. 点「扫描文件夹(含子目录)」选 LoRA 根目录。扫描会保留相对路径,比如 anima base/style.safetensors。
  4. 点「子目录建分类」,按一级子目录名自动建分类并把 LoRA 归进去。更深层的目录按它的一级目录归类,直接放在根目录的文件不归类。
  5. 想要 C 站信息就点「全部匹配」,之后能看触发词、预览图、返图、分类和权重,也能发回 ComfyUI。

节点中 LoRA 名称右侧的铅笔可以编辑触发词。每行填一段提示词,保存后,点击名称复制、工具栏「全部触发词」和节点的 trigger_words 输出都会使用自定义词;同一个本地 LoRA 在其他节点也会同步使用。保存空白可停用该 LoRA 的触发词,「恢复自动」重新使用自动提取结果。编辑框支持 Ctrl+Enter 保存和 Esc 取消。

浏览器不支持目录权限 API 的时候,工具箱会自动退回文件夹选择的方式。用 Chrome 或 Edge 从 localhost 访问体验最完整。

节点一览

都挂在 ComfyUI 的 TK 根目录下:

节点数量以实际注册为准,python tests/tools/ai_verify.py 会打印真实清单,所以这里不写死数字(以前删过节点,标题和正文的数字就对不上了)。

六个图源

图源 密钥 说明
D站(Danbooru) 不要 标签搜索加分级、时间、评分、收藏筛选。被 Cloudflare 拦的时候会自动拉起本机浏览器网关(需要 playwright)
C站(Civitai) API key,只用于账号校验,不影响取图 cursor 分页,排序、NSFW 档位、时间窗、作者、模型浏览
P站(Pixiv) 关键词搜索需 OAuth 2.0 + PKCE 授权;排行榜可匿名浏览 原生排行榜、关键词搜索与近一个月热门筛选。不给提示词,定位是素材,可以送去 WD14 反推
Safebooru 不要 gelbooru-dapi 系公开 API
yande.re 不要 moebooru 骨架,走 post.json
Konachan.net 不要 和 yande.re 同一套骨架(全年龄镜像;konachan.com 被 Cloudflare 拦,没有纳入)

图源下拉是后端能力表驱动的,前端只留排序偏好,所以后端注册了新图源就会自动出现在界面里,加图源不用动前端代码。

AnimaDex 角色浮窗

这是本地角色库,不是图源。画廊工具条点「角色」打开,里面是 36,488 个本地角色(随包数据,都有触发词和预览图),支持中英双语联想、收藏和最近两个页签、作品搜索筛选(3,702 个作品),键盘也能操作。点一个角色,它的基础提示词就写进节点的 Prompt 输出;把 prompt_settings 里原有的角色类别关掉,就等于换人。整个过程是本地选词拼接,不调用 LLM,离线、确定、毫秒级。

TK Prompt Agent

在节点菜单搜索 TK Prompt Agent(TK/prompt),设置兼容模型 API,选择 Anima 或 Krea 2,用中文创建、修改提示词;第二路 STRING 输出连接 CLIP Text Encode。支持快速直写、按流程创作、锁定指定内容、撤销、图片反推与看图扩写。普通 API 编辑无需安装 DSH;DSH 实时连接与原生执行为可选方式。

详细配置与操作见 Prompt Agent 使用说明。模型连接、密钥、可选模型均由各用户自行配置,不随插件附送。

新增 MOSS 布局编辑器与 Agent 联动:绘制区域、填写描述与中文台词,再由现有 Agent 扩写;位置和文字由画布保存。

面板

本地管理面板有八个栏目:LoRA 管理、LoRA 探索、画师系列、Prompt 库、图片解析、Outputs 图片管理、服装库、设置。节点那边另有画廊、批量提示词、图像选择、文本类节点。

本地 LoRA 管理 Outputs 图片管理 TK 多重画廊

逐项功能、参数范围和操作细节写在 docs/FEATURES.md 里,包括各个 LoRA 节点、本地 LoRA 管理、LoRA 探索、画师系列、Prompt 库、图片解析、Outputs、设置,TK 作图节点(多重画廊、批量提示词注入、图像选择),TK 文本与提示词节点(Prompt Cards、Prompt Saver、Text Join、String Router、Danbooru Tag Getter、空 Latent),还有一份数据持久化说明:哪些数据存在哪、更新插件会不会丢。

批量提示词节点和配套的 AI 撰写 skill

TK 批量提示词注入

TK Prompt Batch(批量提示词注入)读本地提示词文件,按组批量出图。一组就是一张图,批量任务由服务端控制器按组顺序执行,一组跑完才排下一组,不依赖浏览器一直开着。提示词文件放在 ComfyUI 的 input/prompts/ 目录里,格式长这样:

## 组1 · 单人日常 · 教室窗前
masterpiece, best quality, score_9, year 2025, highres, safe, 1girl, [角色], [系列], [通用标签...]
相机: from the side, low angle        # 可选:该组的机位

## 组2 · 双人 · 海边黄昏
masterpiece, best quality, score_9, year 2025, highres, safe, 2girls, [角色A], [角色B], [系列], [通用标签...]

标题行支持 ## 组N · 标题、【N】标题、01 序号 三种写法,# 开头是注释,组内可以写 相机: 行(不计入提示词)。节点上点「选择文件…」或「最新」加载,勾了「自动用最新文件」以后每次队列都会自动用最新的 txt。

想省事可以让 AI 帮你写这种文件,仓库里带了配套 skill:skill/anima-prompt-writer/SKILL.md(标准正向撰写,SFW 安全版)。它按固定顺序排标签(质量、美学、时代、meta、安全、人数、角色、系列、画师、通用),再补一句空间构图,最后落到 input/prompts/ 下正确的目录和格式。没有数据集,规则就是唯一标准。

装法是把 skill/anima-prompt-writer 复制到你用的 AI 的 skills 目录(比如 Claude Code 的 ~/.claude/skills/ 或 DSH 的 ~/.dsh/skills/),之后跟它说「写提示词」就行。

部署与更新

升级目录结构后,请完成当前生成任务再正常重启 ComfyUI;这次涉及 Python 模块加载位置,单纯刷新网页不足以替换已加载的后端。节点标识和旧工作流无需修改。第三方脚本应通过插件包导入模块,不应写死根目录 Python 文件路径。

翻译源

Prompt Cards 的「翻译状态」里能选翻译源,目前支持本地词典、DeepLX、百度翻译、MyMemory、Google 和通义。所有需要联网翻译的入口(包括 Outputs 里的 PNG 提示词翻译)都走同一个 /api/translate 路由。

百度翻译在 Prompt Cards 的「翻译状态 → 百度设置」里配,要百度开发者信息里的 APPID 和 API Key,可以选机器翻译(nmt)或大模型翻译(llm),也能加术语库。百度配置只写在本机 data/translation_providers.json,这个文件已经进了 Git 忽略,不会随仓库提交。接口细节看百度大模型文本翻译 API 文档。

插件更新

TK 批量 LoRA 加载器上的「更新」按钮会在节点加载后检查一次,之后每 5 分钟再看一次。手动点会立刻强制检查。检查的不只是 VERSION,还会比 GitHub main 的提交和发布文件指纹,所以同一个版本号下的代码推送也能发现。

发现有更新就点「一键更新」,后端会从 GitHub 下更新 ZIP,完整下完并校验目录结构之后,只覆盖插件的发布文件(__init__.py、anima_*.py、web/、app/ 这些)。data/(包括 Prompt 库镜像和它的 .bak)、模型、input/、outputs/、凭据和用户配置都不会被删或覆盖;校验没过也不会替换现有文件。

更新完要用绘世启动器重启 ComfyUI,然后在浏览器按 Ctrl + Shift + R 强刷。关掉节点窗口或浏览器不影响更新请求,但结束 ComfyUI 进程会中断正在下载的包。

「一键更新」因为网络、权限或者运行目录不可写而失败的话,可以手动来:

Git 安装: 在 custom_nodes/ComfyUI-Anima-Batch-LoRA 目录执行 git pull
ZIP 安装: 下载 GitHub → Code → Download ZIP,将 ZIP 内层的仓库内容覆盖到
          ComfyUI/custom_nodes/ComfyUI-Anima-Batch-LoRA

ZIP 装完要确认 custom_nodes/ComfyUI-Anima-Batch-LoRA/__init__.py 就在这一层,不能多套一层 仓库名-main/。不管走哪种方式,最后都要用绘世启动器重启 ComfyUI。

完整改动记录见 CHANGELOG.md。

从源码重建面板

app/ 是构建产物,日常用不着管它。改了面板源码才需要重建:

cd panel
npm install
npm run build:comfyui   # 类型检查 → 打包 → 部署到 ../app

开发的时候用 cd panel && npm run dev(Vite 热更新,接口代理到本地 ComfyUI)。推到 panel 目录的改动会由 GitHub Actions 自动重建 app。

目录结构

ComfyUI-Anima-Batch-LoRA/
├── __init__.py           # 后端接口(/anima/*,存元数据)
├── anima_backend/        # 节点、图源、提示词等 Python 实现
├── services/             # 更新、索引、元数据与后台任务
├── data/                 # 本机账户、收藏、分类等用户数据(更新保留)
├── web/js/               # 节点前端(不用构建)
├── app/                  # 面板构建产物(克隆即用,别手改)
├── panel/                # 面板源码(Vite + TypeScript)
├── skill/                # 配套 AI skill(anima-prompt-writer)
├── screenshots/          # 截图
└── .github/workflows/    # 自动构建 app

依赖

角色资料持续更新:自动更新与缺失补查说明。