🐟RH LLM智能对话@炮老师的小课堂
A frontier LLM inside ComfyUI that costs you zero VRAM — just a RunningHub key
- 🖼️ 图像1
- 🖼️ 图像2
- 🖼️ 图像3
- 🖼️ 图像4
- 🖼️ 图像5
- 🖼️ 图像6
- 🖼️ 图像7
- 🖼️ 图像8
- 🎬 视频
- 💭 AI回复
- 📄 完整响应
- ℹ️ 处理信息
This is the node you want when your workflow needs a real LLM - not a local 8B, a frontier model - and you'd rather not babysit an Ollama server next to your diffusion graph. DapaoRHLLMChatNode (listed as "🐟RH LLM智能对话@炮老师的小课堂") is a chat-completions client pointed at RunningHub's hosted LLM API. You paste a key, pick a model, and the reply lands in the graph as a string. No weights, no VRAM, no downloads. The whole pack is like this, but this is the cleanest example of the pattern.
A quick reality check first, because it matters: this node is not doing anything locally. Under the hood it POSTs to https://llm.runninghub.cn/v1/chat/completions (or the .ai international endpoint, depending on channel) - RunningHub is a Chinese GPU-cloud platform that exposes OpenAI-compatible APIs. Your prompt and any images leave the machine and get processed on someone else's card. That's the tradeoff you're signing up for, same as any API-wrapper node: frontier quality on tap, per-call cost, and no content filter you can patch around.
What you actually set
The info_schema is laid out like a polite little settings page:
- 🌐 API渠道 - 国内版 (domestic) vs 国外版 (international). Different endpoints, different keys, and per the tooltip they're not interchangeable. Pick the one matching the key you pasted.
- 🔑 API密钥 - your RunningHub API key, entered per request. The tooltip is explicit that it's never written to a file.
- 🤖 模型ID - 72 options on load (glm, qwen, deepseek, doubao, gemini…). If fetching the live list fails it falls back to a built-in list, so you're never stuck with an empty dropdown.
- 💬 用户输入 and 🎯 系统角色 - the two text boxes that do the actual work.
- 🧠 推理强度 - maps to RunningHub's
reasoning_effort(none/low/medium/high). For ordinary chat the tooltip's advice is right: keep it atnone. You don't need a reasoning model to rewrite a prompt.
Optional inputs are where it gets fun: up to 8 images, a VIDEO, plus ➕ 额外参数JSON to override anything with raw request fields, and 🚫 出错时跳过 which turns an API error into text output instead of killing the workflow - genuinely handy for batch runs.
Outputs
Three strings: 💬 AI回复 (the answer, wire it into whatever needs text), 📄 完整响应 (the raw response for debugging), and ℹ️ 处理信息 (which channel/model was used, timing, that sort of thing). Outputs are plain STRING, so any text node can consume them.
Installing it
Same story as the rest of the pack. ComfyUI Manager → search dapaoAPI → install → restart, or manually:
cd ComfyUI/custom_nodes/
git clone https://github.com/paolaoshi/ComfyUI-dapaoAPI.git
cd ComfyUI-dapaoAPI
pip install -r requirements.txt
Then restart ComfyUI. No model files anywhere - requirements.txt is just requests, Pillow, torch, numpy plus aiohttp/scipy for the async nodes. The "install" is really "get an API key": register at RunningHub, buy a membership, and mint a key from the API section.
Where people get burned
The channel/key mismatch is the #1 failure - domestic key on the international channel (or vice versa) fails instantly, and the tooltip says so because it's the most common mistake. Beyond that: pay attention to cost, because each chat call is metered and reasoning models burn tokens fast, and remember your prompt text is being processed by a Chinese cloud provider - fine for most, but worth knowing before you feed it anything sensitive. If a call stalls, nudge ⏱️ 超时时间 up from the 180s default. And note the entire UI is in Chinese; the author ships a bilingual option for the newer nodes but this one is Chinese-first. It's a small hurdle, and the node works exactly the same once you know where 模型ID and 用户输入 live.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| 🌐 API渠道 | COMBO | 国内版 | 国内版与国外版使用不同的 API 地址和 API 密钥,请选择与密钥一致的渠道。 |
| 🔑 API密钥 | STRING | 仅用于本次请求,不会写入文件。国内版和国外版密钥不通用。 | |
| 🤖 模型ID | COMBO | google/gemini-3.1-flash-lite-preview | 启动节点时会合并 RH 国内版、国外版模型列表;如果获取失败,会使用完整内置备用列表。模型实际可用性以当前 API渠道为准。 |
| 🎯 系统角色 | STRING | 你是一个专业、友好、乐于助人的 AI 助手,能够结合用户提供的文字与图像进行准确分析和回答。 | — |
| 💬 用户输入 | STRING | 你好,请帮我分析这段内容。 | — |
| 🌡️ 温度 | FLOAT | 1.000–2 | 数值越高,回答越发散;数值越低,回答越稳定。 |
| 📝 最大输出令牌 | INT | 20481–65536 | — |
| 🎲 Top_P | FLOAT | 1.000–1 | — |
| 🧠 推理强度 | COMBO | none | 与 RH LLM reasoning_effort 参数对应,普通对话建议 none。 |
| 🎲 随机种 | INT | 00–18446744073709550000 | 只用于 ComfyUI 判断是否重新执行;不会发送给 RunningHub。 |
| ⏱️ 超时时间 | INT | 18030–1200 | — |
| 🖼️ 图像1opt | IMAGE | — | |
| 🖼️ 图像2opt | IMAGE | — | |
| 🖼️ 图像3opt | IMAGE | — | |
| 🖼️ 图像4opt | IMAGE | — | |
| 🖼️ 图像5opt | IMAGE | — | |
| 🖼️ 图像6opt | IMAGE | — | |
| 🖼️ 图像7opt | IMAGE | — | |
| 🖼️ 图像8opt | IMAGE | — | |
| 🎬 视频opt | VIDEO | — | |
| ➕ 额外参数JSONopt | STRING | {} | JSON对象,会合并到 RH 请求体;同名字段会覆盖节点控件生成的参数。 |
| 🚫 出错时跳过opt | BOOLEAN | false | 开启后接口报错不会中断工作流,而是把错误信息作为文本输出。 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| 💭 AI回复 | STRING | — |
| 📄 完整响应 | STRING | — |
| ℹ️ 处理信息 | STRING | — |