一、废话不说,直接开始
废话:请注意,这个插件不是万能的,有一些模型无法下载,大概能下载 70% 左右的模型
1.github下载插件
https://github.com/tzwm/sd-webui-model-downloader-cn/tree/main
这个步骤不用我多说了吧…
如果会用 git 的话,直接到 extension 目录下:
输入cmd,回车,打开cmd,
运行 git 命令
git clone --depth 1 https://github.com/tzwm/sd-webui-model-downloader-cn.git
2.下载之后的插件在这里
对比一下大小吧,别下载失败了
二、改源码
1.为什么改源码?
经过我的测试,这个源码一进行预览,就会报错,爆得满屏都是 error
我不确定这是否是源码本身的问题,有可能是我本地网络环境的问题
TIPS:到这个步骤的时候,你可以尝试一下,按照 github 上开发者的方法,能不能正常预览和下载 civitai 上面的模型
如果不行的话,就照我下面说的做吧
2.改!
2.1
进入 sd-webui-model-downloader-cn\scripts 目录
2.2
用 IDE 打开这个 model-downloader-cn.py 文件
2.3
把这整个文件直接全部删除,把我下面的代码黏贴进去 (别忘了把末尾的 CSDN 的文字水印去掉…)
import modules.scripts as scripts
from modules.paths_internal import models_path, data_path
from modules import script_callbacks, shared
from PIL import Image
import numpy as np
import gradio as gr
import requests
import os
import re
import subprocess
import threading
API_URL = "https://api.tzone03.xyz/"
ONLINE_DOCS_URL = API_URL + "docs/"
RESULT_PATH = "tmp/model-downloader-cn.log"
VERSION = "v1.1.4"
def check_aria2c():
try:
subprocess.run("aria2c", stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
return True
except FileNotFoundError:
return False
def process_image(url):
response = requests.get(url, stream=True)
image = Image.open(response.raw)
return image
def get_model_path(model_type):
co = shared.cmd_opts
pj = os.path.join
MODEL_TYPE_DIR = {
"Checkpoint": ["ckpt_dir", pj(models_path, 'Stable-diffusion')],
"LORA": ["lora_dir", pj(models_path, 'Lora')],
"TextualInversion": ["embeddings_dir", pj(data_path, 'embeddings')],
"Hypernetwork": ["hypernetwork_dir", pj(models_path, 'hypernetworks')],
# "AestheticGradient": "",
# "Controlnet": "", #controlnet-dir
"LoCon": ["lyco_dir", pj(models_path, 'LyCORIS')],
"VAE": ["vae_dir", pj(models_path, 'VAE')],
}
dir_list = MODEL_TYPE_DIR.get(model_type)
if dir_list == None:
r