ComfyUI Extension: LM Studio Tools for ComfyUI

Authored by Hazukiaoi

Created

Updated

21 stars

Run ComfyUI workflows without the setup

No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

This is a custom node pack designed for ComfyUI that seamlessly integrates the powerful LM Studio into your workflow, enabling you to perform a variety of tasks such as text generation and image understanding (Vision) using locally run LLMs.

Looking for a different extension?

Custom Nodes (0)

    README

    LM Studio Tools for ComfyUI

    这是一个为 ComfyUI 设计的自定义节点包,它将强大的 LM Studio 无缝集成到你的工作流中,让你能够利用本地运行的大语言模型(LLM)进行文本生成、图像理解(Vision)等多种任务。

    预览:

    ✨ 功能特性

    • 本地 LLM 集成: 直接在 ComfyUI 中调用 LM Studio 部署的任何模型。
    • 文本与多模态支持: 支持纯文本对话和“文本+图片”的多模态输入。
    • 完整的对话流控制: 通过链接 Message 对象,可以构建包含系统提示、多轮用户/助手对话的完整上下文。
    • 参数化请求: 精确控制 temperature, top_p, seed 等关键生成参数。
    • 模型管理: 包含一个节点,可以通过调用 LM Studio 的命令行工具来卸载模型,释放显存。
    • 易于使用: 节点设计直观,通过 emoji 图标清晰区分功能,符合 ComfyUI 的使用习惯。

    📋 先决条件

    在安装此插件之前,请确保你已经准备好以下环境:

    1. ComfyUI: 你的系统中已成功安装并能正常运行 ComfyUI。
    2. LM Studio: 你已经下载并安装了 LM Studio 桌面应用。
    3. LM Studio CLI (lms): (非常重要) 为了使用 🗑️ Unload All Models 节点,你必须安装 LM Studio 的命令行工具 (lms) 并将其添加到系统的环境变量 PATH 中。
      • 在 LM Studio 应用中,点击底部状态栏的 </> 图标,或直接运行以下命令来安装 CLI:
      • macOS / Linux:
        ~/.lmstudio/bin/lms bootstrap
        
      • Windows (在 CMD 或 PowerShell 中运行):
        %USERPROFILE%\.lmstudio\bin\lms.exe bootstrap
        
      • 安装后,关闭并重新打开你的终端,输入 lms -v,如果能看到版本号,则表示安装成功。

    手动安装:

    1. 下载本仓库的 ZIP 压缩包。
    2. 解压后,将文件夹重命名为 LM_Studio_Tools
    3. 将整个 LM_Studio_Tools 文件夹放入 ComfyUI 的 custom_nodes 目录下。
    4. 重启 ComfyUI

    🧩 节点说明

    ⚙️ API Config

    设置与 LM Studio 本地服务器通信所需的配置。

    • 输出:
      • API_CONFIG: 包含 API 地址和密钥的配置对象。

    🏷️ Select Model

    指定你希望在请求中使用的模型。

    • 如何获取模型标识符?
      1. 在 LM Studio 中加载一个模型。
      2. 切换到 "Local Server" 标签页。
      3. 在页面顶部,你会看到 "Select a model to load",下方即是模型的标识符。复制它。 (这是一个示例图,你可以用自己的截图替换)
    • 输入:
      • model_identifier: 从 LM Studio 复制的模型标识符字符串。
    • 输出:
      • model: 传递给请求节点的模型标识符字符串。

    🧠 System Prompt

    创建对话的初始系统消息,用于设定 AI 的角色和行为。

    • 输入:
      • system_prompt: 多行文本,定义系统提示。
    • 输出:
      • MESSAGE: 包含单条系统消息的 Message 对象。

    👤 User Prompt

    向对话中添加一条用户消息,可以选择性地附带一张图片。

    • 输入:
      • user_prompt: 多行文本,用户的提问。
      • message_in (可选): 从上一个节点传入的 Message 对象。
      • image (可选): 从 Load Image 等节点传入的图像。支持通过合并批次节点输入多张图片的batch
    • 输出:
      • MESSAGE: 追加了新用户消息后的 Message 对象。

    📡 LMStudio Request

    将构建好的对话上下文发送到 LM Studio API,并获取模型的回复。

    • 输入:
      • api_config: 来自 ⚙️ API Config 节点的配置。
      • model: 来自 🏷️ Select Model 节点的模型标识符。
      • message: 包含完整对话上下文的 Message 对象。
      • seed: 随机种子,-1 表示随机。用于复现结果。
      • context_length, temperature, top_p: 控制模型生成的标准参数。
      • 上一步 (可选): 任意类型的输入,仅用于确保工作流的执行顺序。
    • 输出:
      • message_out: 追加了模型回复后的完整 Message 对象。
      • output_text: 本次请求中模型生成的纯文本回复。

    🗑️ Unload All Models

    执行 lms unload --all 命令,要求 LM Studio 卸载所有当前加载的模型以释放显存。

    • 注意: 此节点需要 lms CLI 已正确安装并配置在系统 PATH 中。
    • 输入:
      • message_in / string_in (可选): 用于连接工作流,内容会被直接传递。
    • 输出:
      • message_out / string_out: 直接将输入透传到输出。

    📌 Get Assistant Message

    从对话历史中提取指定索引的助手(模型)回复。

    • 输入:
      • message: 包含对话历史的 Message 对象。
      • index: 整数索引。-1 代表最后一条助手回复,0 代表第一条,以此类推。
    • 输出:
      • text: 提取出的纯文本回复。

    💡 示例工作流

    1. 基础文本对话

    这是一个最简单的工作流,用于和模型进行单轮对话。

    ⚙️ API Config -> 🏷️ Select Model
    🧠 System Prompt -> 👤 User Prompt -> 📡 LMStudio Request

    • Select Modelmodel 输出连接到 LMStudio Requestmodel 输入。
    • API ConfigAPI_CONFIG 输出连接到 LMStudio Requestapi_config 输入。
    • 最终 LMStudio Requestoutput_text 就是模型的回复。

    2. 多模态(视觉)对话

    向模型提问关于一张图片的问题。

    Load Image -> 👤 User Promptimage 输入。 其他连接方式与基础文本对话相同。

    3. 多轮对话与模型卸载

    你可以将一个 LMStudio Requestmessage_out 输出连接到下一个 User Promptmessage_in 输入,从而实现多轮对话。在工作流的最后,可以添加一个 Unload All Models 节点来清理资源。

    ... -> 📡 LMStudio Request -> 🗑️ Unload All Models

    📜 许可证

    本项目采用 MIT License 开源。


    Run ComfyUI workflows without the setup

    No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

    Learn more