61 lines
2.0 KiB
Python
61 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
"""Get detailed node info from ComfyUI on BC-250."""
|
|
import paramiko
|
|
|
|
ssh = paramiko.SSHClient()
|
|
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
ssh.connect('192.168.178.150', username='fabian', key_filename=r'C:\Users\fabia\.ssh\id_ed25519')
|
|
|
|
# Create a Python script on the remote to query node info
|
|
query_script = '''#!/usr/bin/env python3
|
|
import json, urllib.request
|
|
|
|
data = json.loads(urllib.request.urlopen("http://localhost:8188/object_info").read())
|
|
|
|
# Find all Z-Image and GGUF related nodes
|
|
targets = [k for k in data if any(t in k.lower() for t in ["zi_", "zimage", "z_image", "gguf", "zi ", "zsampler", "emptyz", "textencodez"])]
|
|
|
|
# Also check for standard nodes we need
|
|
standard = ["UNETLoader", "VAELoader", "VAEDecode", "SaveImage", "EmptyLatentImage", "CLIPTextEncode", "KSampler"]
|
|
for s in standard:
|
|
if s in data and s not in targets:
|
|
targets.append(s)
|
|
|
|
for name in sorted(targets):
|
|
info = data[name]
|
|
print(f"\\n=== {name} ===")
|
|
inp = info.get("input", {}).get("required", {})
|
|
if inp:
|
|
print(" Required:")
|
|
for k, v in inp.items():
|
|
print(f" {k}: {v}")
|
|
opt = info.get("input", {}).get("optional", {})
|
|
if opt:
|
|
print(" Optional:")
|
|
for k, v in opt.items():
|
|
print(f" {k}: {v}")
|
|
out = info.get("output", [])
|
|
out_names = info.get("output_name", [])
|
|
print(f" Outputs: {list(zip(out, out_names)) if out_names else out}")
|
|
|
|
# Also list ALL nodes with "empty" and "latent" in the name
|
|
print("\\n\\n=== Nodes with 'empty' or 'z' in name ===")
|
|
for k in sorted(data.keys()):
|
|
if "empty" in k.lower() or ("z" in k.lower() and "image" in k.lower()):
|
|
print(f" {k}")
|
|
'''
|
|
|
|
sftp = ssh.open_sftp()
|
|
with sftp.open('/tmp/query_nodes.py', 'w') as f:
|
|
f.write(query_script)
|
|
sftp.close()
|
|
|
|
_, stdout, stderr = ssh.exec_command("python3 /tmp/query_nodes.py", timeout=30)
|
|
out = stdout.read().decode()
|
|
err = stderr.read().decode()
|
|
print(out)
|
|
if err.strip():
|
|
print(f"STDERR: {err.strip()}")
|
|
|
|
ssh.close()
|