首页 / 资讯中心 / 文章详情

Codex CLI 把 C 盘玩红了?用 WSL2 让 Ubuntu 直接住进 D 盘,TaoToken 统一 Key 通道

Codex CLI 把 C 盘玩红了?用 WSL2 让 Ubuntu 直接住进 D 盘,TaoToken 统一 Key 通道 ★ FEATURED ARTICLE
1. Codex CLI 把 C 盘吃红这件事先搞清楚谁在占空间Windows 11 上用 Codex CLI 写代码很多人第一反应是「这工具怎么这么占地方」。我实测下来Codex CLI 本体其实很小真正把 C 盘撑红的是它背后那套 Linux 运行环境——WSL2 的虚拟磁盘文件 ext4.vhdx。默认安装时Ubuntu 的根文件系统、apt 包、Node.js、Python 依赖、npm 缓存全写进这个 vhdx而它默认躺在C:\Users\你的用户名\AppData\Local\Packages\...下面。你每装一次依赖、每跑一次构建这个文件就悄悄长大几十 GB 是常态。所以这篇要解决的核心检索词就是Codex CLI 占用 C 盘怎么办、WSL2 Ubuntu 迁移到 D 盘、ext4.vhdx 导出导入。适合谁适合 Windows 11 上装了 WSL2、用 Codex CLI 或类似 AI 编码工具、C 盘剩余空间告急、又不想重装系统的开发者。整套思路是把 Ubuntu 直接装到 D 盘让 Linux 数据从一开始就离开 C 盘再把 Codex 的 auth.json endpoint 指到 TaoToken统一 Key 通道避免每个工具重复配一遍。先说清楚 C 盘的空间大户到底是谁。WSL2 虚拟磁盘是最大头Linux 系统、软件包、配置全在里面其次是项目依赖node_modules、Python venv、npm 和 pip 缓存随项目增长再就是构建产物和容器镜像。Codex CLI 本身只是触发这些增长的一个入口不是元凶。理解这一点方案就明确了让 WSL 的 ext4.vhdx 住到 D 盘去。有两种做法。一种是已经装好了 WSL用wsl --export导出再wsl --import导入到 D 盘另一种是全新安装时直接用--location指定 D 盘。两种我都会给可复制命令。下面从安装 WSL 开始一步步来。2. TaoToken 前置把 Codex 的 Key 通道统一起来在动手迁磁盘之前先把 Key 通道这件事理清楚因为后面 Codex CLI 装好就要用。Codex CLI 默认读~/.codex/auth.json里的配置如果你同时用 Claude Code、Cline、Codex 好几个工具每个都单独填一遍 Key 和 endpoint改起来很烦。TaoToken 的作用就是提供一个统一的 API 通道把这些工具的 Base URL 和 Key 收敛到一处。TaoToken 是什么简单说它是一个兼容 OpenAI 接口规范的 API 聚合通道你拿一个 Key就能在 Codex CLI、Claude Code、Cline 这些工具里统一调用。适合谁适合手上同时跑多个 AI 编码工具、不想每个工具维护一套配置的人。它的 API 地址是https://taotoken.net/api官网在https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。你需要先拿到 Key。进控制台创建 API Key路径是 console 页面具体入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。创建完复制那串 Key后面配置 auth.json 要用。如果你还没决定用哪个模型可以先去模型对话页面试试https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。这里要强调一个三件套概念不管你是配 Codex 的 auth.json、还是 Cline 的 MCP、还是 Claude Code 的 settings永远都是这三样——Base URL、Key、Model ID。Base URL 填https://taotoken.net/apiKey 填你刚创建的Model ID 按你选的模型填。三件套对齐了工具就能通。为什么要在迁磁盘之前讲这个因为 WSL 重装或迁移后~/.codex/auth.json会跟着 Linux 环境走。如果你把 auth.json 放在 WSL 的 home 目录里迁移时要么一起导出要么重新配。我的建议是auth.json 里的 endpoint 直接写 TaoToken这样即使换环境只要 Key 不变改一个文件就行。下面第三节会给完整的 auth.json 片段。顺便说下 Coding Plan如果你打算长期用 Codex CLI 做编码和 Agent 任务可以看下https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content它更适合高频编码场景。接入文档在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI Keys 管理在https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。3. 可复制配置WSL2 装到 D 盘 Codex auth.json 指向 TaoToken这一节是全文的操作核心所有命令都可以直接复制。分两部分先把 WSL2 Ubuntu 装到 D 盘再配 Codex 的 auth.json。3.1 全新安装Ubuntu 直接落到 D 盘以下 Windows 命令都在管理员身份打开的命令提示符或 PowerShell 里执行。先设默认版本为 WSL2wsl --set-default-version 2然后查看可安装的发行版并直接把 Ubuntu 装到D:\wslwsl --list --online wsl --install -d Ubuntu --location D:\wsl--location会自动创建目标文件夹。装完第一次启动 Ubuntu会让你创建 Linux 用户名和密码用户名建议全小写输密码时终端不显示字符是正常的。验证一下wsl -l -vVERSION 显示 2 就对了。然后去D:\wsl看应该能看到ext4.vhdx这就是 Linux 虚拟磁盘别手动去移动或压缩它。3.2 已装好的迁移export 再 import 到 D 盘如果你 C 盘上已经装了 Ubuntu不想重装用导出导入的方式搬。先关闭 WSLwsl --shutdown导出成 tar 包放 D 盘临时目录wsl --export Ubuntu D:\wsl-backup\ubuntu.tar注销原来的发行版这一步会删掉 C 盘上的旧 vhdx确认导出成功后再做wsl --unregister Ubuntu导入到 D 盘新位置wsl --import Ubuntu D:\wsl\Ubuntu D:\wsl-backup\ubuntu.tar --version 2导入后默认用户会变成 root需要改回你原来的用户。进 WSL 编辑/etc/wsl.confsudo nano /etc/wsl.conf写入[user] default你的用户名保存后回 Windows 执行wsl --shutdown再进用户就恢复了。验证磁盘占用Get-ChildItem D:\wsl -Recurse -Filter ext4.vhdx | Select-Object FullName, Length对比一下 C 盘原来的路径确认 vhdx 已经不在 C 盘了。3.3 Codex auth.json 指向 TaoToken进 Ubuntu 终端Codex CLI 的配置在~/.codex/auth.json。先建目录mkdir -p ~/.codex nano ~/.codex/auth.json写入下面这段把sk-你的Key换成 TaoToken 控制台创建的 Key{ OPENAI_API_KEY: sk-你的Key, OPENAI_BASE_URL: https://taotoken.net/api }如果你用的是带 provider 配置的版本也可以写成{ auth_mode: apikey, providers: { taotoken: { base_url: https://taotoken.net/api, api_key: sk-你的Key, model: 你的ModelID } } }三件套对齐Base URL 是https://taotoken.net/apiKey 是控制台那串Model ID 按你选的填。保存退出后Codex CLI 启动就会走 TaoToken 通道。4. 验证请求确认 Codex 走通 TaoToken 且磁盘没回 C 盘配置写完必须验证不然你不知道是 Key 错了还是路径错了。分两步先验 Codex 能不能通再验磁盘位置。4.1 验证 Codex CLI 请求进 WSL确认 Codex 装好了codex --version然后直接启动codex如果 auth.json 配对了启动后发一条简单指令比如让它解释一段代码能正常返回就说明 TaoToken 通道通了。如果报 401多半是 Key 写错或没生效如果报连接错误检查 Base URL 是不是https://taotoken.net/api注意结尾不要多加斜杠。你也可以用 curl 单独测一下通道排除 Codex 本身的干扰curl https://taotoken.net/api/v1/models \ -H Authorization: Bearer sk-你的Key能返回模型列表 JSON说明 Key 和通道都没问题。这一步很关键因为它把「网络/Key 问题」和「Codex 配置问题」分开了。4.2 验证 ext4.vhdx 在 D 盘回 Windows PowerShell查 vhdx 实际位置wsl -l -v Get-ChildItem D:\wsl -Recurse -Filter ext4.vhdx | Select-Object FullName, {NSizeGB;E{[math]::Round($_.Length/1GB,2)}}再对比 C 盘原路径确认没有残留的大 vhdxGet-ChildItem $env:LOCALAPPDATA\Packages -Recurse -Filter ext4.vhdx -ErrorAction SilentlyContinue | Select-Object FullName, {NSizeGB;E{[math]::Round($_.Length/1GB,2)}}如果 C 盘那条查不到结果说明迁移干净了。实测下来迁完之后 C 盘能立刻释放出几十 GB具体看你原来 vhdx 多大。4.3 项目目录的路径对应我的习惯是项目不放 WSL home统一放 D 盘。这样 WSL 重装也不影响项目。路径对应关系使用位置项目路径Windows 资源管理器 / 编辑器D:\code\my-appWSL 终端/mnt/d/code/my-app从项目目录直接进 WSL 跑 CodexD:\code\my-app wsl /mnt/d/code/my-app$ codexCMD 当前路径会映射到/mnt/d/...Codex 面对的就是当前项目不用再 cd。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth配置过程中最容易撞的几个报错我按真实遇到的整理一下对照着查。401 Unauthorized。这是最常见的。原因通常是 auth.json 里 Key 写错、Key 前后有空格、或者 Base URL 和 Key 不匹配。先确认~/.codex/auth.json里OPENAI_API_KEY是 TaoToken 控制台创建的那串OPENAI_BASE_URL是https://taotoken.net/api。改完记得wsl --shutdown再进让配置重新加载。如果还报 401用第 4 节的 curl 单独测 Key排除是 Key 本身失效。local proxy failed / connection refused。这个多半是 Base URL 写错比如写成了https://taotoken.net/api/带尾斜杠或者写成了别的地址。统一用https://taotoken.net/api不要加/v1后缀除非文档明确要求。另外检查 WSL 里能不能正常访问外网curl https://taotoken.net/api/v1/models试一下。reading choices / 返回结构解析失败。这类报错通常是模型返回的 JSON 结构和 Codex 预期不一致常见于 Model ID 填错。确认 auth.json 里的 Model ID 是 TaoToken 支持的模型名别填成别的平台的模型名。三件套里 Model ID 最容易填错对照接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content里的模型列表核对。OAuth 相关报错。Codex CLI 某些版本会尝试走 OAuth 登录流程如果你用的是 API Key 模式auth.json 里要明确auth_mode为apikey避免它去走 OAuth。如果报 OAuth token 相关错误检查 auth.json 是不是被旧配置覆盖了重新写一遍。迁移后 WSL 进不去 / 用户变 root。这是wsl --import后的正常现象按 3.2 节改/etc/wsl.conf的 default user 就行。如果进不去先wsl --shutdown再wsl -d Ubuntu指定发行版进。C 盘还是满的。检查是不是有多个发行版或者 Docker Desktop 的 WSL 数据还在 C 盘。Docker 的数据盘要单独迁wsl -l -v看看有没有 docker-desktop 相关的发行版。另外 Windows 的休眠文件和系统还原点也会占 C 盘跟 WSL 无关。排障时记住一个原则先分清是「通道问题」还是「环境问题」。curl 能通就是环境问题curl 不通就是通道或 Key 问题。这样能省很多时间。6. 统一 Key 通道之后长期编码怎么安排磁盘迁完、Codex 通了接下来就是日常怎么用。我的做法是所有依赖 Linux 终端的 AI CLI——Codex CLI、Claude Code、Cline——全装在同一套 WSL 里Key 通道统一走 TaoToken。这样有几个好处一是配置只维护一份 auth.json 或 settings换工具不用重配二是 WSL 环境折腾坏了直接wsl --unregister重装项目在 D 盘不受影响三是 C 盘彻底解放Linux 数据全在 D 盘。如果你长期用 Codex CLI 做编码和 Agent 任务建议看下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content它针对高频编码场景做了优化。日常管理 Key 在 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。接入细节随时查文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。想先试模型效果就去模型对话https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content。最后给个实用技巧把~/.codex/auth.json备份到 D 盘项目目录旁边比如D:\code\config\codex-auth.json。WSL 重装后直接复制回去省得重新配。项目目录永远放 D 盘WSL 只当运行环境坏了就扔。这套组合用下来C 盘再没红过。
阅读完成 · 觉得有帮助?
咨询建站