127Wzc/ImgTag

基于 AI 视觉模型的图片标签系统

Python

10

103 commits

updated Oct 13, 2026

See the code

README

ImgTag

ImgTag

基于 AI 视觉模型的图片标签自动生成与向量搜索系统

License Python Vue

English | 中文

✨ 功能特性

  • 🤖 AI 智能标签 - 支持 OpenAI、Gemini 等视觉模型(OpenAI 标准 API 端点)
  • 🔍 语义向量搜索 - 基于文本描述的相似图片检索
  • 💾 多端点存储 - 本地 + S3 兼容端点,支持自动备份同步
  • 📁 收藏夹管理 - 层级收藏夹,自动追加标签
  • 🏷️ 标签系统 - 来源追踪(AI/用户)、使用统计
  • 👥 用户认证 - JWT 认证、角色权限、管理员可禁用账号
  • 📝 修改建议与审批 - 非上传者可提交元信息修改建议,管理员审批后落地(并触发向量重建)
  • 🧠 主体记忆与纠正 - 维护人物、地标、动物等主体词典;人工确认可持续约束后续分析,避免反复误识别
  • ⚡ 批量操作 - 批量上传、删除、打标签、AI 分析

默认管理员:admin / admin123

📚 文档


🧠 主体记忆与纠正

当图片中的人物、地标或动物等主体被误识别时,可在图片详情中纠正主体;纠正结果会关联既有标签体系,并在后续重新分析时作为提示词约束持续生效。

  • 主体词典:管理员可维护主体的分类、主名称标签、别名和启用状态;删除被主体引用的标签会被保护拦截。
  • 纠正与审批:图片上传者和管理员可直接设置主主体;其他有建议权限的用户可提交主体纠正建议,由管理员审批后生效。
  • 标签与向量同步:确认主体后自动挂接对应主名称标签,并触发向量重建;可选强制重新分析以更新历史描述与标签。
  • 人工优先:手动设置及审批结果不会被自动匹配覆盖。
  • 当前识别状态:V1 已提供完整数据与纠正链路;默认匹配器为 stub,不会自动命中或改变现有分析结果。接入真实识别器后可通过配置平滑启用。

📸 系统预览(点击展开)

🏠 仪表盘

仪表盘

数据概览、待分析队列、标签热度排行

🖼️ 我的图库

我的图库

分类筛选、内联标签编辑、批量操作

🔍 图片详情

图片详情

AI 描述、标签来源、元信息

✨ 图片探索

图片探索

语义搜索、向量相似度检索

📤 上传功能

上传

拖拽上传、ZIP 导入、URL 抓取

🏷️ 标签管理

标签管理

三级标签体系、来源追踪、自定义提示词

💾 存储端点

存储端点

多端点配置、S3 兼容、自动备份

⚙️ 系统设置

系统设置

AI 模型配置、嵌入模型、系统参数


🐳 快速部署

前提条件:PostgreSQL 数据库(启用 pgvector 扩展)

# 下载配置文件
curl -O https://raw.githubusercontent.com/127Wzc/ImgTag/main/docker/docker-compose.yml

# 编辑 docker-compose.yml,填入数据库连接
# 启动服务
docker-compose up -d

访问:http://localhost:5173

镜像版本

标签说明端口
latest全栈精简版(推荐)5173
latest-local全栈 + 本地嵌入模型5173
latest-backend纯后端 API8000

环境变量

变量说明
PG_CONNECTION_STRINGPostgreSQL 连接字符串(必填)

🚀 本地开发

# 后端(默认使用在线 API,无需额外依赖)
cp .env.example .env && vim .env  # 配置数据库
uv sync
uv run python -m uvicorn imgtag.main:app --reload --port 8000

# 如需本地嵌入模型,安装可选依赖
uv sync --extra local

# 前端
cd web && pnpm install && pnpm dev

访问:http://localhost:5173


📋 配置说明

通过 Web 界面「系统设置」管理:

模块配置项
视觉模型API 地址、密钥、模型名称
嵌入模型本地模型 / 在线 API
存储端点多端点管理、S3 兼容、自动备份
主体记忆启用状态、匹配阈值、候选数与匹配器后端(默认 stub)

🔌 开发者接入

接口说明
🤖 AI 集成 API第三方接入,支持 REST / MCP / OpenAI Tools
📖 Swagger 文档后端全量接口参考

📊 分析统计

支持 Umami / Google Analytics 等多平台分析,详见 前端配置说明。


🚀 前后端分离部署

如需将前端托管到 CDN(Vercel / Cloudflare Pages):

  1. 使用 latest-backend 镜像部署后端(端口 8000)
  2. 参考 前端部署指南 构建前端

更多技术细节请参阅 系统架构


📄 License

MIT

127Wzc/ImgTag

基于 AI 视觉模型的图片标签系统

Python

10

103 commits

updated Oct 13, 2026

See the code

README

ImgTag

ImgTag

基于 AI 视觉模型的图片标签自动生成与向量搜索系统

License Python Vue

English | 中文

✨ 功能特性

  • 🤖 AI 智能标签 - 支持 OpenAI、Gemini 等视觉模型(OpenAI 标准 API 端点)
  • 🔍 语义向量搜索 - 基于文本描述的相似图片检索
  • 💾 多端点存储 - 本地 + S3 兼容端点,支持自动备份同步
  • 📁 收藏夹管理 - 层级收藏夹,自动追加标签
  • 🏷️ 标签系统 - 来源追踪(AI/用户)、使用统计
  • 👥 用户认证 - JWT 认证、角色权限、管理员可禁用账号
  • 📝 修改建议与审批 - 非上传者可提交元信息修改建议,管理员审批后落地(并触发向量重建)
  • 🧠 主体记忆与纠正 - 维护人物、地标、动物等主体词典;人工确认可持续约束后续分析,避免反复误识别
  • ⚡ 批量操作 - 批量上传、删除、打标签、AI 分析

默认管理员:admin / admin123

📚 文档


🧠 主体记忆与纠正

当图片中的人物、地标或动物等主体被误识别时,可在图片详情中纠正主体;纠正结果会关联既有标签体系,并在后续重新分析时作为提示词约束持续生效。

  • 主体词典:管理员可维护主体的分类、主名称标签、别名和启用状态;删除被主体引用的标签会被保护拦截。
  • 纠正与审批:图片上传者和管理员可直接设置主主体;其他有建议权限的用户可提交主体纠正建议,由管理员审批后生效。
  • 标签与向量同步:确认主体后自动挂接对应主名称标签,并触发向量重建;可选强制重新分析以更新历史描述与标签。
  • 人工优先:手动设置及审批结果不会被自动匹配覆盖。
  • 当前识别状态:V1 已提供完整数据与纠正链路;默认匹配器为 stub,不会自动命中或改变现有分析结果。接入真实识别器后可通过配置平滑启用。

📸 系统预览(点击展开)

🏠 仪表盘

仪表盘

数据概览、待分析队列、标签热度排行

🖼️ 我的图库

我的图库

分类筛选、内联标签编辑、批量操作

🔍 图片详情

图片详情

AI 描述、标签来源、元信息

✨ 图片探索

图片探索

语义搜索、向量相似度检索

📤 上传功能

上传

拖拽上传、ZIP 导入、URL 抓取

🏷️ 标签管理

标签管理

三级标签体系、来源追踪、自定义提示词

💾 存储端点

存储端点

多端点配置、S3 兼容、自动备份

⚙️ 系统设置

系统设置

AI 模型配置、嵌入模型、系统参数


🐳 快速部署

前提条件:PostgreSQL 数据库(启用 pgvector 扩展)

# 下载配置文件
curl -O https://raw.githubusercontent.com/127Wzc/ImgTag/main/docker/docker-compose.yml

# 编辑 docker-compose.yml,填入数据库连接
# 启动服务
docker-compose up -d

访问:http://localhost:5173

镜像版本

标签说明端口
latest全栈精简版(推荐)5173
latest-local全栈 + 本地嵌入模型5173
latest-backend纯后端 API8000

环境变量

变量说明
PG_CONNECTION_STRINGPostgreSQL 连接字符串(必填)

🚀 本地开发

# 后端(默认使用在线 API,无需额外依赖)
cp .env.example .env && vim .env  # 配置数据库
uv sync
uv run python -m uvicorn imgtag.main:app --reload --port 8000

# 如需本地嵌入模型,安装可选依赖
uv sync --extra local

# 前端
cd web && pnpm install && pnpm dev

访问:http://localhost:5173


📋 配置说明

通过 Web 界面「系统设置」管理:

模块配置项
视觉模型API 地址、密钥、模型名称
嵌入模型本地模型 / 在线 API
存储端点多端点管理、S3 兼容、自动备份
主体记忆启用状态、匹配阈值、候选数与匹配器后端(默认 stub)

🔌 开发者接入

接口说明
🤖 AI 集成 API第三方接入,支持 REST / MCP / OpenAI Tools
📖 Swagger 文档后端全量接口参考

📊 分析统计

支持 Umami / Google Analytics 等多平台分析,详见 前端配置说明。


🚀 前后端分离部署

如需将前端托管到 CDN(Vercel / Cloudflare Pages):

  1. 使用 latest-backend 镜像部署后端(端口 8000)
  2. 参考 前端部署指南 构建前端

更多技术细节请参阅 系统架构


📄 License

MIT