1. 为什么 OpenClaw 卸载后还会“阴魂不散”
OpenClaw(龙虾)这类本地 Agent 工具,安装时往往不止往一个地方写东西。它可能同时做了四件事:往 npm 全局目录塞了一个 CLI 包、在用户目录建了配置和工作区、注册了开机自启的计划任务、往注册表写了环境变量或启动项。你如果只在控制面板里点一下“卸载”,或者只跑一句npm uninstall -g openclaw,剩下的三处残留会继续占着磁盘、继续在后台尝试拉起进程,甚至在你重新装别的工具时因为端口或环境变量冲突而报错。
我见过最典型的现象是:明明已经卸载了,打开 PowerShell 输入openclaw还能跑出帮助信息,或者where.exe openclaw仍然指向一个已经不存在的路径。这不是灵异事件,而是 npm 的全局 bin 目录里留了一个 shim(垫片脚本),真正的包体删了,但入口还在。另一个高频现象是~/.openclaw目录没删,里面存着 API Key、会话历史和 workspace 文件,下次装新版本时它直接读旧配置,导致行为诡异。
所以这篇内容的目标很明确:把 Windows 下 OpenClaw 的卸载做成一套可复制的流程,覆盖 npm 全局包、PowerShell 计划任务与配置文件、注册表残留三个层面,最后用 TaoToken 的统一 Key/API 通道验证环境是否干净、API 调用是否恢复正常。适合谁看?适合已经装过 OpenClaw、现在想彻底清掉换用其他方案的人;也适合装了又卸、卸了又装反复折腾,想一次性把环境复原到干净状态的开发者。
核心检索词先摆出来:OpenClaw 卸载、npm 全局包清理、PowerShell 残留检查、注册表清理路径、TaoToken API 通道验证。下面按“先卸载、再清理、后验证”的顺序走,每一步都给可复制的命令和预期结果。
2. TaoToken 前置:统一 Key 与 API 通道的准备
在清理之前,先把 TaoToken 这条通道准备好,原因是:卸载 OpenClaw 之后你需要一个稳定的 API 入口来验证环境是否恢复正常。如果验证时还用着 OpenClaw 残留的配置,你根本分不清是卸载没干净还是网络问题。TaoToken 的作用是把模型调用统一到一个 Base URL 和一把 Key 上,这样验证请求的变量最少,出问题也好定位。
TaoToken 是什么、能做什么:它是一个面向开发者的模型 API 聚合通道,提供统一的 Base URL 和 API Key,兼容 OpenAI 风格的接口格式。你可以把它理解成一个“总机”——不管你后面想调哪个模型,请求都先发到这个总机,由它转发。适合谁:适合需要在本地工具(比如 Cline、Claude Code、Codex 这类编码 Agent)里配置模型通道的开发者,也适合想用一个 Key 管理多个模型调用的场景。
前置准备分三步。第一步,拿到 API Key。访问 API Keys 管理页面(deep link:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite ),登录后创建一个新的 Key,复制保存。注意 Key 只在创建时完整显示一次,关掉页面就看不到了,所以先粘到记事本里。
第二步,确认 Base URL。TaoToken 的 API 地址是https://taotoken.net/api,注意这个地址不带任何查询参数,配置时直接填这个。如果你在文档里看到带 UTM 的链接,那是给网页访问用的,填到配置文件里的 Base URL 必须是干净的https://taotoken.net/api。
第三步,确认你要用的 Model ID。不同工具的配置项名称不一样,有的叫model,有的叫model_id,但值都是模型标识符。你可以在模型对话页面(deep link:https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_content=model_chat&utm_campaign=rewrite )里先手动发一条消息,确认 Key 和模型都能正常工作,再去配置本地工具。这一步很关键,因为本地工具的报错信息往往很模糊,先在网页端确认通道可用,能排除掉一大半问题。
如果你打算长期做编码或跑 Agent 任务,可以了解一下 Coding Plan(deep link:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite ),它针对高频编码场景做了额度优化。不过这篇的重点是卸载清理,Coding Plan 只是顺带提一句,你按需选择即可。
准备好这三样东西(Key、Base URL、Model ID)之后,再开始卸载。顺序很重要:先备好新通道,再拆旧环境,这样中间不会出现“工具没了、API 也没了”的空窗期。
3. 可复制配置:npm 卸载、PowerShell 脚本与注册表清理
这一节是操作主体,分四块:npm 全局包卸载、PowerShell 计划任务与目录清理、注册表残留清理、以及清理后写入 TaoToken 配置。每块都给完整命令和预期输出。
3.1 npm 全局包卸载与 shim 清理
先确认 OpenClaw 是不是通过 npm 装的。打开 PowerShell,执行:
npm list -g --depth=0输出里如果看到openclaw@x.x.x,说明是 npm 全局安装。接着卸载:
npm uninstall -g openclaw卸载完成后,npm 有时会留下 bin 目录里的 shim 文件。执行下面命令查看 npm 全局 bin 路径:
npm config get prefix假设输出是C:\Users\你的用户名\AppData\Roaming\npm,去这个目录下找openclaw、openclaw.cmd、openclaw.ps1这三个文件,如果还在就手动删掉:
Remove-Item -Force "$env:APPDATA\npm\openclaw*"然后验证:
where.exe openclaw预期结果是没有任何输出,或者提示“INFO: Could not find files”。如果还能找到路径,说明 shim 没删干净,回到上一步继续删。
3.2 PowerShell 计划任务与残留目录清理
OpenClaw 可能注册了开机自启的计划任务。先查有没有:
schtasks /Query /TN "OpenClaw Gateway" 2>$null如果提示找不到任务,说明没配自启,跳过。如果查到了,删除:
schtasks /Delete /F /TN "OpenClaw Gateway"接着清理用户目录下的配置和工作区。先看一眼有哪些残留目录:
$paths = @( "$env:USERPROFILE\.openclaw", "$env:USERPROFILE\.clawdbot", "$env:USERPROFILE\.moltbot", "$env:APPDATA\OpenClaw", "$env:LOCALAPPDATA\OpenClaw" ) foreach ($p in $paths) { if (Test-Path $p) { Write-Host "存在: $p" } }确认这些目录里没有你还需要的文件后,执行删除:
foreach ($p in $paths) { if (Test-Path $p) { Remove-Item -Recurse -Force $p } }注意:~/.openclaw里可能存着你的 API Key 和会话历史,删之前确认一下。如果你之前用的是 TaoToken 的 Key,那 Key 在 TaoToken 后台还能重新生成,不用担心丢。
3.3 注册表残留清理路径
注册表这块要小心,只删确认属于 OpenClaw 的项。先打开注册表编辑器(regedit),或者用 PowerShell 查询。常见位置有三个:
第一个是启动项:
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" | Select-Object *OpenClaw*第二个是环境变量(用户级):
[Environment]::GetEnvironmentVariable("OPENCLAW_HOME", "User")第三个是软件注册信息:
Get-ChildItem "HKCU:\Software" | Where-Object { $_.Name -like "*OpenClaw*" -or $_.Name -like "*Clawdbot*" }如果查到内容,用Remove-ItemProperty或Remove-Item删除。比如删除启动项:
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "OpenClaw" -ErrorAction SilentlyContinue删除软件注册项:
Remove-Item -Recurse -Force "HKCU:\Software\OpenClaw" -ErrorAction SilentlyContinue注意:注册表操作不可逆,删之前先导出备份。在 regedit 里右键对应项选“导出”,存成 .reg 文件。万一删错了可以双击恢复。
3.4 写入 TaoToken 配置(以 settings.json 为例)
环境清理干净后,把 TaoToken 的通道写进你接下来要用的工具配置里。以常见的settings.json为例,路径通常在%APPDATA%\<工具名>\settings.json或项目根目录的.vscode/settings.json。配置片段如下:
{ "apiBaseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "model": "你的ModelID", "provider": "openai-compatible" }如果你用的是 Claude Code 这类工具,配置项名称可能是ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY,对应写成:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的TaoToken密钥", "ANTHROPIC_MODEL": "你的ModelID" } }三件套记牢:Base URL 填https://taotoken.net/api,Key 填 TaoToken 后台生成的,Model ID 填你在模型对话页面确认过的那个。三个都对上,请求才能通。
4. 验证请求:卸载后 API 调用是否正常
清理完不等于结束,得验证两件事:一是 OpenClaw 确实没了,二是新的 API 通道能正常工作。验证分命令行验证和实际请求验证。
先做命令行验证。打开一个新的 PowerShell 窗口(重要:新窗口,避免旧环境变量残留),依次执行:
where.exe openclaw预期无输出。然后:
Test-Path "$env:USERPROFILE\.openclaw"预期返回False。再查计划任务:
schtasks /Query /TN "OpenClaw Gateway" 2>$null预期提示找不到任务。这三项都通过,说明卸载层面干净了。
接着做 API 请求验证。用 curl 直接打 TaoToken 的接口,确认通道可用:
curl.exe https://taotoken.net/api/v1/chat/completions ` -H "Content-Type: application/json" ` -H "Authorization: Bearer sk-你的TaoToken密钥" ` -d '{ "model": "你的ModelID", "messages": [{"role": "user", "content": "回复OK两个字"}] }'预期返回一段 JSON,choices数组里有内容,message.content是“OK”或类似回复。如果返回 401,说明 Key 不对;如果返回 404,说明 Base URL 或路径不对;如果返回reading choices相关错误,说明返回体不是预期的 JSON 结构,通常是 Base URL 填成了网页地址而不是 API 地址。
你也可以在模型对话页面手动发一条消息做交叉验证。如果网页端能通、curl 也能通,说明 TaoToken 通道没问题,卸载后的环境是干净的。如果网页端通、curl 不通,检查一下是不是 PowerShell 的引号转义问题,Windows 下 curl 的 JSON 参数容易因为引号被吃掉而报错,可以把 JSON 写到文件里用-d "@body.json"的方式发。
验证通过后,你就可以在干净的环境里重新配置工具了。这时候再装任何新工具,都不会被 OpenClaw 的残留配置干扰。
5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth
卸载和验证过程中,最容易撞上四类报错。逐个说清楚原因和修法。
401 Unauthorized。这个最直接,Key 不对或没带上。检查三处:一是 Key 有没有复制完整,TaoToken 的 Key 通常以sk-开头,后面一长串,少一位都不行;二是请求头是不是Authorization: Bearer sk-xxx,注意Bearer和 Key 之间有一个空格;三是 Key 有没有被禁用或删除,去 API Keys 页面确认状态。如果是在本地工具里报 401,还要检查配置文件里的 Key 有没有被引号或换行符污染。
local proxy failed。这个报错通常出现在本地工具尝试走代理但代理没起来的时候。如果你之前给 OpenClaw 配过本地代理端口,卸载后端口没了,但工具配置里还留着代理地址,就会报这个。修法是检查工具的代理配置项,把http.proxy或HTTPS_PROXY之类的设置清空,或者改成直连。在 PowerShell 里可以临时清掉环境变量:
Remove-Item Env:HTTP_PROXY -ErrorAction SilentlyContinue Remove-Item Env:HTTPS_PROXY -ErrorAction SilentlyContinue然后重开终端再试。
reading choices 相关错误。完整报错可能是error reading choices: unexpected end of JSON input或类似。这说明请求发出去了,但返回的不是标准 OpenAI 格式的 JSON。常见原因有两个:一是 Base URL 填错了,比如填成了https://taotoken.net而不是https://taotoken.net/api,导致请求打到了网页服务器而不是 API 网关;二是 Model ID 填错了,服务端返回了一个错误页而不是 JSON。修法是核对 Base URL 必须是https://taotoken.net/api,Model ID 必须是模型对话页面里确认可用的那个。
OAuth 相关报错。如果你用的工具走 OAuth 流程登录,卸载 OpenClaw 后可能残留了旧的 token 缓存,导致 OAuth 校验失败。修法是找到工具的凭证缓存目录(通常在%APPDATA%\<工具名>\或%USERPROFILE%\.<工具名>\),删掉token.json、credentials.json之类的文件,重新走一次登录流程。如果你用的是 TaoToken 的 Key 方式而不是 OAuth,这类报错一般不会出现。
排查顺序建议:先看 HTTP 状态码,401 查 Key,404 查 URL,500 查服务端;再看返回体,不是 JSON 就查 Base URL 和 Model ID;最后看本地环境,代理和缓存是两大嫌疑。按这个顺序走,大部分问题五分钟内能定位。
6. 环境复原后的通道选择与长期使用建议
卸载清理做完、验证通过之后,你的 Windows 环境就回到了干净状态。这时候再决定接下来用什么工具、走什么通道。如果你只是偶尔调一下模型,用模型对话页面就够了,不用装任何本地工具。如果你要做长期编码或跑 Agent 任务,那就在干净环境里重新配置,把 TaoToken 的三件套(Base URL、Key、Model ID)写进新工具的配置文件。
一个实用建议:把 TaoToken 的 Key 和 Base URL 单独记在一个地方,不要散落在各个工具的配置里。这样下次再卸载什么工具,你不用担心 Key 丢没丢,因为源头在 TaoToken 后台,随时能重新生成。另外,卸载任何工具之前,先跑一遍本文第 3 节的 PowerShell 检查脚本,看看它往哪些目录写了东西,心里有数再删,比事后翻注册表省事得多。
如果你在配置新工具时需要查参数,接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有各工具的配置示例。需要管理 Key 就去 API Keys 页面,需要确认模型可用性就去模型对话页面。长期编码的话,Coding Plan 页面有额度方案说明。通道选对了,环境干净了,剩下的就是安心写代码。