Skip to content

内置原生数据集标签编辑器替代 Gradio Tag Editor #58

@wochenlong

Description

@wochenlong

背景

现有标签编辑页来自 mikazuki/dataset-tag-editor 子模块,通过 Gradio 子服务挂到 /proxy/tageditor。在 Windows 整合包里它同时引入了子模块初始化、额外端口、反代、Gradio 版本兼容和首开稳定性问题。2.5.x/2.6.0 的反馈已经说明这条链路会反复影响整合包体验。

目标

在主 WebUI 内置一个原生“数据集标签编辑器”,走主 FastAPI + 主前端页面:

  • 不再为标签编辑启动独立 Gradio 服务。
  • 不再占用额外端口。
  • 不再依赖 mikazuki/dataset-tag-editor 子模块作为主入口。
  • 旧 Gradio 标签编辑器先保留到边缘位置,作为过渡/兼容入口,后续版本逐步下线。

M1 范围

先覆盖 LoRA 用户最高频链路,不追求 100% 复刻旧编辑器:

  • 扫描数据集目录,识别图片与同名 .txt caption。
  • 图片网格/预览。
  • 单图 caption 读取、编辑、保存。
  • 标签搜索与正/反向过滤。
  • 批量追加、删除、替换、排序 tag。
  • 批量操作只作用于当前过滤/选择范围。
  • 预留“自动打标”区域,但 M1 可以不接入实际打标流程。
  • 文件操作必须限制在数据集目录内,避免误删/误写用户其它文件。

非目标

  • M1 不复刻旧 Gradio 的 BLIP/GIT/DeepDanbooru 等全部 interrogator。
  • M1 不做独立端口或新子服务。
  • M1 不要求重构整个 VuePress 前端构建链,现阶段可接受对 frontend/dist 做小范围补丁。

验收

  • 源码用户 python gui.py 后可在主 WebUI 打开新标签编辑页。
  • 整合包用户运行 <PortableRoot>\run_gui.bat 后同样通过主端口访问。
  • 新页面不依赖 MIKAZUKI_TAGEDITOR_PORT,不需要 /proxy/tageditor
  • 未初始化或缺失旧子模块时,新编辑器仍可用。
  • 旧 Gradio 入口降级为兼容入口,不阻塞主链路。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions