1. Win11 卸载 openclaw 为什么总卸不干净
openclaw 这类工具在 Win11 上通常有两种安装路径:一种是通过 npm 全局安装,另一种是官方脚本iwr -useb https://openclaw.ai/install.ps1 | iex一键装。两种方式都会在系统里留下不同位置的痕迹——npm 全局包在 Node 的全局目录里,脚本安装会额外注册计划任务、写入用户目录下的隐藏配置文件夹、生成日志。
很多人卸载时只跑了npm uninstall -g openclaw,结果重装时发现旧配置还在、端口被占用、计划任务还在后台跑。原因就是 npm 卸载只删了包本身,配置目录、日志、计划任务、旧版遗留目录一个都没动。
这篇教程聚焦 Win11 下用 npm 全局安装 openclaw 后的完整卸载流程,从终端定位全局包路径开始,到清理缓存与残留配置,再到验证卸载是否干净。每一步都给可复制的命令和检查清单,帮你避免重装冲突。如果你后续还要接入其他模型服务做编码或对话,卸载干净是第一步,后面我会顺带说下怎么用 TaoToken 把模型能力接回来。
适合谁看:在 Win11 上用 npm 装过 openclaw、现在想彻底清掉重装或换方案的人;以及遇到openclaw --version还能跑但不知道包在哪的人。
2. 卸载前先搞清楚 openclaw 装在哪
动手删之前,先定位。Win11 的终端分 PowerShell 和 CMD,下面命令默认在 PowerShell 里跑(Win + X 选“终端管理员”)。
先看 npm 全局包根目录在哪:
npm root -g输出类似C:\Users\你的用户名\AppData\Roaming\npm\node_modules。openclaw 的包体就在这个目录下的openclaw或openclaw-cn文件夹里。
再看全局可执行文件位置:
npm bin -gWin11 上一般返回C:\Users\你的用户名\AppData\Roaming\npm,里面会有openclaw.cmd、openclaw.ps1这类启动脚本。
确认当前装的是哪个版本:
npm list -g --depth=0这条会列出所有全局包,你能看到是openclaw还是openclaw-cn,或者两个都在。我试过同时装原版和中国版的情况,卸载时两个都要处理。
检查计划任务是否存在:
schtasks /Query /TN "OpenClaw Gateway"如果返回任务信息,说明脚本安装时注册了后台网关,卸载时必须一起删。
检查配置目录:
Test-Path "$env:USERPROFILE\.openclaw" Test-Path "$env:USERPROFILE\.clawdbot" Test-Path "$env:USERPROFILE\.moltbot" Test-Path "$env:USERPROFILE\.molthub"返回True的目录就是需要清理的。旧版遗留目录名不一样,所以四个都要查。
3. TaoToken 前置:卸载后模型能力怎么接回来
把 openclaw 清干净之后,如果你还需要模型对话、代码补全或 Agent 类能力,可以用 TaoToken 作为统一入口。它提供兼容 OpenAI 风格的 API,也有 Claude Code 相关的接入方式,适合在卸载旧工具后重新搭一套干净的调用链路。
TaoToken 官网入口:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
API 基础地址(不带 UTM):https://taotoken.net/api
几个常用 deep link,按需取:
- 模型对话体验:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite
- Coding Plan(长期编码/Agent):https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite
- 控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite
- API Keys 管理:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite
- 接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite
- Claude Code 接入:https://taotoken.net/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claudecode&utm_campaign=rewrite
注意:TaoToken 是模型调用入口,不是编辑器替代品。它负责把请求转发到模型,你的代码编辑、终端操作还是在本地工具里完成。
拿到 API Key 后,配置环境变量即可在终端里调用。下面给一个 PowerShell 设置示例:
$env:TAOTOKEN_API_KEY = "你的APIKey" $env:TAOTOKEN_BASE_URL = "https://taotoken.net/api"验证 Key 是否可用:
curl.exe https://taotoken.net/api/v1/models ` -H "Authorization: Bearer $env:TAOTOKEN_API_KEY"返回模型列表 JSON 就说明通了。这一步和卸载 openclaw 是独立的,但顺序上建议先卸干净再配新环境,避免旧的环境变量或配置干扰。
4. 可复制配置:Win11 彻底卸载 openclaw 全流程
下面按顺序执行,每一步都有说明。全程在“终端管理员”里跑。
4.1 停止并删除计划任务
脚本安装会注册一个叫OpenClaw Gateway的计划任务,先删它:
schtasks /Delete /F /TN "OpenClaw Gateway"如果提示找不到任务,说明没注册过,跳过即可。再删网关启动脚本:
Remove-Item -Force "$env:USERPROFILE\.openclaw\gateway.cmd" -ErrorAction SilentlyContinue-ErrorAction SilentlyContinue的作用是文件不存在时不报错,方便批量执行。
4.2 卸载 npm 全局包
原版和中国版分别卸,不确定装了哪个就都跑一遍:
npm uninstall -g openclaw npm uninstall -g openclaw-cn卸载后 npm 会移除全局目录下的包体和对应的.cmd/.ps1启动脚本。如果提示up to date或removed,都算正常。
4.3 清理 npm 缓存
npm 缓存里可能还留着 openclaw 的 tarball,清一下避免重装时用到旧包:
npm cache clean --force这条会清空整个 npm 缓存,不只是 openclaw。如果你有其他项目依赖缓存加速,可以跳过,或者用npm cache verify做校验清理。
4.4 删除配置、数据、日志目录
这是最关键的一步,npm 卸载不会碰这些目录:
# 主配置目录(记忆、技能、API 密钥等) Remove-Item -Recurse -Force "$env:USERPROFILE\.openclaw" -ErrorAction SilentlyContinue # 旧版遗留目录 Remove-Item -Recurse -Force "$env:USERPROFILE\.clawdbot" -ErrorAction SilentlyContinue Remove-Item -Recurse -Force "$env:USERPROFILE\.moltbot" -ErrorAction SilentlyContinue Remove-Item -Recurse -Force "$env:USERPROFILE\.molthub" -ErrorAction SilentlyContinue # 日志目录 Remove-Item -Recurse -Force "$env:LOCALAPPDATA\openclaw-logs" -ErrorAction SilentlyContinue Remove-Item -Recurse -Force "C:\tmp\openclaw" -ErrorAction SilentlyContinue-Recurse递归删子目录,-Force强制删只读文件。$env:USERPROFILE和$env:LOCALAPPDATA是系统环境变量,不用手动替换用户名。
4.5 检查环境变量残留
有些安装脚本会往用户环境变量里写OPENCLAW_*或把安装目录加进PATH。查一下:
Get-ChildItem Env: | Where-Object { $_.Name -like "*OPENCLAW*" -or $_.Name -like "*CLAW*" }如果有输出,用Remove-Item Env:变量名删掉当前会话的。永久变量要去“系统属性 → 环境变量”里手动删,或者用:
[Environment]::SetEnvironmentVariable("变量名", $null, "User")4.6 检查 PATH 里的残留路径
$env:PATH -split ';' | Select-String -Pattern 'openclaw|claw'如果匹配到 openclaw 相关目录,说明 PATH 里还有残留,需要从用户 PATH 里移除。查看当前用户 PATH:
[Environment]::GetEnvironmentVariable("PATH", "User")把含 openclaw 的片段删掉后重新设置。这一步不做的话,重装时可能出现命令冲突。
5. 验证请求:确认卸载是否干净
删完之后逐条验证,全部通过才算干净。
检查命令是否消失:
openclaw --version openclaw-cn --version预期结果:提示“无法将‘openclaw’项识别为 cmdlet、函数、脚本文件或可运行程序的名称”。如果还能输出版本号,说明全局包没卸干净,回到 4.2 重跑。
检查计划任务是否删除:
schtasks /Query /TN "OpenClaw*" 2>$null预期结果:无输出或报错找不到任务。有输出说明任务还在,回到 4.1。
检查端口是否释放:
netstat -ano | findstr :18789预期结果:无输出。有输出说明还有进程占用端口,用tasklist | findstr PID找到进程再处理。
检查配置目录是否已删:
Test-Path "$env:USERPROFILE\.openclaw" Test-Path "$env:USERPROFILE\.clawdbot" Test-Path "$env:USERPROFILE\.moltbot" Test-Path "$env:USERPROFILE\.molthub"预期结果:全部返回False。有True就回到 4.4 重删。
检查 npm 全局列表:
npm list -g --depth=0预期结果:列表里没有 openclaw 或 openclaw-cn。
检查 npm 全局目录残留:
Get-ChildItem "$(npm root -g)" -Filter "*claw*"预期结果:无匹配。有匹配说明包目录还在,手动删:
Remove-Item -Recurse -Force "$(npm root -g)\openclaw" -ErrorAction SilentlyContinue Remove-Item -Recurse -Force "$(npm root -g)\openclaw-cn" -ErrorAction SilentlyContinue全部验证通过后,重装就不会有旧配置冲突了。
6. 本篇常见错排查
6.1 npm uninstall 报 EPERM 权限错误
Win11 上如果终端不是管理员,删全局包可能报EPERM: operation not permitted。解决:Win + X 选“终端管理员”,或者用管理员身份打开 PowerShell 再跑卸载命令。
6.2 openclaw --version 还能跑但 npm list 里没有
这种情况通常是 PATH 里还留着旧的启动脚本路径,或者脚本被复制到了其他目录。用where.exe openclaw定位实际路径:
where.exe openclaw返回的路径就是残留位置,手动删掉对应文件,再从 PATH 里移除该目录。
6.3 计划任务删不掉,提示“拒绝访问”
计划任务可能属于 SYSTEM 权限。用管理员终端跑schtasks /Delete /F /TN "OpenClaw Gateway",如果还不行,打开“任务计划程序”图形界面手动删。
6.4 端口 18789 被占用但找不到 openclaw 进程
可能是其他程序占用了同端口。用:
netstat -ano | findstr :18789拿到 PID 后:
tasklist /FI "PID eq 你的PID"确认不是 openclaw 相关进程就不用管,是的话用taskkill /F /PID 你的PID结束。
6.5 重装后配置还是旧的
说明配置目录没删干净。重点检查$env:USERPROFILE\.openclaw和$env:LOCALAPPDATA\openclaw-logs,以及C:\tmp\openclaw。有些版本还会在%APPDATA%下写数据:
Test-Path "$env:APPDATA\openclaw"返回True就一起删。
6.6 npm cache clean 后其他项目变慢
npm cache clean --force会清空全部缓存,下次装包要重新下载。如果不想影响其他项目,可以只删 openclaw 相关缓存,或者跳过这步,因为 npm 卸载本身不会因为缓存导致重装冲突。
7. 卸载干净后,用 TaoToken 接回模型能力
openclaw 清干净了,如果你还需要模型对话、代码补全或 Agent 能力,可以按第 3 节的配置把 TaoToken 接上。核心就两步:在 API Keys 页面拿到 Key,然后设置TAOTOKEN_API_KEY和TAOTOKEN_BASE_URL两个环境变量。
需要长期跑编码任务或 Agent 的,看 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite
只想先试试模型对话效果的,去模型对话页:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite
接入过程中遇到报错,先查接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite
Key 管理在:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite
最后提醒一句:卸载 openclaw 时最容易漏的是$env:USERPROFILE\.openclaw这个隐藏目录和OpenClaw Gateway计划任务。这两处不删,重装十有八九会冲突。按第 5 节的验证清单逐条过一遍,全绿了再装新东西。