让 ComfyUI 官方 CLI 在 Windows CMD 里也能 Tab 补全 —— 实测与避坑记录

Windows CMD 也能 Tab 补全 ComfyUI 官方 CLI 了!------ CMD CLI 命令补全实操记录

关键词:ComfyUI、comfy-cli、CMD、Tab 补全、Clink、PowerShell、Windows


一、为什么要装补全

ComfyUI 官方提供的 https://docs.comfy.org/comfy-cli/getting-started 把打包、发布、节点管理等操作集中成一条命令,但默认只在 PowerShell/Bash 支持 Tab 补全

对"重度 CMD 用户"来说,每次手敲 comfy node publish --token xxx 不仅累,还容易打错。

本文记录如何让 Windows CMD 也能弹出子命令/参数提示,并解释为什么官方直接 comfy --install-completion 会失败。


二、背景

官方 https://docs.comfy.org/comfy-cli/getting-started 默认只支持 PowerShell/Bash 的 Tab 补全,Windows CMD 会无情提示:

Shell cmd is not supported.

本文记录一种 "先唤 PowerShell 装补全,再补装 Clink" 的零脚本方案,最终让 原生 CMD 也能弹出子命令/参数提示。


三、核心原理

comfy-cli 的补全依赖 Python 库 https://github.com/click-contrib/click-completion,该库硬编码 只认 powershellbashzshfish 四种 Shell;

对于 cmd.exe 会直截了当地返回 "Shell cmd is not supported."

因此必须借助 Clink(微软收购的 CMD 增强插件)手动注入补全脚本,才能绕过这一限制。


四、实测环境

  • Windows 11 26H1

  • VS 2022 Developer Command Prompt(仍是 cmd.exe 内核)

在 PyCharm 中配置 x64 Native Tools Command Prompt for VS 2022 作为默认终端

  • Clink v1.9.5(事后安装)

概述 |叮当
发行作品 ·chrisant996/clink

  • comfy-cli v1.5.3+

comfy-cli 入门指南 Getting Started - ComfyUI


五、操作步骤(实测环境 Win11 23H2 + VS2022 DevCmd)

步骤 命令 / 操作 说明
1 在 CMD 里临时唤起 PowerShell 用 powershell 安装 comfy-cli 补全功能
2 进入 ComfyUI 目录并激活环境 .venv\Scripts\Activate.ps1
3 生成补全脚本(仅一次) comfy --install-completion
4 退出 PowerShell exit
5 安装 Clink(若未装) winget install clink
6 重新进入 普通 CMDDeveloper CMD 确保提示行出现 Clink v1.x.x
7 测试补全 comfy <TAB>

六、上表中对应的命令(CMD终端中)

复制代码
:: 在当前CMD窗口中唤起 PowerShell
powershell
复制代码
# 进入 ComfyUI 目录并用 PowerShell 命令格式激活环境
.venv\Scripts\Activate.ps1

# 安装生成补全脚本(仅一次)
comfy --install-completion
复制代码
# 退出 PowerShell 退回到 CMD
exit

:: 安装 Clink
winget install clink
复制代码
:: 关闭当前窗口
:: 重新进入 普通 CMD 或 Developer CMD
:: 保提示行出现 Clink v1.x.x
复制代码
::测试补全	
comfy <输入关键词后按 TAB 键>


七、效果验证

复制代码
Clink v1.9.5.ee6b4f
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.12.15
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

(Win_ComfyUI) H:\PythonProjects1\Win_ComfyUI>comfy <TAB>
node        registry    completion  help        version

(Win_ComfyUI) H:\PythonProjects1\Win_ComfyUI>comfy node <TAB>
pack  publish  init  install  update

无需手写 Lua,无需额外配置,Tab 键即刻弹出候选。


    1. %LOCALAPPDATA%\clink 目录新建文件

    comfy_completion.lua

    内容示例如下(已包含常用子命令,后续可按格式自行扩展):

    -- comfy command completion for Clink
    -- Save as %LOCALAPPDATA%\clink\comfy_completion.lua

    local parser = clink.arg.new_parser

    -- 子命令列表
    local node_parser = parser({
    "pack", "publish", "init", "install", "update"
    })

    local registry_parser = parser({
    "list", "search"
    })

    local comfy_parser = parser({
    "node" .. node_parser,
    "registry" .. registry_parser,
    "completion", "help", "version"
    })

    -- 注册到 clink
    clink.arg.register_parser("comfy", comfy_parser)

    1. 保存后重新进入 CMD (或执行 clink reload),输入:

    ::测试补全
    comfy <输入关键词后按 TAB 键>

若弹出候选:

node registry completion help version

说明补全已生效。


九、使用示例

复制代码
C:\> cd  H:\ComfyUI
H:\ComfyUI> .venv\Scripts\activate
(Win_ComfyUI) H:\ComfyUI> comfy node <TAB>
pack  publish  init  install  update
(Win_ComfyUI) H:\ComfyUI> comfy node publish --token <TAB>
# 此处会继续补全文件名或环境变量,取决于 Clink 版本


十、原理浅析回顾

  1. PowerShell 阶段
    comfy --install-completion 实际上会把补全逻辑写入 click 的通用描述文件_comfy.py),而非特定 Shell 脚本。

  2. Clink 阶段

    Clink 会扫描并自动加载 click 生成的补全描述,因此事后安装 Clink 也能立即生效;CMD 本身只需负责注入与触发。


十一、常见问题速查

现象 解决
仍提示 Shell cmd is not supported. 说明还没装 Clink 或当前窗口未注入,重装/重开即可
补全无任何反应 确认新窗口有 Clink v1.x.x 字样;若无,执行 clink.bat inject
VS Dev Prompt 无效 关闭重开,或手动 clink.bat inject 一次


十二、一句话总结

"先 PowerShell 装补全,再补 Clink" → 事后无需任何 Lua 脚本,原生 CMD 也能享受与 PowerShell 同级别的 Tab 补全

装完一时爽,一直 Tab 一直爽!🎉


引用链接

1\] Clink 官网 [https://chrisant996.github.io/clink/](https://chrisant996.github.io/clink/ "https://chrisant996.github.io/clink/") \[2\] comfy-cli 官方文档 [https://docs.comfy.org/comfy-cli/getting-started](https://docs.comfy.org/comfy-cli/getting-started "https://docs.comfy.org/comfy-cli/getting-started") \[3\] click-completion 源码(查看支持 Shell 列表) [https://github.com/click-contrib/click-completion](https://github.com/click-contrib/click-completion "https://github.com/click-contrib/click-completion")

相关推荐
PHOSKEY2 小时前
秒测0.1mm误差?光子精密QM系列闪测仪拯救电脑接口部件组装良率
人工智能·机器学习
Elastic 中国社区官方博客2 小时前
使用 Elasticsearch 的 Profile API 对比 dense vector 搜索性能
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Rabi'2 小时前
Windows系统 Qt 整合 OpenCV4.12.0
开发语言·windows·qt·opencv
jay神2 小时前
神经网络的调参顺序
人工智能·深度学习·神经网络·科研·模型调参
友莘居士2 小时前
Windows下Node.js 执行Web3.js 的智能合约环境搭建
windows·node.js·web3
CodeCraft Studio2 小时前
国产化PDF处理控件Spire.PDF教程:在Java快速解析PDF文本、表格、图像和元数据
java·python·pdf·pdf解析·spire.pdf·元数据解析·java pdf解析
棒棒的皮皮2 小时前
【OpenCV】Python图像处理之形态学梯度运算
图像处理·python·opencv·计算机视觉
znhy_232 小时前
day43打卡
python
IE062 小时前
深度学习系列85:sqlite-ai系列
人工智能·深度学习·sqlite