几个月前在 V2EX 分享过 LaunchManager ,感谢当时大家的反馈。现在项目到了 v1.8.0 ,想带着目前的版本再来交流一下。
旧帖: /ai-market-guide/ LaunchManager 是一个 Swift / SwiftUI 编写的原生工具,用来管理 LaunchAgents 、LaunchDaemons 和后台自动化任务,免费,MIT 协议开源,支持 macOS 14+。最近一个很实用的场景是:让 AI 帮忙写定时脚本和 plist ,写完后还需要检查它到底配置了什么、什么时候触发、有没有正常运行。
LaunchManager 可以把这部分放到一个窗口里处理: 导入 .plist ,或直接粘贴 AI 生成的 XML ,再用表单或 XML 检查、修改配置。在一个任务里编辑日历、时间间隔和 WatchPaths 等触发条件;多个规则分别生效。
查看任务状态,加载、启动、停止任务;失败时查看 stdout/stderr 文件日志或系统日志。在 Services 页面查看本机 TCP 监听端口及 Docker 映射端口,排查开发服务的端口冲突,也可以从正在运行的本地服务创建 Launch Agent 。
举个例子:让一个脚本每天定时备份,或者在某个目录变化时执行处理。 AI 生成初稿后,导入检查命令、工作目录和触发条件,再查看运行结果。
任务由 launchd 执行,退出 LaunchManager 后仍可继续运行。补充一下之前容易混淆的地方:launchd 任务和 macOS 的 Login Items 不是完全相同的东西。
应用里的 Login Items 入口提供说明和系统设置跳转,不能直接开关系统里的所有登录项。官网、下载与截图: /ai-market-guide/ 源码与问题反馈: /ai-market-guide/ Homebrew 安装: brew tap Sean10000/tap brew install --cask launchmanager 如果你也有脚本定时运行、后台服务管理或端口排查的需求,欢迎试用。
更想听听大家实际遇到的任务配置和日志排查问题,反馈可以留在这里,也可以直接提 GitHub Issue 。