如何用Automator创建一键启动Automatic 1111的macOS应用?
解决macOS一键启动Stable Diffusion WebUI的方案
问题分析
你之前用Automator失败的核心原因是:webui.sh是持续运行的前台进程,Automator会一直等待脚本执行完毕,所以始终显示加载状态,但实际上WebUI已经在后台启动了。下面是几个可行的一键启动方案:
方案1:修正Automator应用配置
适合不需要查看终端日志的场景,直接后台启动并打开浏览器:
- 打开Automator,新建应用程序类型文档
- 在左侧动作库搜索并添加「运行Shell脚本」
- 替换脚本内容为:
cd ~/stable-diffusion-webui # 后台启动WebUI进程 ./webui.sh & # 等待加载完成(根据你的机器调整时间,20-30秒都可以) sleep 25 # 启动Safari打开WebUI地址 open -a Safari http://127.0.0.1:7860/
- 调整脚本设置:「传递输入」选择「忽略」,Shell选
/bin/bash或/bin/zsh(和你终端默认Shell一致) - 保存为应用(比如命名为「SD WebUI Launcher」),双击即可一键启动
方案2:AppleScript启动(保留终端日志窗口)
如果需要查看WebUI的启动日志,用AppleScript让Automator打开终端执行命令:
- 新建Automator应用,添加「运行AppleScript」动作
- 输入以下脚本:
# 打开终端执行启动命令 tell application "Terminal" do script "cd ~/stable-diffusion-webui;./webui.sh" activate end tell # 等待加载 delay 25 # 启动Safari访问WebUI tell application "Safari" open location "http://127.0.0.1:7860/" activate end tell
- 保存应用,运行时会自动打开终端显示日志,之后启动Safari
方案3:独立Shell脚本+快速访问
更轻量的方式,直接创建可执行脚本:
- 打开「文本编辑」,输入:
#!/bin/bash cd ~/stable-diffusion-webui ./webui.sh & sleep 25 open -a Safari http://127.0.0.1:7860/
- 保存为
sd-launcher.sh(注意格式选「纯文本」) - 打开终端,执行命令赋予执行权限:
chmod +x /你的脚本保存路径/sd-launcher.sh
- 可以把脚本拖到Dock,或者用Spotlight搜索文件名快速启动
内容的提问来源于stack exchange,提问作者sebalv
相关产品推荐
相关产品推荐

