why
- 代理速度慢
- hf mirror个别时候也慢,请求太多会被限制
特点
- 借助modelscope同步大模型
脚本
保存为 comfyui_download.sh
llm_download() {
local url
local repo
local include
local dry_run=${dry_run}
[ -n "$*" ] && eval "$@" || local -p
[ -n "$url" ] && {
read repo1 repo2 file <<<$(echo $url | awk -F/ '{print $4,$5, $NF}')
repo="$repo1/$repo2"
include="$file"
}
for name in "*/$include" "$include"; do
$dry_run uvx modelscope download $repo --include "$name" || {
$dry_run uvx --from huggingface hf download $repo --include "$name"
}
done
}
comfyui_workflow_download() {
local workflow
local comfyui_home
local dry_run=${dry_run}
local help="comfyui_workflow_download workflow=/Users/hogwarts/Documents/ComfyUI/user/default/workflows/video_wan2_2_14B_t2v.json comfyui_home=~/project/ComfyUI "
[ -n "$*" ] && eval "$@" || {
local -p
return
}
cat "$workflow" |
jq -c '..|.models? //empty | .[]' | sort | uniq |
while read model; do
local name=$(echo "$model" | jq -r .name)
local url=$(echo "$model" | jq -r .url)
local directory=$(echo "$model" | jq -r .directory)
local link_file="$comfyui_home/models/$directory/$name"
[ -f "$link_file" ] && continue
llm_download url="$url"
local model_file=$(find ~/.cache/huggingface ~/.cache/modelscope/ -name "$name" | head -1)
echo model_file=$model_file
$dry_run ln -s "$model_file" "$link_file"
done
}
comfyui_workflow_download_all() {
local comfyui_home
[ -n "$*" ] && eval "$@" || {
local -p
return
}
find $comfyui_home/user/*/workflows -type f | while read workflow; do
comfyui_workflow_download workflow="$workflow" comfyui_home="$comfyui_home"
done
}
使用方法
source comfyui_download.sh
comfyui_workflow_download_all comfyui_home=<你的comfyui目录>
comfyui_workflow_download_all comfyui_home=~/project/ComfyUI