使用说明

项目简介

DiffuGen 是一个基于 Stable Diffusion 的高级图像生成工具,通过 MCP (Model Context Protocol) 接口与现代开发环境无缝集成。它支持多种 Stable Diffusion 模型,包括 Flux Schnell, Flux Dev, SDXL 和 SD3,允许用户通过精确的参数控制生成高质量的 AI 图像。DiffuGen 基于优化的 'stable-diffusion.cpp' 实现,即使在配置一般的硬件上也能提供出色的性能。

主要功能点

  • 多种模型支持: 支持 Flux Schnell, Flux Dev, SDXL, SD3, SD1.5 等多种 Stable Diffusion 模型。
  • MCP 集成: 无缝集成到支持 MCP 的 IDE (如 Cursor, Windsurf, Roo Code, Cline)。
  • 跨平台: 支持 Linux, macOS 和 Windows (通过原生或 WSL)。
  • 参数控制: 可精细调整图像生成参数,包括尺寸、采样步数、CFG scale、种子值、负面提示词和采样方法。
  • CUDA 加速: 利用 GPU 加速图像生成过程。
  • 自然语言界面: 使用简单的自然语言命令生成图像。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/CLOUDWERX-DEV/DiffuGen.git
    cd DiffuGen
  2. 运行安装脚本:

    chmod +x setup_diffugen.sh
    ./setup_diffugen.sh

    按照脚本的交互式提示完成安装。脚本会自动安装依赖、编译 'stable-diffusion.cpp'、设置 Python 虚拟环境、下载模型等。

服务器配置

要将 DiffuGen 配置为 MCP 服务器,您需要在 MCP 客户端(例如 Cursor 或 Windsurf)的设置中添加服务器配置。以下是一个示例配置,请根据您的实际安装路径进行调整:

{
  "mcpServers": {
    "diffugen": {
      "command": "/path/to/DiffuGen/diffugen.sh",  // 修改为 diffugen.sh 脚本的实际路径
      "args": [],
      "env": {
        "DEFAULT_MODEL": "flux-schnell",  // 默认使用的模型,可选择 flux-schnell, flux-dev, sdxl, sd3, sd15
        "CUDA_VISIBLE_DEVICES": "0",      // 指定使用的 CUDA 设备,默认为 0,如果使用 CPU 可以忽略此项
        "SD_CPP_PATH": "/path/to/DiffuGen/stable-diffusion.cpp" // 修改为 stable-diffusion.cpp 目录的实际路径
      },
      "resources": {
        "models_dir": "/path/to/DiffuGen/stable-diffusion.cpp/models", // 模型文件目录
        "output_dir": "/path/to/DiffuGen/outputs", // 生成图像的输出目录
        "vram_usage": "adaptive" // VRAM 使用模式,可选 low, medium, high, adaptive
      },
      "metadata": {
        "name": "DiffuGen",
        "version": "1.0",
        "description": "强大的图像生成系统,支持多种 Stable Diffusion 模型 (flux-schnell, flux-dev, sdxl, sd3, sd15)。DiffuGen 提供优化的性能和跨平台兼容性,以及用于创建高质量 AI 生成图像的高级参数控制。",
        "author": "CLOUDWERX LAB",
        "homepage": "https://github.com/CLOUDWERX-DEV/diffugen",
        "usage": "使用两种主要方法生成图像:\n1. 标准生成: 'generate an image of [描述]',可使用以下参数:\n   - model: 模型选择,可选 flux-schnell (默认), flux-dev, sdxl, sd3, sd15\n   - dimensions: 图像尺寸,宽度和高度 (默认: 512x512)\n   - steps: 扩散步骤数 (默认: 20,数值越小生成速度越快)\n   - cfg_scale: Guidance scale (默认: 7.0, 数值越小自由度越高)\n   - seed: 随机种子,用于复现结果 (-1 为随机)\n   - sampling_method: 采样方法,可选 euler, euler_a (默认), heun, dpm2, dpm++2s_a, dpm++2m, dpm++2mv2, lcm\n   - negative_prompt: 负面提示词,指定图像中避免出现的元素\n2. 快速 Flux 生成: 'generate a flux image of [描述]',使用更少的步骤快速生成图像 (默认: 4 步)"
      },
      "cursorOptions": {
        "autoApprove": true,
        "category": "Image Generation",
        "icon": "🖼️",
        "displayName": "DiffuGen"
      },
      "windsurfOptions": {
        "displayName": "DiffuGen",
        "icon": "🖼️",
        "category": "Creative Tools"
      }
    }
  }
}

注意: 请将上述 JSON 配置中的 '/path/to/DiffuGen' 和 '/path/to/DiffuGen/stable-diffusion.cpp' 替换为您实际的 DiffuGen 安装路径。

基本使用方法

在配置好 MCP 服务器后,您可以在支持 MCP 协议的客户端中,如 Cursor IDE,使用自然语言指令来调用 DiffuGen 的图像生成功能。

示例指令:

  • 'generate an image of a futuristic cityscape at sunset' (生成未来城市日落的图像,使用默认模型 flux-schnell)
  • 'generate an image of a cat in space using sdxl model, 1024x1024 dimensions, 30 steps' (使用 SDXL 模型生成太空猫的图像,尺寸 1024x1024,30 步)
  • 'generate a flux image of a fantasy landscape' (使用 Flux 模型快速生成奇幻风景图像)

您还可以通过指令控制更多参数,例如采样方法、CFG scale、负面提示词等,具体可以参考上面 服务器配置 'metadata.usage' 中的说明。

信息

分类

AI与计算