1. 卸载 OpenClaw 后为什么还会残留配置
OpenClaw 这类 AI 助手框架的安装路径比较分散,包管理器只负责删掉可执行文件,真正麻烦的是散落在用户目录、系统目录和 Shell 配置里的骨架文件。我见过不少人在npm uninstall -g openclaw之后以为万事大吉,结果重新装别的工具时发现端口被占、环境变量指向旧路径、甚至旧 Key 还在settings.json里躺着。
这些残留大致分四类:第一类是配置骨架文件,比如settings.json、config.toml、.env,里面往往存着 API 地址和凭证;第二类是缓存与日志,体积不大但会干扰新版本初始化;第三类是 Shell 层的 PATH、alias、环境变量注入;第四类是系统服务与定时任务,Linux 上尤其常见。
如果你之前用 TaoToken 作为统一 Key/API 通道接入 OpenClaw,那残留排查还要多看一眼:settings.json或config.toml里可能写着base_url指向https://taotoken.net/api,以及对应的api_key。这些凭证不清掉,等于旧环境还留着一把能开门的钥匙。所以这篇不只是教你删文件,而是按「定位 → 清理 → 验证」的节奏,把 Linux、macOS、Windows 三端的残留一次说清。
适合谁看:换工具链想彻底清干净的、环境冲突排查到怀疑人生的、以及准备把 OpenClaw 迁到新机器、需要确认旧机器无遗留凭证的。下面所有命令都可以直接复制,但涉及rm -rf和sed -i的地方,请先跑一遍查看命令确认输出,再执行删除。
2. TaoToken 前置:统一 Key 通道与残留凭证的关系
在动手清理之前,先把 TaoToken 这条线理清楚,因为它直接决定了你要在配置文件里找什么。TaoToken 的定位是统一的模型 API 通道,官网入口是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 基址是 https://taotoken.net/api 。OpenClaw 这类框架接入时,通常会把 base_url 和 api_key 写进自己的配置文件。
这意味着卸载 OpenClaw 时,你要清理的不只是框架本身,还有它替你保存的通道凭证。凭证一般出现在三个位置:项目根目录的.env、用户配置目录的settings.json、以及config.toml里的[api]段。清理顺序建议是「先备份、再定位、后删除」,因为一旦删错,重新配置通道要重新走一遍 Key 申请流程。
如果你后续还要继续用 TaoToken 做模型调用或编码任务,Key 本身不用删,只需要把 OpenClaw 配置文件里引用它的那几行去掉即可。真正要删的是「OpenClaw 专属的配置骨架」,而不是通道本身。这个区分很重要,很多人一激动把整个~/.config删了,结果其他工具的配置一起遭殃。
需要重新生成或管理 Key 的话,控制台在 https://taotoken.net/console ,Key 管理页在 https://taotoken.net/api-keys 。这两个入口建议先记下,等清理完验证阶段可能还要用。至于模型对话验证,可以用 https://taotoken.net/model-chat ;长期编码或 Agent 场景,看 https://taotoken.net/coding-plan 。下面进入正题。
3. 可复制配置:三端残留定位与清理模板
3.1 卸载前先备份,别跳过这步
不管你是重装还是彻底弃用,备份成本极低,收益极高。Linux/macOS 下执行:
mkdir -p ~/openclaw-backup cp -r ~/.openclaw ~/openclaw-backup/ 2>/dev/null || echo "无 ~/.openclaw" cp -r ~/.config/openclaw ~/openclaw-backup/ 2>/dev/null || echo "无 ~/.config/openclaw" cp -r ~/.local/share/openclaw ~/openclaw-backup/ 2>/dev/null || echo "无数据目录"Windows PowerShell 对应写法:
$backup = "$env:USERPROFILE\openclaw-backup" New-Item -ItemType Directory -Force -Path $backup | Out-Null Copy-Item "$env:USERPROFILE\.openclaw" $backup -Recurse -ErrorAction SilentlyContinue Copy-Item "$env:APPDATA\openclaw" $backup -Recurse -ErrorAction SilentlyContinue Copy-Item "$env:LOCALAPPDATA\openclaw" $backup -Recurse -ErrorAction SilentlyContinue备份完再确认安装方式,因为不同来源卸载命令不同:
which openclaw npm ls -g openclaw 2>/dev/null brew list openclaw 2>/dev/null docker ps -a | grep openclaw3.2 定位残留骨架文件
这一步是全文核心。先找配置文件,再找凭证字段。Linux/macOS 通用查找:
find ~ -maxdepth 4 \( -name "settings.json" -o -name "config.toml" -o -name ".env" \) 2>/dev/null | grep -i openclaw grep -rn "taotoken.net" ~/.openclaw ~/.config/openclaw 2>/dev/null grep -rn "api_key\|base_url" ~/.openclaw/settings.json ~/.config/openclaw/config.toml 2>/dev/nullWindows 上用 Select-String 替代 grep:
Get-ChildItem -Path $env:USERPROFILE -Recurse -Depth 4 -Include settings.json,config.toml,.env -ErrorAction SilentlyContinue | Where-Object { $_.FullName -match "openclaw" } | Select-String -Pattern "taotoken.net|api_key|base_url"找到之后,settings.json里通常长这样,需要把整个openclaw节点或相关字段删掉:
{ "openclaw": { "base_url": "https://taotoken.net/api", "api_key": "sk-xxxxxxxx", "model": "claude-sonnet" } }config.toml里则是[api]段:
[api] base_url = "https://taotoken.net/api" api_key = "sk-xxxxxxxx"清理时不要手抖删掉其他工具的配置。建议用编辑器打开,只删 OpenClaw 相关段落,保存后再跑一次 grep 确认无残留。
3.3 清理配置目录与缓存
确认备份完成后,执行删除。Linux/macOS:
rm -rf ~/.openclaw rm -rf ~/.config/openclaw rm -rf ~/.cache/openclaw rm -rf ~/.local/share/openclaw rm -rf ~/.local/state/openclawWindows:
Remove-Item -Recurse -Force "$env:USERPROFILE\.openclaw" -ErrorAction SilentlyContinue Remove-Item -Recurse -Force "$env:APPDATA\openclaw" -ErrorAction SilentlyContinue Remove-Item -Recurse -Force "$env:LOCALAPPDATA\openclaw" -ErrorAction SilentlyContinue3.4 清理 Shell 配置与环境变量
安装脚本常往.bashrc、.zshrc、.profile里塞 PATH 和 alias。先查看:
grep -n "openclaw" ~/.bashrc ~/.zshrc ~/.profile 2>/dev/null env | grep -i openclaw确认输出只涉及 OpenClaw 后,再删除:
sed -i.bak '/openclaw/d' ~/.bashrc sed -i.bak '/openclaw/d' ~/.zshrc source ~/.bashrcWindows 检查用户级环境变量:
[Environment]::GetEnvironmentVariable("Path", "User") -split ";" | Select-String "openclaw"如果命中,用setx重写 Path,或直接在「系统属性 → 环境变量」里手动删掉那一段。
3.5 清理服务、定时任务与 Docker
Linux systemd:
sudo systemctl stop openclaw 2>/dev/null sudo systemctl disable openclaw 2>/dev/null sudo rm -f /etc/systemd/system/openclaw.service sudo systemctl daemon-reloadcrontab:
crontab -l | grep -i openclaw crontab -l | grep -v -i openclaw | crontab -Docker:
docker stop $(docker ps -aq --filter "name=openclaw") 2>/dev/null docker rm $(docker ps -aq --filter "name=openclaw") 2>/dev/null docker rmi $(docker images -q --filter "reference=openclaw") 2>/dev/null docker volume rm $(docker volume ls -q --filter "name=openclaw") 2>/dev/null4. 验证请求:确认环境彻底移除
清理完必须验证,否则等于没清。下面这组命令覆盖命令、目录、包、Docker、环境变量五个维度:
which openclaw || echo "OK: 命令已移除" ls -d ~/.openclaw 2>/dev/null || echo "OK: 配置目录已清理" npm ls -g openclaw 2>/dev/null || echo "OK: npm 包已移除" docker ps -a | grep openclaw || echo "OK: Docker 资源已清理" env | grep -i openclaw || echo "OK: 环境变量已清理" grep -rn "taotoken.net" ~/.openclaw ~/.config/openclaw 2>/dev/null || echo "OK: 无通道凭证残留"如果最后一条仍然有输出,说明配置文件没删干净,回到 3.2 重新定位。验证通过后,如果你还要继续用 TaoToken 做模型调用,可以到 https://taotoken.net/model-chat 发一条测试请求,确认通道本身正常;如果是要长期跑编码任务,https://taotoken.net/coding-plan 里有对应的接入说明。这一步的意义是:把「框架残留」和「通道可用性」分开验证,避免误判。
5. 本篇常见错排查
报错一:which openclaw仍有输出。说明存在多个安装位置。用find /usr /opt /home -name "openclaw" -type f 2>/dev/null全盘找,逐一删除。npm 全局包路径通常在/usr/local/lib/node_modules/openclaw,手动删掉即可。
报错二:rm -rf提示 Permission denied。目录属主是 root,加sudo。但加 sudo 前务必确认路径拼写正确,rm -rf没有回收站。
报错三:sed -i在 macOS 上报错。macOS 的 BSD sed 要求-i后带备份后缀,用sed -i.bak '/openclaw/d' ~/.zshrc,生成的.bak文件确认无误后再删。
报错四:清理后新工具仍读到旧 base_url。大概率是.env文件没清。项目根目录的.env不在用户配置目录里,容易被漏掉,用grep -rn "taotoken.net" .在当前项目扫一遍。
报错五:Windows 上Remove-Item静默失败。加-ErrorAction SilentlyContinue会吞掉错误,排查时先去掉这个参数看真实报错,常见原因是文件被进程占用,用任务管理器结束相关进程再删。
报错六:Docker 卷删不掉。卷被其他容器引用时会报错,先docker ps -a确认没有容器挂载它,再执行删除。
6. 清理完成后的通道管理建议
环境清干净之后,建议把「框架配置」和「通道凭证」彻底解耦。OpenClaw 的配置文件里之所以会存api_key,是因为框架图省事直接内联了。更稳妥的做法是凭证只放在系统环境变量或专用密钥管理里,框架配置只引用变量名。
如果你后续还要接入其他 AI 工具,TaoToken 的 Key 管理页 https://taotoken.net/api-keys 可以统一生成和吊销,接入文档在 https://taotoken.net/doc 。这样即使某个框架卸载不干净,泄露的也只是变量名,而不是真实凭证。Claude Code 相关的接入说明在 https://taotoken.net/claude-code-anthropic ,有需要可以对照配置。
最后提醒一句:卸载验证通过后,别急着删备份目录。放个三五天,确认新环境跑通、没有回滚需求,再清理~/openclaw-backup。这个习惯帮我省过好几次事。