C 盘满了,系统更新装不上,NVIDIA 驱动解压失败,微信和企业微信的历史文件还在悄悄膨胀。这次我没有继续开手动清理模式,而是把终端交给 Codex:让它分析 C 盘占用、列出可清理项、生成清理命令、分步执行。最终给 C 盘腾出了 300 多 GB 的空间。
Codex 是 OpenAI 推出的命令行编码代理工具,你可以在终端里用自然语言给它派任务,它会自动生成脚本、执行命令、整理结果。C 盘清理只是其中一种用法,但非常适合用来理解它的工作方式:有分析、有方案、有执行、有报告,正好是 AI Agent 参与系统维护的标准流程。这篇文章从安装开始讲,然后给出一套可以直接套用的 C 盘清理提示词和操作步骤,最后把常见的 Codex 报错和解决方案一起列出来。如果你最近也在为 C 盘空间发愁,或者想搞清楚 Codex 到底能用来做什么实际任务,这篇建议收藏备用。
1. Codex 核心能力速览
先把最关键的信息放在前面,方便快速判断它适不适合你。
| 能力项 | 说明 |
|---|---|
| 项目类型 | 命令行编码代理(CLI Agent) |
| 核心功能 | 自然语言驱动代码生成、终端命令执行、脚本批量处理 |
| 支持平台 | Windows / macOS / Linux,常见为 npm 全局安装,具体以官方文档为准 |
| 硬件门槛 | 普通 CPU 即可,无 GPU 和显存依赖 |
| 启动方式 | 终端命令启动 codex |
| 主要用途 | 代码编写、重构、磁盘空间分析、文件批量操作、C 盘清理 |
| API 能力 | 本质上是模型 API 的客户端;可配置第三方兼容模型服务 |
| 批量任务 | 支持,可通过提示词一次性处理多个目录、多类文件 |
| 适合场景 | 本地文件整理、系统空间分析、清理脚本生成、项目代码批量修改 |
本文重点不是把 Codex 当成一个“C 盘清理软件”来用,而是演示一个 AI 编码代理如何参与系统维护任务。整个过程强调两点:先分析后删除、所有危险操作必须经过确认。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 为什么 C 盘会越来越满
在让 Codex 动手之前,先明确 C 盘被占满的常见来源。清理逻辑是一样的:找出大头、判断能不能删、用安全方式回收空间。
2.1 C 盘空间占用的大头
以下目录和数据最常导致 C 盘空间告急:
| 占用类型 | 典型位置 | 特点 |
|---|---|---|
| 系统更新缓存 | C:\Windows\SoftwareDistribution\Download |
更新安装包残留,通常可以清理 |
| 临时文件 | %TEMP% |
软件运行产生的临时数据,大多可清理 |
| 休眠文件 | C:\hiberfil.sys |
占用等于内存大小,不使用休眠可关闭 |
| 页面文件 | C:\pagefile.sys |
虚拟内存文件,不建议直接删除 |
| 组件存储 | C:\Windows\WinSxS |
不能直接删,需要用 DISM 清理 |
| 旧系统备份 | C:\Windows.old |
升级系统后的旧系统备份,可删除但需慎重 |
| 开发工具缓存 | npm、pip、yarn 缓存目录 | 清理起来相对安全 |
| 聊天软件文件 | 微信、企业微信的图片和视频缓存 | 可能包含重要记录,必须人工确认 |
| 浏览器缓存 | Chrome、Edge 缓存目录 | 清理安全,但可能影响已登录状态 |
| Docker 镜像 | Docker Desktop 的数据目录 | 悬空镜像和旧镜像占用极大 |
2.2 C 盘满的连锁反应
C 盘空间耗尽不只是“不能装软件”这么简单。系统更新会失败,NVIDIA 这类驱动在解压时也可能直接报“磁盘空间不足”,企业微信存储位置即使改到了 D 盘,历史文件仍可能留在原目录里继续占空间。这些情况都很适合交给 Codex 做一次全盘分析,而不是靠肉眼一层层翻文件夹。
3. Codex 环境准备与安装
Codex 本身不依赖显卡,也不挑电脑,但需要确保终端环境和 Node.js 可用。
3.1 安装条件
- Windows 10 或 Windows 11,或 macOS / Linux 系统。
- Node.js 18 及以上版本,用于通过 npm 安装 Codex CLI。
- 一个可以访问 Codex 服务的终端环境。
- 如果要用第三方模型服务,比如 DeepSeek 这类兼容 OpenAI 接口的服务,需要准备对应的 API Key 和服务地址。
检查 Node.js 版本:
bash复制node -v
npm -v
如果提示找不到命令,先安装 Node.js,再继续。
3.2 安装 Codex CLI
常见安装方式是通过 npm 全局安装:
bash复制npm install -g @openai/codex
安装完成后确认版本:
bash复制codex --version
随后执行登录:
bash复制codex login
登录过程会要求你使用 OpenAI 账号或 API Key 完成授权。如果你的网络无法直接访问 Codex 服务,会卡在登录或请求阶段,这个需要在网络层自行解决,文章不展开。
除了命令行安装,也有桌面版安装方式,按官方安装包提示操作即可,使用逻辑和 CLI 相同。
3.3 配置第三方模型服务
如果你没有 OpenAI 账号,但手头有 DeepSeek 或其他兼容 OpenAI 接口的模型服务,可以通过配置文件接入 Codex。常见配置文件路径为 ~/.codex/config.toml,具体以你安装的版本为准。
一个通用的配置模板如下:
toml复制model_provider = "third-party"
model = "your-model-name"
[model_providers.third-party]
name = "Third Party"
base_url = "https://api.example.com/v1"
api_key = "your-api-key-here"
这里需要根据实际服务商给出的接口地址和模型名修改 base_url、model、api_key,不要直接照抄。配置完成后重新打开终端,Codex 会按新配置发起请求。
4. 用 Codex 清理 C 盘:完整实操流程
这是文章的核心部分。整个过程分成四步:分析、生成方案、分类执行、生成报告。每一步都刻意留出人工审批的环节,避免 AI 在没有任何确认的情况下删除数据。
4.1 第一步:让 Codex 分析磁盘占用
先启动 Codex:
bash复制codex
建议把你的需求分成多条短指令,而不是一次性让 AI 完成所有事情。
第一条指令先让它扫描 C 盘:
text复制Analyze the disk usage of C drive. Find large files and folders over 1GB. Output a categorized report. Do not delete anything.
Codex 会调用系统命令扫描磁盘,例如 PowerShell 的 Get-ChildItem 和 Measure-Object,然后按目录大小排序给出结果。你需要检查这份报告,确认哪些目录确实占用较大。
如果 Codex 卡在扫描阶段,可能是因为目录数量太大或者没有管理员权限。此时可以用系统自带工具做二次确认,这里给一个常见 PowerShell 分析命令。
powershell复制Get-ChildItem -Path C:\ -Directory -Force -ErrorAction SilentlyContinue |
ForEach-Object {
$size = (Get-ChildItem -Path $_.FullName -Recurse -Force -File -ErrorAction SilentlyContinue |
Measure-Object -Property Length -Sum).Sum
[PSCustomObject]@{
Folder = $_.FullName
SizeGB = [math]::Round($size / 1GB, 2)
}
} |
Sort-Object SizeGB -Descending |
Select-Object -First 20
这条命令会列出 C 盘根目录下最大的 20 个子目录。执行时可能需要管理员权限,扫描过程中磁盘 I/O 会比较高,建议在空闲时段运行。
4.2 第二步:生成清理方案,不急着删
分析完成后,让 Codex 把可清理项分成三类:安全删除、需要人工复核、不要删除。
text复制Based on the disk usage report, list cleanup candidates. Categorize them into "safe to delete", "need review", and "do not delete". Explain why for each item. Do not execute anything yet.
这一步非常重要。不要越过它直接让 Codex 一键清理,否则 AI 有可能把不该删的文件加进命令里。Codex 生成分类后,你逐项确认,特别关注微信、企业微信、浏览器缓存这类可能包含个人数据的位置。
4.3 第三步:分类执行清理
确认分类结果后,可以从“safe to delete”这一类开始执行。比如让 Codex 清理临时文件:
text复制Clean up temporary files in the TEMP directory. Use Remove-Item with -Recurse -Force. Skip files that are in use. Show me the command before running it.
也可以分项目清理开发工具缓存:
bash复制npm cache clean --force
pip cache purge
这两个命令清的是 npm 和 pip 的下载缓存,通常安全。如果 Codex 没有主动执行,你可以把命令发给它,让它判断后放入清理计划。
针对系统更新缓存,可以执行:
text复制Clean up Windows Update download cache in C:\Windows\SoftwareDistribution\Download. Only delete files, do not stop any services unless necessary.
实际操作时,最好先停止 Windows Update 服务再清理,但这一步需要管理员权限。你可以让 Codex 生成完整流程,但你手动确认后以管理员身份执行,而不是让 Codex 直接跑一个风险极高的系统级脚本。
对于 C:\Windows.old 和休眠文件这类特殊项,不建议交给 Codex 自动删。休眠文件要在管理员 PowerShell 里执行:
powershell复制powercfg /h off
Windows.old 可以通过磁盘清理工具或系统设置移除。WinSxS 组件存储则使用 DISM 清理,而不是直接删目录:
powershell复制Dism.exe /Online /Cleanup-Image /StartComponentCleanup
4.4 第四步:生成清理报告并对比空间
清理完成后,让 Codex 再扫描一次 C 盘,对比前后剩余空间:
text复制Scan C drive again. Compare free space before and after cleanup. Output a summary report with the amount of space recovered.
这一步很直观。如果空间变化不大,说明还有大文件没被识别,或者有些文件被进程占用,需要重启后再清一轮。
4.5 清理中的权限与审批
Codex 在执行命令时通常会请求确认,尤其是删除类操作。建议全程保持人工审批。关键原则是:AI 负责生成方案和命令,你做最终决定。下面这个交互习惯值得保留:
- 先要求 Codex 只输出命令,不直接执行。
- 检查命令里的路径是否准确。
- 检查是否有递归删除符号
-Recurse -Force。 - 检查是否有通配符可能匹配到意料之外的文件。
如果你在提示词里写清楚“show me the command before running it”,Codex 会先把命令列出来,你再确认放行。
5. 把清理流程做成批量脚本
C 盘清理不是一次性的。更实用的做法是让 Codex 生成一个可重复执行的 PowerShell 清理脚本,放到固定位置,以后定期运行。
5.1 让 Codex 生成批量清理脚本
提示词可以这样写:
text复制Write a PowerShell script that cleans the following items:
1. %TEMP% files older than 7 days.
2. npm cache.
3. pip cache.
4. Windows Update download cache.
The script should log each operation to a log file. It must not stop services. It must not delete files younger than 7 days except caches. Show me the script first.
Codex 生成的脚本可能会包含以下逻辑:
powershell复制$log = "C:\Logs\disk-cleanup.log"
$cutoff = (Get-Date).AddDays(-7)
# Clean temp files
Get-ChildItem -Path $env:TEMP -File -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -lt $cutoff } |
Remove-Item -Force -ErrorAction SilentlyContinue
# Clean npm cache
npm cache clean --force 2>$null
# Clean pip cache
pip cache purge 2>$null
Add-Content -Path $log -Value "$(Get-Date): cleanup finished"
实际脚本需要根据你的目录和需求调整,不要直接照搬。脚本执行前先做 dry-run 验证。
5.2 Dry-run 验证
批量清理之前,先让 Codex 生成一个预览版本:只列出将被删除的文件,不真正删除。
text复制Run the cleanup script in preview mode. List the files that would be deleted. Do not delete anything.
如果脚本支持 -WhatIf 参数,可以直接在 PowerShell 里测试:
powershell复制.\disk-cleanup.ps1 -WhatIf
这一步能发现路径错误和误匹配问题。确认无误后再去掉 -WhatIf 执行。
5.3 加入日志和失败重试
批量任务必须加日志。每次清理后记录时间、清理项、释放空间、失败项。后续排查时,日志比你的记忆更可靠。对于被占用的文件,可以选择跳过而不是强行删除,避免半路中断。
6. 接口、API 与模型配置细节
Codex 本身不是常驻的 Web API 服务,它工作在终端中。但它的底层是模型 API 的客户端,所以理解它的请求配置很重要。
6.1 模型配置与常见字段
配置文件中的核心字段如 model_provider、model、base_url、api_key 决定了 Codex 请求哪个模型服务。如果你接入的是兼容 OpenAI 接口的第三方服务,例如 DeepSeek 或其他国产模型服务,要注意服务商给出的 base_url 是否以 /v1 结尾。很多请求失败都出在路径拼接上。
一个最小配置示例:
toml复制model = "deepseek-chat"
[model_providers.third-party]
name = "Third Party"
base_url = "https://api.example.com/v1"
api_key = "your-api-key-here"
实际填写时以服务商文档为准。模型名写错是另一个高频问题,例如某些版本会提示模型不被支持,此时检查配置里的模型名,改成当前服务商实际支持的模型。
6.2 通用 API 调用参考
如果你想把 Codex 生成的清理报告汇总到自己的工具或网页里,可以在脚本里加一个 HTTP 上报逻辑。下面这段 Python 代码是通用调用模板,需要按你的目标接口调整地址和字段:
python复制import requests
url = "https://your-api-server.example.com/report"
payload = {
"host": "localhost",
"cleanup_date": "2025-01-01",
"recovered_space_gb": 12.5,
"status": "success"
}
response = requests.post(url, json=payload, timeout=30)
print(response.status_code, response.json())
这段代码不直接对应 Codex 内部接口,而是演示如何把清理结果接入自己的服务。实际接口路径、字段名要以你自己的后端为准。
7. 资源占用与性能观察
Codex 不是图像模型,不需要显存,对显卡没有要求。它的资源消耗主要来自两方面:终端进程本身的占用量,以及运行时扫描大目录带来的磁盘 I/O 压力。
7.1 Codex 本身占用
从资源占用角度看,Codex 是轻量级命令行工具,不需要常驻大型进程。内存占用通常不会成为问题,真正需要注意的是它执行扫描和递归删除时,磁盘 I/O 会明显升高。任务管理器里可以重点观察“磁盘”一栏和“内存”一栏,如果磁盘活动时间长期接近 100%,说明正在大量读写,此时再启动其他重负载应用容易卡顿。
7.2 清理操作的性能瓶颈
递归扫描 C:\Windows\WinSxS 或整个用户目录时,速度取决于硬盘类型和文件数量。机械硬盘或大量小文件场景下,扫描时间会显著变长。通过 Codex 发起任务后,终端会长时间停留在一个命令上,这属于正常现象,不要误判为卡死。
7.3 优化清理时的性能
- 尽量在系统空闲时段运行扫描和清理。
- 先用
-ErrorAction SilentlyContinue避免权限错误中断任务。 - 对大目录分批次扫描,不要一条命令扫整盘。
- 清理缓存类数据时,建议关掉正在运行的开发工具和浏览器。
- 如果是在工作电脑上操作,注意避开正在运行的业务程序,防止文件被锁定或误删正在使用的缓存。
8. 常见问题与排查方法
这一部分汇总了 Codex 安装、登录、配置和 C 盘清理过程中常见的报错,遇到问题可以直接对照排查。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 安装 Codex 时 npm 报错 | Node 版本过低、npm 源不稳定、权限不足 | 执行 node -v 确认版本,查看 npm 报错日志 |
升级 Node.js,切换 npm 镜像源,Windows 加管理员权限重试 |
codex login 登录不上 |
网络无法访问服务、Token 失效 | 检查网络连接,重新执行 codex login |
重新登录,确认账号权限正常 |
| 启动后提示无法加载组织设置 | 网络异常或组织标识配置错误 | 查看配置文件中的 organization 字段 | 核对组织 ID,检查网络 |
请求时报 cc switch local proxy failed while handling codex endpoint /responses |
本地代理设置与请求地址冲突 | 检查 HTTP_PROXY、HTTPS_PROXY 环境变量 |
修正或临时移除代理配置,避免代理串线 |
| 提示某个模型不被支持 | 配置文件里的模型名错误,或客户端版本不支持该模型 | 查看配置文件 model 字段 |
改为当前服务商支持的有效模型名 |
| 提示忽略未知配置字段 | config 文件里字段拼写错误或有多余内容 | 逐项检查 config.toml |
删除或修正未知字段名 |
| C 盘清理后空间没有变化 | 文件被进程占用、系统组件需要重启、大文件未被识别 | 重启后再次分析,用磁盘分析工具复测 | 分栏核对,重启后二次清理 |
| 清理脚本执行到一半失败 | 权限不足、文件被锁定、路径不存在 | 查看脚本日志,检查路径 | 用管理员身份重跑,跳过被占用文件 |
| C 盘空间不足导致驱动更新失败 | 驱动安装包解压需要大量临时空间 | 先腾出至少 20GB 空间,再重试更新 | 清理后用 Codex 或磁盘工具确认剩余空间 |
如果清理完空间依然不足,可以考虑把大型开发环境、视频素材、数据库文件迁移到其他分区或外置存储。那是另一个话题,不在本文展开。
9. 最佳实践与合规边界
用 Codex 做系统清理,重点不是“让 AI 多干活”,而是“让 AI 安全地干活”。下面这些建议来自实际使用中最容易出问题的地方。
9.1 先分析后删除
所有清理任务都应该遵循分析报告、分类标记、人工确认、执行回收这四个步骤。不要直接告诉 Codex“把 C 盘清理一下”。它需要明确的范围和边界。
9.2 为危险操作留出冗余
- 删除前先列出文件清单。
- 使用脚本时保留
-WhatIf参数做演练。 - 涉及重要目录时先备份到其他分区。
- 不要在批量脚本里对用户目录执行全盘递归删除。
9.3 区分可清理项与不可动项
休眠文件、页面文件、WinSxS、Windows.old 这些项目必须用系统工具处理。Codex 可以帮你生成工具命令,但最好不要让它直接操作这些系统级文件。
9.4 隐私与合规提醒
清理微信、企业微信、浏览器缓存时要意识到里面可能有聊天记录、账号登录态和敏感文件。数据删除前必须确认这些内容不需要保留。企业电脑上的清理操作还要遵守公司的 IT 和合规策略。生成脚本时,检查命令是否只针对目标路径,不要因为你输入了模糊的提示词,让 AI 扫描到不该扫描的目录。
9.5 接口与脚本的访问限制
如果你把清理报告 API 或定时脚本放到了服务器上,一定要限制访问范围,不要暴露在没有鉴权的端口上。脚本里的 API Key 不要硬编码到会被上传的项目里,建议使用环境变量。
bash复制export API_KEY="your-key-here"
同样,任何自动化任务都建议先在小目录上做完整验证,再扩大到全盘。
10. 总结与下一步
C 盘清理是我认为 Codex 最容易上手、也最能直接看到价值的场景。你不需要写代码,只需要把任务描述清楚,它能帮你做磁盘分析、生成清理方案、输出可执行命令,并保留人工审批的环节。整个过程最有价值的部分不是“一键清理”,而是它把系统维护任务变成了可检查、可追溯的工作流。
如果你第一次尝试,建议按文章顺序跑一遍:先分析,再分类,再执行,最后看前后对比。最容易踩的三个坑是:没有人工确认就让 AI 直接删除、路径写错导致误删、管理员权限不足导致清理不完整。对应策略也很简单,下载前先看命令,执行前确认路径,涉及系统目录时用管理员身份运行。
下一步可以从“一次性清理”升级为“定期维护”。让 Codex 生成一套定时清理脚本,加入日志、dry-run 和失败重试,再考虑把清理报告通过 API 汇总到自己的工具里。磁盘空间不是靠一次清理解决一生的,养成大文件分析和脚本化清理习惯,比每次 C 盘满了再折腾更省时间。建议收藏备用,下次 C 盘报警时直接按这套流程走一遍。
