-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathaitools.sh
176 lines (152 loc) · 4.65 KB
/
aitools.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#!/bin/bash
#
# 文件名: aitools.sh
# 描述: AI For U 主程序,用于管理各种 AI 工具的安装和配置 【cloudstudio平台】
# 作者: ai来事
# 创建日期: 2024-11-28
# 用法:
# bash aitools.sh
# 导入初始化脚本
source "./utils/init.sh"
# 初始化环境
init_script
# 清屏函数
clear_screen() {
clear
}
# 显示标题
show_title() {
echo -e "${CYAN}"
echo ' _ ___ _____ ___ ____ _ _ '
echo ' / \ |_ _| | ___/ _ \| _ \ | | | |'
echo ' / _ \ | | | |_ | | | | |_) | | | | |'
echo ' / ___ \ | | | _|| |_| | _ < | |_| |'
echo '/_/ \_\___| |_| \___/|_| \_\ \___/ '
echo -e "${NC}"
echo -e "${PURPLE}================================================${NC}"
echo -e "${BLUE} AI For U | 人人皆可AI${NC}"
echo -e "${PURPLE}================================================${NC}"
}
# 显示菜单
show_menu() {
echo -e "\n${GREEN}请选择要安装的 AI 工具:${NC}"
echo "----------------------------------------"
echo "1) ComfyUI - AI 绘画工作流神器"
echo "2) Chat TTS - AI 语音合成工具"
echo "3) Open WebUI - AI 对话客户端"
echo "4) 检查安装状态"
echo "5) 清理安装"
echo "6) 退出"
echo "----------------------------------------"
}
# 检查安装状态
check_installation_status() {
log_info "检查安装状态..."
# 检查 ComfyUI
if [ -d "$WORK_DIR/$PROJECT_NAME" ]; then
echo -e "${GREEN}ComfyUI 已安装${NC}"
echo "安装位置: $WORK_DIR/$PROJECT_NAME"
# 检查环境
if conda env list | grep -q "^comfyui_env "; then
echo -e "${GREEN}Conda 环境已创建${NC}"
else
echo -e "${RED}Conda 环境未创建${NC}"
fi
# 检查模型
if [ -d "$MODELS_DIR/checkpoints" ] && [ "$(ls -A $MODELS_DIR/checkpoints)" ]; then
echo -e "${GREEN}模型已下载${NC}"
echo "模型位置: $MODELS_DIR"
else
echo -e "${YELLOW}未找到模型文件${NC}"
fi
else
echo -e "${RED}ComfyUI 未安装${NC}"
fi
}
# 找不到安装脚本提示
not_found_script() {
log_error "未找到安装脚本: $1"
echo -e "${BLUE}获取脚本请访问 https://gf.bilibili.com/item/detail/1107198073${NC}"
}
# 清理安装
cleanup_installation() {
log_warning "此操作将删除所有安装文件和配置"
read -p "是否继续?(y/n): " confirm
if [ "$confirm" = "y" ]; then
log_info "开始清理..."
# 删除 conda 环境
if conda env list | grep -q "^comfyui_env "; then
conda deactivate
conda env remove -n comfyui_env -y
fi
# 删除安装目录
if [ -d "$WORK_DIR" ]; then
rm -rf "$WORK_DIR"
fi
# 删除配置文件
rm -f "$SCRIPT_DIR/config/comfyui_config.sh"
log_info "清理完成"
else
log_info "取消清理"
fi
}
# 执行选择的操作
execute_choice() {
case $1 in
1)
install_1="comfyui_setup_mini.sh"
log_info "启动 ComfyUI 安装程序..."
if [ -f "./scripts/$install_1" ]; then
log_info "$install_1 已找到"
bash "./scripts/$install_1"
else
not_found_script "$install_1"
fi
;;
2)
log_info "启动 Chat TTS 安装程序..."
log_warning "此功能正在开发中..."
;;
3)
log_info "启动 Open WebUI 安装程序..."
if [ -f "./scripts/open-webui_setup.sh" ]; then
log_info "open-webui_setup.sh 已找到"
bash "./scripts/open-webui_setup.sh"
else
log_error "未找到安装脚本: ./scripts/open-webui_setup.sh"
fi
;;
4)
check_installation_status
;;
5)
cleanup_installation
;;
6)
log_info "感谢使用 AI For U 安装助手!"
exit 0
;;
*)
log_error "无效的选择,请重试"
;;
esac
}
# 主程序循环
main() {
# 初始化日志
init_logging
while true; do
clear_screen
show_title
show_menu
echo -e "\n${GREEN}请输入安装编号:${NC}"
read choice
execute_choice $choice
if [ "$choice" != "6" ]; then
echo -e "\n${BLUE}按回车键返回主菜单...${NC}"
read
fi
done
}
# 运行主程序
main