项目简介

sd_chat 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它作为一个 MCP 服务器,旨在通过自然语言聊天的方式,让用户能够方便地使用 Stable Diffusion 进行图像生成,并管理和安装来自 Civitai 社区的模型资源。

主要功能点

  • 文生图 (txt2img) 生成: 通过自然语言指令,调用 Stable Diffusion 模型生成图像。支持选择不同的 Checkpoint 和 Lora 模型,调整生成参数。
  • Civitai 模型管理: 集成 Civitai API,允许用户通过聊天指令搜索、查看和安装 Civitai 上的 Checkpoint 和 Lora 模型。
  • 模型资源管理: 支持列出已安装的 Checkpoint 和 Lora 模型,方便用户了解当前可用的模型资源。
  • 默认模型安装: 提供快速安装预设的常用 Checkpoint 模型的功能。
  • 灵活的API选择: 支持 Diffusers 和 sdwebuiapi 两种 Stable Diffusion API 后端。
  • 用户友好的配置界面: 提供 Gradio UI 界面,方便用户配置服务器设置,包括 API 选择、API 密钥、模型路径等。

安装步骤

  1. 安装 uv: 根据 uv 安装指南 安装 uv 包管理器。
  2. 克隆仓库: 使用 'git clone https://github.com/NON906/sd_chat' 命令克隆仓库到本地。
  3. 进入仓库目录: 使用 'cd sd_chat' 命令进入克隆下来的仓库目录。
  4. 安装依赖: 运行 'uv sync --all-extras' 命令安装项目依赖。
  5. 启动配置界面: 运行 'uv run sd-chat-ui' 命令打开配置用户界面。
  6. 配置 API 和 Civitai 密钥: 在配置界面中,填写 "Image Generation API" 和 "Civitai API Key" 等必要信息,并点击 "Save" 按钮。
  7. 复制 MCP Server Template: 保存配置后,界面会显示 "MCP Server Template" 的 JSON 代码模板。复制这段 JSON 代码。
  8. 配置 MCP 客户端: 将复制的 JSON 代码添加到你的 MCP 客户端的配置文件中。例如,对于 Claude Desktop App (Windows 版本),需要将代码添加到 'C:\Users\xxx\AppData\Roaming\Claude\claude_desktop_config.json' 文件中。

服务器配置

以下是 MCP 客户端需要配置的服务器启动信息 JSON 模板。请根据你的操作系统和实际路径进行调整:

通用配置 (例如 Linux/macOS):

{
  "mcpServers": {
    "sd_chat": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/sd_chat",  // 替换为 sd_chat 仓库的实际路径
        "run",
        "run.py",
        "-f",
        "/path/to/settings.json" // 替换为 settings.json 文件的实际路径
      ]
    }
  }
}

Windows 配置:

{
  "mcpServers": {
    "sd_chat": {
      "command": "cmd",
      "args": [
        "/c",
        "/path/to/sd_chat\\.venv\\Scripts\\activate", // 替换为 .venv\\Scripts\\activate 的实际路径
        "&&",
        "python",
        "/path/to/sd_chat\\run.py", // 替换为 run.py 的实际路径
        "-f",
        "/path/to/settings.json" // 替换为 settings.json 文件的实际路径
      ]
    }
  }
}

参数说明:

  • 'server name': 服务器名称,这里是 "sd_chat"。
  • 'command': 启动服务器的命令,例如 "uv" 或 "cmd"。
  • 'args': 命令参数列表:
    • '--directory /path/to/sd_chat': 指定 sd_chat 仓库的根目录 (仅 uv 命令需要)。
    • 'run': uv 命令的子命令,用于运行项目脚本。
    • 'run.py': 服务器主程序脚本。
    • '-f /path/to/settings.json': 指定配置文件路径。

注意:

  • 请将 '/path/to/sd_chat' 和 '/path/to/settings.json' 替换为你的实际文件路径。
  • Windows 路径需要使用双反斜杠 '\' 或单斜杠 '/'。
  • 建议在配置前先运行一次 'uv run sd-chat-ui' 并保存设置,生成 'settings.json' 文件。

基本使用方法

配置完成后,在支持 MCP 协议的客户端(如 Claude Desktop App, MCP-Bridge, mcp-cli)中连接到 sd_chat 服务器。

你可以通过自然语言指令与 LLM 对话,指示 sd_chat 服务器执行以下操作:

  • 查询 Lora 模型: 例如 "Do you have a Lora for xxx?"
  • 安装 Lora 模型: 例如 "Please install the Lora for xxx."
  • 生成图像: 例如 "Generate an image of a girl using xxx(model name)."

更多使用示例请参考仓库 README.md 文件。

信息

分类

AI与计算