乐于分享
好东西不私藏

卸载 OpenClaw 踩了大坑!你的 API 密钥可能还在电脑里裸奔

卸载 OpenClaw 踩了大坑!你的 API 密钥可能还在电脑里裸奔

警告:本文可能让你后背发凉

你是不是也这样干过:

装了 OpenClaw 玩了几天,觉得不太适合,随手敲了个 npm uninstall -g openclaw,然后长舒一口气——"终于清理干净了"?

太天真了。

OX Security 的安全研究员最近发出警告:常见的卸载方法会留下凭证和配置文件。你以为删干净了,实际上你的 API 密钥、OAuth 令牌、聊天记录、甚至连接过的 Google 账号权限——全都还在电脑里躺着。

更可怕的是,因为你已经删掉了 openclaw 命令行工具,连官方的清理命令都跑不了了。

今天这篇文章,就是要帮你把 OpenClaw 卸得干干净净、一丝不剩,同时保证整个过程安全、有序、可回溯。


先搞清楚:OpenClaw 到底在你电脑上留了什么?

在动手之前,我们需要知道"敌人"藏在哪里。

OpenClaw 不是一个简单的命令行工具——它是一个完整的 AI Agent 操作系统,有自己的网关服务、记忆系统、配置数据库和技能插件生态。

1. 核心配置目录

~/.openclaw/              # 主配置目录,包含 openclaw.json、API 密钥、工作区、记忆文件
~/.openclaw/workspace/    # AI的工作空间,存放它操作过的文件
~/.openclaw/memory/       # 记忆系统数据(SQLite + Markdown)
~/.openclaw/logs/         # Gateway 日志文件

2. 历史残留目录(巨坑!)

这是很多人忽略的大坑。OpenClaw 在 2026 年 1 月底经历了两次改名

Clawdbot → Moltbot → OpenClaw

如果你在不同阶段安装过,系统里可能同时存在三套配置目录

~/.clawdbot/      # 早期版本
~/.moltbot/       # 中期版本
~/.molthub/       # 技能缓存目录
~/.openclaw/      # 当前版本

3. 系统服务(24小时运行)

OpenClaw 会安装一个叫 Gateway 的后台守护进程,监听 127.0.0.1:18789 端口:

  • macOS: LaunchAgent (~/Library/LaunchAgents/ai.openclaw.gateway.plist)
  • Linux: systemd 用户服务 (~/.config/systemd/user/openclaw-gateway.service)
  • Windows: 计划任务 (OpenClaw Gateway)

4. npm 全局包

通过 npm/pnpm/bun 安装的全局 CLI 工具。

5. Docker 容器和镜像

如果你使用 Docker 部署,还有容器、镜像和数据卷需要清理。

6. macOS App(如有)

/Applications/OpenClaw.app/tmp/openclaw/ 临时目录。


一句话总结

光删一个 npm 包,就像只拔掉了杂草的叶子,根还在土里疯长。


第一步:备份——优雅的前提是"可回溯"

在正式动刀之前,永远先备份。这不是多余的步骤,而是"优雅"的核心。

方案 A:手动备份

# 备份整个配置目录
cp
 -r ~/.openclaw ~/openclaw-backup-$(date +%Y%m%d)

# 如果你需要保留工作区文件

cp
 -r ~/.openclaw/workspace ~/openclaw-workspace-backup

方案 B:使用社区的"卸载虾"工具

GitHub 上有一个叫 openclaw-uninstaller 的第三方工具(MIT 许可证,支持 Python 3.7+):

pip install openclaw-uninstaller
openclaw-uninstall  # 或简写 ocu

它会在卸载前自动创建快照备份(支持 tar.gz 格式),重装后可以完全恢复配置和身份。

小贴士:备份内容包括 ~/.openclaw 主配置目录和 ~/.config/openclaw 配置缓存,但会自动排除日志和缓存文件以节省空间。


第二步:停止服务——先"关机"再"拆零件"

这是最关键的一步,跳过它后面的操作都可能出问题。

如果 Gateway 还在运行,文件可能因被占用而无法删除,端口也不会释放。

macOS

# 停止并卸载 LaunchAgent
launchctl bootout gui/$UID/ai.openclaw.gateway 2>/dev/null
launchctl bootout gui/$UID/bot.molt.gateway 2>/dev/null
launchctl bootout gui/$UID/com.openclaw.gateway 2>/dev/null

# 杀掉残留进程

pkill -f openclaw || true

Linux

# 停止并禁用 systemd 服务
systemctl --user stop openclaw-gateway.service
systemctl --user disable openclaw-gateway.service
rm
 -f ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload

Windows (PowerShell,管理员权限)

# 删除计划任务
schtasks /Delete /F /TN "OpenClaw Gateway"

# 终止进程
Get-Process -Name "openclaw*" | Stop-Process -Force

验证服务已停止

# 检查端口 18789 是否还被占用
lsof -i :18789        # macOS/Linux
netstat -ano | findstr :18789  # Windows

如果还有输出,说明服务没有完全停止,不要继续,先排查原因。


第三步:执行卸载——有官方命令就用官方命令

最佳方案:官方一键卸载

如果你的 openclaw 命令还在,务必先用官方命令

openclaw uninstall --all --yes --non-interactive

这条命令会依次:

  1. 1. 停止 Gateway 服务
  2. 2. 删除状态目录(~/.openclaw
  3. 3. 卸载 npm 全局包

重要提醒:很多人犯的错误是先跑 npm uninstall -g openclaw,这会导致 openclaw 命令消失,之后就无法运行官方的清理命令了。

如果官方命令不可用

方案 A:npm 全局包卸载

# 检测安装方式
which
 openclaw  # macOS/Linux
where
 openclaw  # Windows

# 根据安装方式选择卸载命令

npm uninstall -g openclaw
pnpm uninstall -g openclaw
bun uninstall -g openclaw

方案 B:Docker 卸载

# 停止并删除容器
docker stop openclaw-container 2>/dev/null
docker rm openclaw-container 2>/dev/null

# 删除镜像

docker rmi openclaw:latest 2>/dev/null

# 清理数据卷

docker volume rm openclaw-data 2>/dev/null

方案 C:macOS App 卸载

# 删除应用
rm
 -rf /Applications/OpenClaw.app

# 清理临时目录

rm
 -rf /tmp/openclaw/
rm
 -rf ~/Library/Caches/ai.openclaw*

第四步:深度清理——把"根"也拔出来

删除配置目录(所有安装方式通用)

# 当前版本
rm
 -rf ~/.openclaw

# 历史版本(重要!)

rm
 -rf ~/.clawdbot
rm
 -rf ~/.moltbot
rm
 -rf ~/.molthub

# 配置缓存

rm
 -rf ~/.config/openclaw

清理系统级残留

macOS

# LaunchAgent 配置文件
rm
 -f ~/Library/LaunchAgents/ai.openclaw.gateway.plist
rm
 -f ~/Library/LaunchAgents/bot.molt.gateway.plist
rm
 -f ~/Library/LaunchAgents/com.openclaw.gateway.plist

# 日志文件

rm
 -rf ~/Library/Logs/openclaw*

# 应用支持文件

rm
 -rf ~/Library/Application\ Support/openclaw

Linux

# systemd 服务文件
rm
 -f ~/.config/systemd/user/openclaw-gateway.service
systemctl --user daemon-reload

# 系统日志

journalctl --user --unit=openclaw-gateway --rotate
journalctl --user --unit=openclaw-gateway --vacuum-time=1s

Windows

# 删除注册表项(谨慎操作)
Remove-Item -Path "HKCU:\Software\openclaw" -Recurse -Force -ErrorAction SilentlyContinue

# 清理环境变量
[Environment]::SetEnvironmentVariable("OPENCLAW_HOME", $null, "User")

清理 Shell 配置

# 从 shell 配置文件中移除 openclaw 相关配置
# 检查以下文件:

# ~/.bashrc

# ~/.zshrc

# ~/.bash_profile

# ~/.zprofile


# 删除包含以下内容的行:

# - export PATH="$HOME/.openclaw/bin:$PATH"

# - eval "$(openclaw init -)"

# - alias oc='openclaw'

第五步:验证——确保真的干净了

检查命令是否还存在

which openclaw  # 应该返回空
openclaw --version  # 应该提示命令未找到

检查端口是否释放

lsof -i :18789  # macOS/Linux
netstat -ano | findstr :18789  # Windows

检查配置目录是否删除

ls -la ~/.openclaw  # 应该提示目录不存在
ls
 -la ~/.clawdbot   # 检查历史版本
ls
 -la ~/.moltbot    # 检查历史版本

检查进程是否还在运行

ps aux | grep openclaw  # macOS/Linux
Get-Process | Where-Object {$_.Name -like "*openclaw*"}  # Windows

常见问题排查

Q1: 提示"Permission denied"无法删除文件

解决方案

# 使用 sudo(macOS/Linux)
sudo
 rm -rf ~/.openclaw

# 或者修改权限后再删除

chmod
 -R 755 ~/.openclaw
rm
 -rf ~/.openclaw

Q2: 端口 18789 一直被占用

解决方案

# 查找占用端口的进程
lsof -i :18789

# 强制结束进程

kill
 -9 <PID>

Q3: 重装后配置还在,想完全重新开始

解决方案

# 除了卸载,还要删除所有配置
rm
 -rf ~/.openclaw
rm
 -rf ~/.config/openclaw
# 然后重新安装

Q4: 如何保留工作区文件但卸载程序

解决方案

# 先备份工作区
cp
 -r ~/.openclaw/workspace ~/openclaw-workspace-backup

# 正常卸载

openclaw uninstall --all --yes --non-interactive

# 或者手动清理时保留 workspace 目录

rm
 -rf ~/.openclaw/!(workspace)

总结:优雅卸载的完整清单

✅ 已备份重要数据
✅ 已停止 Gateway 服务
✅ 已卸载 npm/Docker/App
✅ 已删除 ~/.openclaw 目录
✅ 已删除历史版本目录 (~/.clawdbot, ~/.moltbot)
✅ 已清理系统服务配置
✅ 已清理 Shell 环境变量
✅ 已验证命令和端口

写在最后

OpenClaw 确实是一个强大的 AI Agent 工具,但强大的工具往往意味着复杂的系统架构

卸载不只是删掉一个命令那么简单,它涉及到:

  • • 后台服务的停止
  • • 配置文件的清理
  • • 系统环境的恢复
  • • 历史版本的追溯

希望这篇指南能帮你彻底、优雅地和 OpenClaw 说再见。如果将来想重新使用,记得先恢复备份的配置,可以省去很多重新设置的麻烦。

你的电脑,应该由你做主。


本文参考了 OX Security 的安全研究报告和 OpenClaw 官方文档,结合社区最佳实践整理而成。