有时候卸载重装是解决问题最干净的方式:配置文件损坏严重、版本冲突无法修复、想迁移到新服务器,或者只是想从头开始——无论哪种情况,本文给你完整的步骤。

OpenClaw 的卸载分两种情况:保留数据卸载(只移除程序,保留配置和记忆)和完全清除卸载(彻底删除所有文件)。先想清楚你需要哪种,再按对应步骤操作。

卸载前:先备份(无论如何都要做)

即使你打算完全卸载,也请先花30秒备份数据。你的 Agent 记忆、对话历史、自定义配置——这些都是你花时间积累的,删除后无法恢复:

# 备份所有 OpenClaw 数据
cp -r ~/.openclaw ~/openclaw-backup-$(date +%Y%m%d)

# 同时备份工作区
cp -r ~/openclaw/workspace ~/openclaw-workspace-backup-$(date +%Y%m%d)

备份完成后,继续卸载步骤。

第一步:停止并移除守护进程服务

卸载的第一步是正确停止正在运行的 OpenClaw 服务,并移除系统自启条目,否则即使删除了程序,下次开机仍可能出现残留进程的错误。

macOS(launchd)

# 停止并卸载 launchd 服务
openclaw gateway stop
openclaw uninstall --daemon

# 如果 openclaw 命令已失效,手动移除 launchd plist
launchctl unload ~/Library/LaunchAgents/ai.openclaw.gateway.plist 2>/dev/null
rm -f ~/Library/LaunchAgents/ai.openclaw.gateway.plist

Linux(systemd)

# 停止并禁用 systemd 用户服务
systemctl --user stop openclaw-gateway
systemctl --user disable openclaw-gateway

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

# 移除用户驻留(如果之前设置过)
sudo loginctl disable-linger $USER

DigitalOcean 一键镜像(system-level systemd)

# DigitalOcean 部署使用系统级 systemd 服务
sudo systemctl stop openclaw
sudo systemctl disable openclaw

第二步:使用官方卸载命令(推荐)

如果你的 OpenClaw 版本支持内置卸载命令,优先使用它——它会按照正确的顺序处理所有依赖关系:

openclaw uninstall

命令会询问你是否同时删除配置数据:

  • 输入 y:删除程序 + 所有配置和数据(完全清除)
  • 输入 n:只删除程序,保留 ~/.openclaw/ 目录中的配置和数据

如果该命令不可用(版本较旧或已损坏),继续手动卸载步骤。

第三步:卸载 npm 全局包

npm uninstall -g openclaw

验证是否已移除:

openclaw --version
# 应该提示 "command not found",说明卸载成功

如果使用 pnpm 安装,对应命令为:

pnpm remove -g openclaw

第四步:删除配置和数据目录

这一步决定了你是”保留数据卸载”还是”完全清除卸载”。

保留数据卸载(只清除程序,保留记忆和配置)

如果你打算在同一台机器上重装,并且想保留现有配置和 Agent 记忆,跳过这一步——~/.openclaw/ 目录保持不动即可。

完全清除卸载(彻底删除所有文件)

如果你想完全清空,包括所有配置、API Key、记忆文件和会话历史:

# 删除主配置目录(包含所有配置、API Key、记忆)
rm -rf ~/.openclaw

# 删除工作区目录
rm -rf ~/openclaw

# 删除备份日志(可选)
rm -rf ~/openclaw-update.log

⚠️ 警告:rm -rf 操作不可逆,删除前请再次确认你已完成备份,且方向正确(~/.openclaw 而非 / 或其他关键目录)。

macOS 额外清理(可选)

macOS 版 OpenClaw 可能在以下位置留有额外文件:

# 清理 macOS 菜单栏 App 缓存(如果安装了菜单栏 App)
rm -rf ~/Library/Application\ Support/OpenClaw
rm -rf ~/Library/Caches/ai.openclaw*

# 从应用程序文件夹移除菜单栏 App(如果安装了的话)
sudo rm -rf /Applications/OpenClaw.app

第五步:验证卸载是否干净

运行以下检查,确认没有残留进程或文件:

# 检查进程是否已停止
ps aux | grep openclaw
# 正常情况下不应有输出(或只有 grep 命令本身)

# 检查端口是否已释放
lsof -i :18789
# 正常情况下应无输出

# 检查命令是否已移除
which openclaw
# 应无输出

三项检查都无异常输出,说明卸载干净。

Docker 部署的卸载方式

如果你使用 Docker Compose 部署,卸载步骤有所不同:

# 进入项目目录
cd ~/openclaw-docker

# 停止并删除容器(保留 Volume 数据)
docker compose down

# 完全清除:停止容器并删除所有关联 Volume
# 警告:-v 参数会删除容器内的所有数据,谨慎使用
docker compose down -v

# 删除 OpenClaw 镜像
docker rmi openclaw/openclaw:latest

# 可选:清理所有未使用的 Docker 资源
docker system prune -f

如果你的数据通过 Volume 挂载到宿主机目录(如 ~/.openclaw),宿主机目录中的数据不会被 docker compose down -v 删除,需要手动清理:

rm -rf ~/.openclaw
rm -rf ~/openclaw/workspace

重装 OpenClaw

卸载干净后,重装步骤与全新安装完全相同。

全新安装(不保留旧数据)

# 安装
curl -fsSL https://openclaw.ai/install.sh | bash
source ~/.bashrc

# 验证
openclaw --version

# 运行引导向导
openclaw onboard --install-daemon

重装并恢复旧数据

如果你在卸载前做了备份,可以在重装后恢复数据:

# 第一步:安装程序(不运行引导向导)
curl -fsSL https://openclaw.ai/install.sh | bash
source ~/.bashrc

# 第二步:恢复配置目录
cp -r ~/openclaw-backup-20260328 ~/.openclaw

# 第三步:验证配置文件格式是否兼容新版本
openclaw doctor --fix

# 第四步:启动 Gateway
openclaw gateway start

# 第五步:注册为守护进程(如果备份中没有守护进程配置)
openclaw gateway install --force

注意:如果你是因为重大版本升级而重装,旧版本的配置文件可能与新版本不完全兼容。运行 openclaw doctor --fix 会自动处理大多数格式变化,但建议在恢复后测试所有核心功能是否正常。

迁移到新服务器的完整流程

如果你是要把 OpenClaw 从旧服务器迁移到新服务器,步骤如下:

在旧服务器上:

# 打包所有数据
tar -czf openclaw-full-backup.tar.gz ~/.openclaw ~/openclaw/workspace

# 将备份传输到新服务器
scp openclaw-full-backup.tar.gz 用户名@新服务器IP:~/

在新服务器上:

# 安装程序
curl -fsSL https://openclaw.ai/install.sh | bash
source ~/.bashrc

# 解压恢复数据
tar -xzf openclaw-full-backup.tar.gz

# 验证并修复配置
openclaw doctor --fix

# 注册守护进程并启动
openclaw onboard --install-daemon

在旧服务器上完成卸载:
数据迁移并确认新服务器正常运行后,再卸载旧服务器上的 OpenClaw,避免两端同时运行导致 Telegram Bot 冲突。

常见问题

Q:卸载后重装,Gateway Token 变了,连接的设备都断了怎么办?
重装后 Gateway Token 会重新生成。在控制面板登录后,重新配对所有通讯平台即可。如果你想保持 Token 不变,可以在重装前记录旧 Token,重装后在配置文件中手动设置:

openclaw config set gateway.auth.token "你的旧Token"
openclaw gateway restart

Q:卸载后系统还是显示有 openclaw 进程在运行怎么办?

# 强制结束所有 openclaw 进程
pkill -f "openclaw"

# 再次检查
ps aux | grep openclaw

Q:完全卸载后还想找回记忆文件怎么办?
如果删除前做了备份,从备份目录中找 ~/.openclaw/workspace/memory/ 下的 Markdown 文件,这些是 Agent 的记忆文件,可以手动查阅内容。如果没有备份,记忆文件无法找回。

Q:npm uninstall 后还是能运行 openclaw 命令怎么办?
系统中可能存在多个 npm 安装路径,which openclaw 查看当前使用的路径,然后手动删除对应文件:

which openclaw
# 输出类似 /usr/local/bin/openclaw

sudo rm $(which openclaw)

卸载步骤速查表

步骤 macOS Linux Docker
1. 停止服务 openclaw gateway stop systemctl --user stop openclaw-gateway docker compose down
2. 移除自启 openclaw uninstall --daemon systemctl --user disable openclaw-gateway 无需额外操作
3. 卸载程序 npm uninstall -g openclaw npm uninstall -g openclaw docker rmi openclaw/openclaw:latest
4. 清除数据(可选) rm -rf ~/.openclaw rm -rf ~/.openclaw docker compose down -v
5. 验证清除 which openclaw which openclaw docker ps

如果重装后有任何问题,可参考本系列其他文章,或访问 OpenClaw官网中文版(通过浏览器翻译访问 openclaw.ai)和官方文档 docs.openclaw.ai 获取帮助。

本文内容基于 OpenClaw 官方文档及公开社区资料整理,信息截至2026年3月28日。