装完 OpenClaw菜单栏多了一只小龙虾这事估计不少人遇到过。这只小龙虾就是 OpenClaw Companion App 的常驻图标平时拿来快速看状态、唤起面板确实方便但如果你和我一样主力是命令行或者纯粹觉得菜单栏太挤、想省点内存那它就成了典型的“食之无味弃之可惜”的角色。更麻烦的是很多人怕一卸载就把整个 Agent 环境拆坏了。其实完全不用慌Companion App 和核心 Agent 的关系可以理解成遥控器和电视机遥控器只是控制面板真正干活的是电视机本体。这篇文章就只做一件事——把菜单栏的遥控器摘干净同时确保核心 AgentCLI 环境、配置、会话、技能完好无损继续能跑能调。适合谁看适合所有在 macOS 上装了 OpenClaw并且不想动核心环境、只想清理菜单栏组件的人。哪怕你不太懂命令行跟着步骤走也能搞定如果你想把残留的清得干干净净那更要看完后面关于 LaunchAgent 和数据缓存的处理部分。1. 先搞清楚这只小龙虾到底管什么很多人卸载前都会犹豫核心在于“搞不清什么文件属于 Companion App什么文件属于核心 Agent”。这一步如果没分清楚后面就很容易误删。所以我建议先花两分钟把这层关系理顺。1.1 Companion App 的职责边界Companion App 本质上是 OpenClaw 的图形伴侣程序它做的事情主要包括在菜单栏常驻一个状态图标就是那只小龙虾通过颜色或角标提示当前 Agent 连接状态。提供一个快速唤起面板能查看运行中的任务、最近日志或者一键打开终端。负责从 GUI 侧发起对 Agent 的调用比如你点某个按钮触发一个预设动作。承担通知中心的消息转发把 Agent 的进度、报错推送到系统通知里。它的定位是“增强交互体验”而不是“提供 Agent 运算能力”。换句话说核心 Agent 是一个独立的引擎进程它的运行根本不依赖这个 GUI 壳。1.2 核心 Agent 不靠 GUI 存活OpenClaw 的核心 Agent 主要通过命令行工具来驱动。对应到常见的部署方式核心数据一般是这几块可执行文件和 CLI 入口通常在 PATH 里直接敲 openclaw 就能调用。全局配置目录包含 Agent 的模型配置、channel 配置、skill 定义等。会话和任务数据记录历史对话、任务状态、日志输出。这些内容才是 Agent 真正的心跳。Companion App 删除后只要这一层没有被动过环境就依然健在。打个比方你拆掉了一个远程控制面板但服务器机房里的机器仍然在正常运转完全两码事。1.3 卸载前必做的三个动作动手之前我强烈建议花两分钟做三件事。这不是浪费时间而是给后面所有操作上一道保险。第一备份全局配置目录。如果平时用 OpenClaw 配置了不少技能和渠道建议直接把这个目录打包存到桌面。通常配置文件体积不大几十 KB 到几 MB 而已但备份后你心里就有底了。# 备份 OpenClaw 用户级配置路径以实际安装为准常见为 ~/.openclaw 或 ~/.config/openclaw tar -czf ~/Desktop/openclaw-backup-$(date %Y%m%d).tar.gz ~/.openclaw ~/.config/openclaw 2/dev/null第二确认当前正在运行的 Agent 任务都已结束。如果后台还挂着任务卸载过程中进程被强杀最轻的是日志花掉严重的可能留下 session 锁文件导致下次启动时报错。第三记一下你的安装来源和版本。你是用 Homebrew 装的还是直接下载了官方 pkg 包菜单栏 App 是装在用户目录还是系统目录这些信息决定了后面的清理路径。2. 摸底排查给这只小龙虾做一个户口调查不要上来就拖拽删除因为这破玩意儿的安装路径和残留位置可能比你想的多。正确顺序是先摸清它住在哪、哪些文件属于它再动手。这一步做扎实了后面卸载就是水到渠成。2.1 从进程入手顺藤摸瓜找安装位置最简单的办法是打开“活动监视器”在搜索框输入 openclaw然后看进程路径。找到主进程那一行右键选择“显示简介”里面会明确标注可执行文件的位置。这一步通常能直接告诉你 App 本体在哪。如果你习惯用命令行也可以这样直接看# 查看所有和 openclaw 相关的进程 ps aux | grep -i openclaw | grep -v grep输出的第一列是用户名最后一列是命令行包含了进程对应的可执行文件路径。比如看到/Applications/OpenClaw Companion.app/Contents/MacOS/OpenClaw Companion说明 App 装在 /Applications一目了然。2.2 常见文件位置与残留清单根据我在 macOS 上处理同类菜单栏应用的经验一个标准的 Mac App 会往以下位置写东西。我整理了一个速查表对照排查即可文件位置可能存在的文件归属说明/Applications/或~/Applications/OpenClaw Companion.appApp 本体删它等于拆遥控器~/Library/LaunchAgents/com.openclaw.companion.plist自启动配置决定是否开机就跑~/Library/Application Support/OpenClaw/GUI 缓存、日志、本地面板数据部分可删但需甄别~/Library/Preferences/com.openclaw.companion.plist偏好设置卸载后残留无碍~/Library/Caches/com.openclaw.companion/缓存文件可放心删除~/.openclaw/或~/.config/openclaw/config、channels、skills、sessions核心 Agent 数据绝对不要动这个表是核心参考。你只需要记住一条铁律凡是带 Companion 字样的路径都不是必需品凡是.openclaw或config/openclaw下面的东西都属于核心 Agent碰都不要碰。2.3 先确认核心 Agent 还能活着卸载前最好先给核心 Agent 做一个“体检”确认它确实独立于 GUI 存活。打开终端执行# 检查 CLI 是否正常响应 openclaw --version # 如果能通用尝试查看状态或列出可用渠道 openclaw status如果命令正常输出版本号和状态信息说明核心环境是好的。还可以顺带看一眼配置目录里的核心文件是否齐全ls -la ~/.openclaw/ 2/dev/null || ls -la ~/.config/openclaw/ 2/dev/null看到类似 config、channels、skills 这样的目录存在你就可以放心了。后面无论怎么折腾菜单栏组件都影响不到这些。3. 正式卸载只摘菜单栏小龙虾别碰 Agent 核心现在进入核心操作环节。整个过程分四步优雅退出、删除本体、移除自启动、清理残留。每一步都有关键细节我会把容易踩坑的地方单独拿出来说。3.1 先让进程体面退场别暴力强杀很多人卸载 App 的第一步就是拖进废纸篓其实这样容易出事。因为 macOS 上 App 正在运行时文件是被占用的删除后进程可能还会短暂存活然后重新拉起来。推荐的做法是先让 Companion App 自己退出。在菜单栏找到小龙虾图标右键或按住 Control 单击看菜单里有没有 Quit、Exit 或者退出选项。有就直接点。如果没有退出入口再用活动监视器或者下面的命令行优雅退出# 优雅终止所有 openclaw 相关 GUI 进程 osascript -e tell application OpenClaw Companion to quit 2/dev/null pkill -f OpenClaw Companion注意这里用的是 pkill 而不是 kill -9。pkill 默认发 SIGTERM进程收尾工作还有机会完成直接 kill -9 相当于拔电源容易留下垃圾文件。3.2 删除 App 本体与自启动配置进程退出后先删 App 本体。这里我建议拖到废纸篓而不是立刻清空废纸篓。这种做法相当于给自己留了个后悔药万一重装或恢复时还来得及翻回来。# 如果 App 在用户目录 rm -rf ~/Applications/OpenClaw Companion.app # 如果 App 在系统 Applications 目录可能需要管理员权限 sudo rm -rf /Applications/OpenClaw Companion.app接下来是关键一步——处理自启动配置。很多人在这一步漏掉导致卸载 App 后菜单栏图标换个位置又出来了。查一下 LaunchAgents 目录ls -la ~/Library/LaunchAgents/ | grep -i openclaw如果看到com.openclaw.companion.plist之类的文件先卸载这个加载项再删除文件。macOS 新老版本命令有差异我一般按下面的方式处理# 新版本 macOS建议用 bootout launchctl bootout gui/$(id -u)/com.openclaw.companion 2/dev/null # 老版本 macOS 兼容写法 launchctl unload ~/Library/LaunchAgents/com.openclaw.companion.plist 2/dev/null # 移除 plist 文件本身 rm -f ~/Library/LaunchAgents/com.openclaw.companion.plist顺带检查一下系统级的 LaunchDaemons 和 LaunchAgents 目录如果你当初装的是全系统版本可能需要 sudo 权限清理sudo ls /Library/LaunchAgents/ | grep -i openclaw sudo ls /Library/LaunchDaemons/ | grep -i openclaw如果有用同样的 bootout 加 rm 组合清理。3.3 清理缓存和残留但守住核心配置边界到了这步App 本体已经没了自启动项也摘了。剩下的就是缓存和偏好设置残留。这些文件不影响功能但既然要“干净卸载”顺手一起处理掉比较好。# 清理偏好设置和缓存文件名以实际搜索为准 rm -f ~/Library/Preferences/com.openclaw.companion.plist rm -rf ~/Library/Caches/com.openclaw.companion/ # 如果 Application Support 下只有 GUI 相关数据可以一并清理 rm -rf ~/Library/Application Support/OpenClaw Companion 2/dev/null到这里我的建议是立刻停手。因为~/.openclaw里可能有 Companion App 写入的面板配置但更多是核心 Agent 的命脉。除非你确定某个子目录纯粹属于 GUI否则不要展开清理。保持“宁可留一点垃圾也不要碰核心配置”的心态。最后来一次全面体检确认 Agent 核心还活着# 验证 CLI 可用 openclaw --version # 验证配置目录健在 ls ~/.openclaw/ 2/dev/null || ls ~/.config/openclaw/ 2/dev/null # 跑一个最简单的命令测试看核心 Agent 是否正常响应 openclaw status如果以上都正常说明卸载操作圆满完成。4. 实战中容易踩的坑与解决方案卸载过程中我亲手踩过不少坑下面这些是出现频率最高的几个。整理出来你遇到的话不用慌直接按方法排。4.1 卸载后菜单栏图标还在或者重启后又出现遇到这种情况有 99% 的可能是因为你只删了 App 本体但 LaunchAgent 还挂在登录项里。系统每次登录都会读取 plist然后尝试拉起对应的程序程序找不到了有些系统还会自动去默认位置重新下载或者提示错误。处理办法打开“系统设置” - “通用” - “登录项”在“允许在后台”列表里找 OpenClaw 相关条目关掉。同时回到终端执行一遍launchctl list | grep -i openclaw如果有输出说明还有残留加载项继续用 bootout 清理。处理完再重启一次确保彻底干净。4.2 卸载之后 Agent 报错session file locked 或 timeout有一个很常见的报错是agent failed before reply: session file locked (timeout 60000ms)。很多人卸载前没停掉运行中的 Agent 任务或者卸载时强迫进程退出导致 session 锁文件没有正常释放。这个报错和 Companion App 本身关系不大但卸载操作往往是诱因。排查顺序如下# 第一步查看是否有残留的 openclaw 进程 ps aux | grep -i openclaw | grep -v grep # 第二步如果有等它们自然退出或按 PID 优雅停止 kill PID # 第三步找到锁文件位置确认是否残留 find ~/.openclaw -name *.lock -o -name *.pid 2/dev/null确认没有相关进程后把残留的锁文件手动删掉再重新启动 Agent。正常情况下问题就解决了。这和之前备份的意义一样——只要配置还在最多丢一个会话环境不会报废。4.3 卸载后又后悔了想恢复菜单栏图标想恢复也很简单。核心 Agent 没动过你只需要重新安装 Companion App 即可。两种方式随你选回到你当初下载的官方渠道重新下载 dmg 或 pkg拖进 Applications。如果你用的是包管理器比如 Homebrew直接重新安装对应 cask 包也能搞定。注意装完之后检查一下登录项因为重新安装可能会顺手再把 LaunchAgent 配上如果不想让它自启记得去登录项设置里关掉。其余的偏好设置和缓存重新运行后会自动生成不用担心。还有一个小技巧如果你只是嫌菜单栏太挤、暂时不想卸载登录项设置里直接关闭该 App 的后台允许效果和卸载类似菜单栏图标会在下次登录时消失。区别在于 App 本体还在随时能再启动。这算是一个折中方案。5. 一点个人经验和额外的收尾建议关于这类“保留核心、剥离 GUI”的操作我的习惯是——凡是能不动核心数据目录就绝对不动。这次的卸载之所以顺利核心在于提前分清了哪些是遥控器、哪些是电视机。顺带提一句卸载前如果 Agent 正在跑批量任务一定等它跑完或者停掉所有会话再动手不然 session 锁会像幽灵一样缠着你不放。如果你后续想彻底清理 OpenClaw 全部数据连核心 Agent 一起那是另一个话题了操作前务必把配置和技能目录完整备份不然所有自定义的渠道、技能、历史会话都会一并归零。好了思路和步骤都在这了按图索骥即可。
