软件卸载不干净?从原理到实战,教你彻底清理OpenClaw等复杂应用
1. 从一次“卸载失败”的实战经历说起最近在折腾本地AI助手OpenClaw这个名字估计不少玩开源大模型的朋友都听过。它作为一个功能丰富的AI智能体框架确实能玩出不少花样。但就像很多功能强大的软件一样装的时候有多爽卸的时候可能就有多头疼。我前两天就遇到了一个典型场景想彻底清理掉一个旧版本的OpenClaw为部署新版本腾出空间结果发现无论是用系统自带的卸载程序还是手动删除安装目录总感觉有“幽灵文件”残留。系统盘空间没完全释放注册表里也似乎留着点尾巴甚至后来重装时还遇到了奇怪的版本冲突报错。这感觉就像除草只割了叶子根还深埋土里迟早还得再长出来。所以今天这篇内容就是一次彻底的“连根拔起”行动记录。它不仅仅适用于OpenClaw其思路和方法对于很多在Windows、macOS或Linux上安装的、涉及复杂依赖和环境配置的软件比如开发工具、数据库、科学计算环境等的彻底卸载都有很高的参考价值。我们将从原理上理解为什么软件会卸载不干净然后手把手走完从常规操作到深度清理的完整流程最后再分享几个能帮你“防患于未然”的部署习惯。2. 为什么软件会“卸载不干净”理解残留物的来源在动手之前我们先得搞清楚“敌人”藏在哪里。一个软件尤其是像OpenClaw这样可能集成了Python环境、模型文件、服务配置的复杂应用在系统里留下的痕迹远不止一个安装文件夹。所谓的“卸载不完全”通常是指以下几种残留2.1 用户数据与配置文件这是最常见也是最容易被忽略的。卸载程序通常只移除程序本身但会保留你的个人数据以防误删。对于OpenClaw这可能包括配置文件如config.yaml,.env等通常位于用户主目录如C:\Users\[你的用户名]\.openclaw或~/.openclaw或安装目录下的config文件夹。缓存文件模型下载的缓存、会话历史、临时生成的文件等。它们体积可能很大比如下载的几十GB的大模型文件。日志文件运行过程中产生的日志用于排查问题。2.2 注册表与系统服务Windows特有在Windows系统上软件经常向注册表写入配置信息用于文件关联、自启动、环境变量等。OpenClaw如果以Windows服务形式安装例如某些一键安装包还会创建系统服务项。手动删除文件夹不会触动这些注册表键值和服务项。2.3 环境变量与路径安装过程中安装程序可能会修改系统的PATH环境变量将OpenClaw的可执行文件目录如C:\OpenClaw\bin或~/openclaw/bin添加进去。卸载后这些无效的路径仍然存在可能导致命令行混乱。2.4 依赖库与虚拟环境OpenClaw基于Python很可能在安装时创建了一个独立的Python虚拟环境venv或者通过包管理器如pip安装了大量第三方库如torch,transformers,langchain等。标准的卸载可能只移除了启动器但这个虚拟环境目录如venv/,.venv/, 或一个独立的python文件夹及其中的所有包都还留在磁盘上。2.5 隐藏的进程与锁定的文件卸载时如果OpenClaw的相关进程如后台API服务、Web UI进程没有完全退出它们可能会锁定一些文件如数据库文件、日志文件导致这些文件无法被删除。你看着文件夹删掉了但重启后或者从资源管理器里看是空的实际上磁盘空间未被释放就是因为文件句柄还被占用着。理解了这些残留物的藏身之处我们的“连根拔起”行动就有了明确的目标。接下来我们分平台进行实战操作。3. Windows平台下的彻底清理指南在Windows上由于注册表和系统服务的存在清理工作需要更细致一些。我们按照从易到难、从外到内的顺序进行。3.1 第一步标准卸载流程与检查首先尝试最正规的途径通过“设置”卸载打开「设置」-「应用」-「应用和功能」在列表中找到“OpenClaw”或相关发行方名称如“OpenClaw AI Assistant”点击卸载。这是首选方法因为它会调用软件自带的卸载程序。使用原始安装程序如果你还保留着原始的安装包如.exe或.msi文件再次运行它通常会出现「修改」、「修复」或「卸载」的选项选择卸载。关键检查点执行完标准卸载后立即打开任务管理器CtrlShiftEsc查看是否有名称中包含“openclaw”、“python”、“ollama”如果用了的进程仍在运行。如果有强制结束它们。3.2 第二步手动清理残留文件和目录标准卸载后我们需要手动搜查以下“据点”安装目录通常位于C:\Program Files\OpenClaw或C:\Program Files (x86)\OpenClaw也可能在你自定义的路径下。直接删除整个文件夹。用户数据目录打开文件资源管理器在地址栏输入%APPDATA%并回车查找并删除名为OpenClaw或.openclaw的文件夹。同样在地址栏输入%LOCALAPPDATA%并回车查找并删除OpenClaw相关的文件夹。这里常存放缓存和临时文件。检查用户主目录C:\Users\[你的用户名]\查看是否有.openclaw,openclaw等可见或隐藏的文件夹。模型缓存目录如果你自定义过模型下载路径请前往该位置例如D:\ai_models\openclaw进行删除。如果没改过模型可能就在用户目录的某个缓存文件夹里。注意在删除前请确认这些文件夹里没有你需要保留的配置文件或对话记录。如果有请先备份。3.3 第三步清理注册表高级操作谨慎注册表是Windows的核心数据库误操作可能导致系统不稳定。强烈建议在修改前备份注册表或创建系统还原点。按Win R输入regedit打开注册表编辑器。在顶部地址栏依次导航并查找以下键值路径删除与OpenClaw相关的项通常是文件夹形式的“键”。不要删除你不确定的整个父键HKEY_CURRENT_USER\Software\和HKEY_LOCAL_MACHINE\SOFTWARE\在这两个路径下寻找以“OpenClaw”或开发团队名称命名的文件夹。HKEY_CLASSES_ROOT查找与.openclaw文件扩展名或相关协议关联的项相对少见。HKEY_CURRENT_USER\Environment和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment查看Path值如果其中有OpenClaw的安装路径将其编辑删除。我的经验对于大多数由安装程序正规安装的软件在HKEY_CURRENT_USER\Software和HKEY_LOCAL_MACHINE\SOFTWARE下找到并删除对应的公司/产品名文件夹通常就能清理掉大部分注册表信息。环境变量部分更建议通过系统属性GUI界面修改更安全。3.4 第四步检查并清理环境变量在开始菜单搜索“环境变量”选择“编辑系统环境变量”。在「系统属性」窗口点击「环境变量」。在「系统变量」和「用户变量」列表中分别找到Path变量选中后点击「编辑」。在编辑窗口中仔细查看每一条路径找到指向已删除的OpenClaw目录的路径如C:\OpenClaw\bin将其选中并点击「删除」。完成后逐一点击确定退出。3.5 第五步使用专业卸载工具作为“终极大招”如果你觉得手动操作太麻烦或者不确定是否清理干净可以借助专业的第三方卸载工具。它们能深度扫描文件、文件夹、注册表和服务。推荐工具Geek Uninstaller免费版已足够、Revo Uninstaller、IObit Uninstaller。操作方法以Geek Uninstaller为例即使你已经通过标准方式卸载了OpenClaw仍然可以在其列表中找到“残留条目”通常显示为灰色。右键点击它选择“强制删除”然后让工具执行深度扫描它会找出所有关联的残留文件和注册表项由你确认后一并删除。实操心得对于普通用户我建议的Windows清理顺序是标准卸载 - 手动删除安装目录和用户目录 - 使用Geek Uninstaller扫描残留 - 最后检查环境变量。这个组合拳基本能解决99%的问题且风险可控。4. macOS与Linux平台的深度卸载策略在macOS和Linux上虽然没有注册表但依赖管理和文件散落各处的问题同样存在。特别是通过Homebrew、脚本或源码编译安装的情况。4.1 macOS 的清理假设你是通过下载的.dmg安装包或Homebrew安装的OpenClaw。情况一通过 .dmg 安装包安装常规卸载直接将「应用程序」文件夹中的 OpenClaw.app 拖入废纸篓并清空。清理支持文件打开 Finder使用快捷键Cmd Shift G前往文件夹。分别输入以下路径并前往删除与 OpenClaw 相关的文件夹~/Library/Application Support/存放应用数据~/Library/Caches/存放缓存~/Library/Preferences/存放plist配置文件形如com.xxx.openclaw.plist~/Library/Logs/存放日志检查命令行工具如果你在终端中使用过openclaw命令那说明有命令行工具被安装到了/usr/local/bin/或~/bin/目录下。打开终端输入which openclaw查看命令路径然后使用rm命令删除该符号链接或文件例如sudo rm /usr/local/bin/openclaw。情况二通过 Homebrew 安装如果通过brew install openclaw或类似Tap安装的那么卸载会相对干净。卸载软件本身brew uninstall openclaw清理依赖和缓存brew autoremove移除不再被任何公式引用的依赖和brew cleanup清理旧的下载缓存。如果上述命令后仍有残留感可以尝试brew uninstall --force openclaw进行强制卸载但需谨慎。4.2 Linux 的清理Linux上的安装方式多样apt/yum/dnf包管理器、Snap/Flatpak、AppImage、源码编译等这里以最常见的包管理器安装和源码/脚本安装为例。情况一通过包管理器安装如Debian/Ubuntu的apt首先尝试用包管理器卸载sudo apt remove openclaw或sudo apt purge openclaw。关键区别remove只删除软件包保留配置文件purge会连配置文件一起删除。为了彻底建议用purge。删除可能残留的用户数据rm -rf ~/.openclaw和rm -rf ~/.cache/openclaw。检查并清理可能被添加的APT源sudo rm /etc/apt/sources.list.d/openclaw.list如果存在的话。情况二通过运行安装脚本或源码编译安装这通常是最容易残留的情况因为文件可能被放置到多个非标准位置。定位安装目录回想安装时的步骤。通常安装脚本会提示“Installing to /opt/openclaw”或“Binary copied to /usr/local/bin”。常见的目录有/opt/,/usr/local/,/home/[user]/apps/等。删除主目录使用sudo rm -rf /path/to/openclaw删除整个安装目录。删除全局二进制链接检查/usr/local/bin/或/usr/bin/下是否有openclaw的符号链接或可执行文件which openclaw。然后删除sudo rm /usr/local/bin/openclaw。清理系统服务如果安装脚本配置了systemd服务需要禁用并删除服务文件。sudo systemctl stop openclaw.service # 停止服务 sudo systemctl disable openclaw.service # 禁用开机自启 sudo rm /etc/systemd/system/openclaw.service # 删除服务文件 sudo systemctl daemon-reload # 重新加载systemd配置清理用户数据同前rm -rf ~/.openclaw。检查环境变量编辑~/.bashrc,~/.zshrc或~/.profile文件移除任何添加了OpenClaw路径的export PATH...行。然后执行source ~/.bashrc使更改生效。一个通用查找技巧如果你完全忘了装在哪可以用find和locate命令在全盘搜索。# 使用 find 命令可能需要sudo且较慢 sudo find / -name *openclaw* -type d 2/dev/null # 使用 locate 命令更快但需要先更新数据库sudo updatedb locate openclaw仔细审查搜索出来的路径判断哪些是系统或其他软件需要的哪些是你可以安全删除的OpenClaw残留。5. 针对虚拟环境与Docker部署的特殊清理OpenClaw很可能在Python虚拟环境或Docker容器中运行这两种方式的清理逻辑与常规软件不同。5.1 Python虚拟环境venv的清理如果你是在一个独立的虚拟环境中安装和运行OpenClaw那么清理变得非常简单且干净。找到虚拟环境目录进入你当初创建和激活虚拟环境的目录。通常它叫venv,.venv, 或openclaw-env。直接删除整个目录rm -rf venvLinux/macOS或直接右键删除文件夹Windows。这就是“根”删掉它这个环境下的所有Python包和OpenClaw本身都消失了。清理调用脚本检查你用来启动OpenClaw的脚本或命令确保它们没有引用已删除的虚拟环境路径。通常你只需要删除这个虚拟环境文件夹就完成了99%的清理工作。为什么这是最干净的方式虚拟环境的核心思想就是隔离。所有依赖都被“锁”在这个文件夹里不会污染系统级的Python。删除它等同于将这个沙盒连同里面的一切彻底抹去。5.2 Docker容器部署的清理如果你通过Docker运行OpenClaw那么它的一切代码、依赖、环境都被封装在容器和镜像里清理主要通过Docker命令完成。停止并删除容器# 列出所有容器找到OpenClaw相关的容器ID或名字 docker ps -a # 停止容器如果还在运行 docker stop container_id_or_name # 删除容器 docker rm container_id_or_name删除镜像容器是基于镜像创建的。删除容器后镜像可能还在。# 列出镜像找到OpenClaw相关的镜像ID docker images # 删除镜像 docker rmi image_id # 如果镜像有标签也可以用标签删除 docker rmi openclaw:latest清理数据卷Volumes这是最容易残留数据的地方如果运行容器时使用了-v参数将主机目录挂载到容器内例如存放模型或配置那么主机上的这个目录需要手动清理。如果使用了Docker管理的匿名或命名卷也需要删除。# 列出所有数据卷 docker volume ls # 找到与OpenClaw相关的卷名可能名字比较随机 # 删除数据卷 docker volume rm volume_name清理网络如果创建了自定义Docker网络也需要清理。docker network ls docker network rm network_name踩坑提醒Docker清理后务必用docker system prune -a命令谨慎清理。这个命令会删除所有已停止的容器、所有未被使用的镜像、所有未被容器引用的网络和构建缓存。执行前请确认因为这会清理你所有Docker项目未在使用的资源。一个更安全的方法是只清理悬空镜像docker image prune。6. 如何验证是否真的“卸载干净”了执行完上述所有步骤后如何确认系统已经恢复如初了呢以下是一些验证方法磁盘空间检查对比清理前后系统盘或目标磁盘的可用空间是否有了预期的增长。可以使用系统自带的磁盘分析工具如Windows的“磁盘清理”、macOS的“关于本机-存储空间”、Linux的ncdu或baobab查看大文件目录确认之前OpenClaw所在的目录是否已消失或清空。全盘搜索使用操作系统的搜索功能Windows资源管理器搜索、macOS Spotlight、Linux的find/locate再次搜索“openclaw”关键词。理想情况下除了你可能的备份文件或本文档不应该再有任何属于程序本身的文件。环境变量与路径验证Windows打开新的命令提示符CMD或PowerShell输入echo %PATH%检查输出中是否已无OpenClaw路径。macOS/Linux打开新的终端窗口输入echo $PATH同样检查。进程与服务检查重启电脑。这是一个非常有效的“硬重置”方法可以释放所有被锁定的文件句柄和内存中的残留。重启后检查任务管理器或ps aux | grep openclaw确认没有任何相关进程在运行。Windows检查服务列表services.mscLinux检查systemd服务 (systemctl list-units --typeservice)确认没有残留的OpenClaw服务。尝试重新安装最直接的验证。找一个与之前不同的路径尝试重新安装OpenClaw。如果安装过程顺利没有报出“已存在”、“版本冲突”等错误并且新安装的程序能正常运行这通常意味着旧版本已被彻底清理。7. 防患于未然让未来的卸载变得更简单最好的清理是不需要深度清理。通过养成一些好的安装部署习惯可以极大降低未来卸载的复杂度。优先使用虚拟环境或容器对于Python项目永远优先使用虚拟环境venv, conda。对于任何服务型应用考虑使用Docker。它们提供了完美的隔离卸载时直接删除整个环境或容器即可一了百了。使用包管理器在macOS上尽量用Homebrew在Linux上尽量用官方包管理器apt, yum, dnf或Snap/Flatpak。它们有完善的安装、更新和卸载流程能更好地管理系统依赖。自定义安装路径并做好记录如果必须手动安装请将其安装到一个独立的、易于识别的目录例如D:\Apps\OpenClaw或/opt/openclaw。同时用一个简单的文本文件记录你安装时做了哪些操作改了哪些配置、添加了哪些环境变量、安装了哪些服务。这个“安装日志”在卸载时会成为你的最佳指南。在用户目录下管理配置和数据鼓励软件将配置文件~/.config/openclaw和数据文件~/.local/share/openclaw存放在标准化的用户目录下。这样即使软件本身装在了系统目录你的个人数据也能集中管理重装系统或迁移时也方便备份。考虑使用便携版Portable如果软件提供便携版它将所有文件都包含在一个文件夹内不写注册表不装系统服务。直接删除整个文件夹就是彻底卸载。这对于在Windows上尝试新软件特别友好。彻底卸载一个软件尤其是复杂的开发工具或AI框架是一项需要耐心和细心的系统化工程。它考验的是你对软件安装机制和操作系统文件管理的理解。希望这份从原理到实操覆盖三大主流平台的指南能帮你下次在面对“卸载残留”问题时从容地完成一次漂亮的“连根拔起”。记住最有效的清理始于最规范的安装。当你养成隔离部署和记录操作的习惯后这类问题自然会离你远去。

相关新闻

Windows 10进入UEFI固件设置:告别开机狂按Del,掌握系统内一键直达

Windows 10进入UEFI固件设置:告别开机狂按Del,掌握系统内一键直达

1. 从“开机狂按Del”到“系统内一键直达”:Windows 10进入UEFI固件设置的完整指南 如果你还停留在“开机瞬间狂按Delete或F2”才能进BIOS/UEFI设置的刻板印象里,那说明你的电脑知识库该更新了。尤其是在Windows 10及之后的现代操作系统上,微…

2026/10/14 8:15:00 阅读更多 →
为什么你的SD出图总卡在75步?——深度解析4类插件冲突根源及实时诊断命令

为什么你的SD出图总卡在75步?——深度解析4类插件冲突根源及实时诊断命令

更多请点击: https://codechina.net 第一章:为什么你的SD出图总卡在75步?——深度解析4类插件冲突根源及实时诊断命令 Stable Diffusion 在生成图像时频繁卡在第75步(尤其是使用 ddim 或 uni_pc 等采样器时)&#x…

2026/10/15 0:09:28 阅读更多 →
使用Docker容器化部署《幻兽帕鲁》私服:从环境搭建到运维管理实战指南

使用Docker容器化部署《幻兽帕鲁》私服:从环境搭建到运维管理实战指南

1. 从零到一:为什么用Docker来搭《幻兽帕鲁》私服?最近《幻兽帕鲁》这游戏火得不行,身边不少朋友都在问,有没有办法自己搭个服务器,跟三五好友一起玩,不受官方服务器波动影响,还能自己定规则&am…

2026/10/14 14:33:37 阅读更多 →

最新新闻

Java汽车4S店管理系统源码实战:Spring Boot+Vue端到端业务闭环

Java汽车4S店管理系统源码实战:Spring Boot+Vue端到端业务闭环

简介:这是一套完整的Java汽车4S店管理系统源码,面向Java Web初学者与中小型汽车服务企业信息化建设者,聚焦销售、售后、库存、客户关系等核心业务场景,提供可直接部署、二次开发的全栈解决方案。资源包共2000个文件,涵…

2026/10/15 0:09:03 阅读更多 →
MATLAB实现MIMO系统广义奈奎斯特曲线:特征轨迹法绘制与稳定性判据

MATLAB实现MIMO系统广义奈奎斯特曲线:特征轨迹法绘制与稳定性判据

简介:一套面向无线通信与自动控制专业学生及研究者的MATLAB工具包,围绕多输入多输出(MIMO)系统广义奈奎斯特(Nyquist)曲线绘制而设计,可用于分析多变量系统的闭环稳定性与奈奎斯特判据在MIMO场景…

2026/10/15 0:09:03 阅读更多 →
openrig实战:用Node.js与tmux搭建稳定的AI编程工作台

openrig实战:用Node.js与tmux搭建稳定的AI编程工作台

1. 从"openrig"这个名字说起:它到底想解决什么问题第一次看到"openrig"这个词,我脑子里蹦出来的不是某个具体软件,而是一种"开放式工作台"的意象。rig在英文里有"装配、搭台、装置"的意思&#xff0…

2026/10/15 0:09:03 阅读更多 →
ponytail 插件实战:用技能包管理器终结命令行重复劳动

ponytail 插件实战:用技能包管理器终结命令行重复劳动

先说清楚一件事,我看到"ponytail"这个词的第一反应也是发型,直到有个同事把它的插件仓库丢给我,说"这玩意儿能省掉你一下午的重复劳动",我才意识到这是个命令行工具圈的插件。这个 ponytail 插件的定位很有意…

2026/10/15 0:09:03 阅读更多 →
Charles抓包工具实战指南:HTTPS解密与移动端真机调试

Charles抓包工具实战指南:HTTPS解密与移动端真机调试

1. 为什么今天还要学Charles——一个被低估的“网络显微镜”很多人第一次听说Charles,是在某次接口调试失败后,同事甩过来一句:“你抓个包看看?”然后打开一个界面略显陈旧、图标像放大镜加波形图的桌面应用。它不像Wireshark那样…

2026/10/15 0:09:03 阅读更多 →
064、广播数据长度超出承载上限时的分包处理

064、广播数据长度超出承载上限时的分包处理

现场:一条永远发不出去的广播 几年前做一个分布式采集系统,主控通过广播通道向所有节点下发同步命令和参数。协议栈的单帧净荷上限是 31 字节,这是链路层硬约束,改不了。前期功能很简单,同步命令就几个字节&#xff0c…

2026/10/15 0:08:01 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →