如何在 Mac 上卸载 oMLX
oMLX 是 Apple 芯片上的 macOS 菜单栏应用加本地 LLM 服务器,来自 jundot/omlx 项目(bundle ID 是 app.omlx)。它存的东西几乎都在 ~/.omlx:按 README 的说法,默认模型文件夹是 ~/.omlx/models,设置写在 ~/.omlx/settings.json(按源码,设了服务器 API Key 的话也存在这里),SSD 缓存放 ~/.omlx/cache,日志放 ~/.omlx/logs,应用把命令 shim 写进 ~/.omlx/bin。模型动辄好几 GB。这个文件夹也可能被挪过:应用的存储设置会把新位置写进 ~/Library/Application Support/oMLX/base-path,模型目录还可以指到别处,所以先看清你的模型实际在哪,再决定留什么。本文覆盖项目 GitHub Release 的磁盘映像。项目 Homebrew tap 里的 omlx formula 是服务器的另一种独立安装,这里不涉及。
退出并移除应用
- 从
~/.omlx拷出要留的东西,比如下载的模型和settings.json,你指给 oMLX 的其他模型文件夹也一样。挪过数据根目录的话,cat "$HOME/Library/Application Support/oMLX/base-path"会打印出它在哪。 - 从菜单栏图标停止服务器并退出 oMLX。装了 shim 的话,
omlx stop可以停掉由应用管理的服务器。服务器默认监听 8000 端口,下面的命令可以确认它停没停。应用也可以设成启动时自动开服务器。 - 打开访达,进入「应用程序」,把 oMLX 拖进废纸篓。应用有 1.8 GB 左右,因为里面自带 Python 环境。
- 对照下面的表找一下 shell 和命令行方面的残留。应用只有在问过你之后才会改 shell 启动文件,旧版本还会把
omlx链到公共 bin 目录。
测试里没有登记登录项,也没有启动代理。
数据在哪里
在访达按 Shift + Command + G 逐项打开,不存在的路径跳过即可。
| 位置 | 内容 | 处理建议 |
|---|---|---|
~/.omlx |
models 里的模型、settings.json、SSD 缓存、日志和 bin 里的 shim,测试里 8 KB,只有两个 shim |
先拷出要留的,再移除,还在用 Homebrew formula 或另一份 oMLX 的话就留着。Mole 会列出供审查,符合条件时默认勾选。 |
~/Library/Application Support/oMLX |
挪过数据根目录时的 base-path 指针,可能还有一个很小的 cli-path-prefs.json,测试里是空的 |
先读 base-path 再移除。Mole 会列出供审查,符合条件时默认勾选。 |
~/Library/Caches/app.omlx、~/Library/HTTPStorages/app.omlx |
缓存和网络存储 | 移除。Mole 默认勾选。 |
getconf DARWIN_USER_CACHE_DIR 打印的文件夹里的 app.omlx |
临时缓存 | 移除。Mole 默认勾选。 |
~/.zshrc、~/.zprofile、~/.zshenv、~/.bashrc、~/.bash_profile 或 ~/.profile 里 # oMLX: CLI shim path begin 和 # oMLX: CLI shim path end 之间的段落 |
给 ~/.omlx/bin 加 PATH 的一段,只在应用问过之后才会加 |
有的话自己删掉这一段,Mole 不改 shell 启动文件。 |
/opt/homebrew/bin/omlx 或 /usr/local/bin/omlx |
旧版应用指向 ~/.omlx/bin/omlx 的链接,Homebrew formula 也用这个名字 |
ls -l 显示它指向 .omlx/bin/omlx 才移除。 |
检查结果
pgrep -il omlx
lsof -nP -iTCP:8000 -sTCP:LISTEN
ls -d /Applications/oMLX.app "$HOME/.omlx" "$HOME/Library/Application Support/oMLX" "$HOME/Library/Caches/app.omlx"
grep -n 'oMLX: CLI shim' "$HOME/.zshrc" "$HOME/.zprofile" "$HOME/.zshenv" "$HOME/.bashrc" "$HOME/.bash_profile" "$HOME/.profile" 2>/dev/null
ls -l /opt/homebrew/bin/omlx /usr/local/bin/omlx 2>/dev/null
pgrep没有输出,表示 oMLX 和它的服务器都没在跑。打印出一行就是还活着的进程。lsof没有输出,表示 8000 端口没有进程监听。有输出的话,那一行是占着端口的进程,改过端口或另有服务时可能是别的程序。ls -d提示No such file or directory表示该路径已经没了,留了模型的话~/.omlx还在是正常的。grep打印出一行说明那个文件里还有 PATH 段落,没有输出说明没找到。ls -l的输出会显示链接和它指向的位置,没有输出说明两个链接都不存在。
Mole 会列出什么
Mole 会勾选应用本体、~/Library/Caches/app.omlx、~/Library/HTTPStorages/app.omlx 和临时缓存行,~/Library/Application Support/oMLX 和 ~/.omlx 会列出供审查,符合条件时默认勾选。Homebrew formula 或另一份副本是否还在用 ~/.omlx,Mole 并不知道,也不会跟着挪过的数据根目录或别处的模型文件夹走,模型放在 ~/.omlx 里的话记得取消勾选。状态页把 oMLX 显示成一行。Mole 没有找到它的更新频道,尽管 README 说应用内有更新器,也没有执行更新。
这次检查覆盖了什么
2026 年 11 月 9 日,在一台测试 Mac 上,把项目 GitHub Release 的 oMLX-0.7.3-macos26-27.dmg 拷进「应用程序」,校验和与下载一致,打开一次,再用源码构建的 Mole 勾上所有审查项卸载。第一次运行 Mole 把应用和 4 行移进废纸篓,留下了 ~/.omlx,里面是应用启动时写的两个 shim。Mole 的扫描改成列出这个文件夹之后,在同一个安装包上重测,移走了应用和包括 ~/.omlx(8 KB)在内的 5 行,没有失败项,之后重新扫描没有剩余。状态页显示一行 oMLX,1 个进程,Mole 没有找到更新渠道,也没有执行更新。没有下载模型,也没有启动服务器,登录、改 shell 启动文件的提示、挪过的数据根目录、Homebrew formula 和 Mole 公证发布版都没有测。
