Automator可实现按需、有序、分场景的macOS应用自启动:新建应用程序类型文档,拖入“启动应用程序”与“暂停”动作定制顺序和延迟;为不同工作模式创建独立.app文件;嵌入AppleScript避免重复启动;配合登录项与网络等待,达成精准开机启动。

用 Automator 控制 macOS 应用自启动,核心不是“让App开机自动开”,而是“按你想要的方式、顺序、时机来启动它们”——它不依赖系统登录项的粗放式全开,而是提供可定制、可复用、可分场景的启动逻辑。
直接替代登录项:打包成.app更可控
系统设置里的“登录项”只能统一开关,无法设定启动顺序、加延迟、跳过某些条件。Automator 的“应用程序”类型正好补上这个缺口:
- 新建文档时选“应用程序”,不是“快速操作”或“服务”
- 拖入多个“启动应用程序”动作,每个指定一个 App(如 Slack → VS Code → Notion)
- 在两个动作之间插入“暂停”动作(比如设 1.5 秒),避免应用争抢焦点或资源冲突
- 保存为 .app 文件,拖进 Dock 或设为登录项——此时启动的是你的流程,不是单个App
按场景切换:不止一个“全家桶”
你不需要一个包打天下的启动器。不同工作模式对应不同组合:
- “开会模式”:Zoom + Calendar + Notes + 微信(Mac版)
- “编码模式”:VS Code + iTerm2 + Postman + Raycast
- “设计模式”:Figma + Sketch + Zeplin + Spotify
每个模式单独做一个 Automator.app,命名清晰(如 “Dev Launch.app”),双击即切换状态,比手动关/开一堆App省心得多。
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
加一点判断,避免重复启动
默认的“启动应用程序”动作不管该App是否已在运行,会强制再开一个实例。要更智能,可嵌入简单 AppleScript:
- 在 Automator 工作区添加“运行 AppleScript”动作
- 粘贴如下代码(以 Slack 为例):
if application "Slack" is running then
activate application "Slack"
else
tell application "Slack" to launch
end if
这样既确保 Slack 在前台就绪,又不会多开窗口。对关键工具(如终端、数据库客户端)特别实用。
配合系统机制,真正“开机即用”
把 Automator.app 加进登录项后,它会在用户登录后立即运行——但注意两点:
- 先在“系统设置 > 用户与群组 > 登录项”中,把原本那些 App 的勾选去掉,避免重复启动
- 如果依赖网络服务(如企业微信、内部 GitLab),可在开头加个“暂停 5 秒”,等网络就绪再继续
这样一套组合下来,开机后 8–12 秒,你的工作环境就已就位,且完全按你定义的节奏来。

















