Codex CLI 把 C 盘玩红了?用 WSL2 让 Ubuntu 直接住进 D 盘,TaoToken 统一 Key 通道
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 盘再没红过。

相关新闻

高并发下接口幂等性实战:从重复请求到订单防重全方案解析

高并发下接口幂等性实战:从重复请求到订单防重全方案解析

一旦系统被压到临界点,你最先遇到的往往不是数据库慢查询、也不是Redis雪崩,而是那个最不起眼却最致命的问题:同一个请求被客户端重试了多次,结果产生了多笔订单、多扣了钱、多条脏数据。在高并发场景下,接口幂等性不是…

2026/10/12 2:06:14 阅读更多 →
在 Cursor 中搭建 MCP 服务,把 Figma 设计稿转成可运行代码的完整配置

在 Cursor 中搭建 MCP 服务,把 Figma 设计稿转成可运行代码的完整配置

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

2026/10/12 2:06:18 阅读更多 →
研究生论文降AI率实战:千笔AI与锐智AI对比评测

研究生论文降AI率实战:千笔AI与锐智AI对比评测

研究生阶段最耗精力的其实不是找创新点,而是把“像AI写的”变成“像人写的”。导师看一眼初稿,眉头一皱说“语言风格太规整了”,这就是在提醒你:AI痕迹太重了。现在很多学位论文和期刊投稿除了查重,还会过一遍AI检测。…

2026/10/13 2:34:44 阅读更多 →

最新新闻

综合能源系统双层优化调度策略复现与Matlab实现解析

综合能源系统双层优化调度策略复现与Matlab实现解析

1. 项目概述与选题背景1.1 为什么"核心期刊复现"这么让人头大先说结论:复现一篇综合能源系统方向的核心期刊论文,很多时候比自己在原有框架上加一个新目标函数更痛苦。原因很简单,期刊正文里给出的公式是从定稿模型中截取的"高…

2026/10/13 7:59:25 阅读更多 →
文件二维码生成与应用全指南

文件二维码生成与应用全指南

1. 为什么需要文件二维码?在办公室经常遇到这样的场景:同事需要你刚做好的PPT,微信传输有大小限制;客户索要产品手册,发邮件又担心对方没空下载;团队协作时,大体积的设计稿在群里刷屏影响沟通。…

2026/10/13 7:59:25 阅读更多 →
深入理解数据库事务隔离级别:从脏读幻读到MVCC与锁机制

深入理解数据库事务隔离级别:从脏读幻读到MVCC与锁机制

做后端开发这些年,面试过不少人,也在不少技术群里看到过讨论,只要聊到数据库事务,隔离级别这个话题几乎必被提起。问一句"事务的隔离级别你知道几个",大部分人都能脱口而出四个答案:读未提交、读…

2026/10/13 7:59:25 阅读更多 →
杰理蓝牙模块与小米电视回连问题解决方案

杰理蓝牙模块与小米电视回连问题解决方案

1. 问题现象与背景分析最近在调试杰理蓝牙模块与小米电视的配对连接时,遇到了一个典型问题:设备在首次成功配对后,再次开机时无法自动回连。这种情况在智能家居和影音设备互联场景中相当常见,特别是使用第三方蓝牙方案对接品牌设备…

2026/10/13 7:59:25 阅读更多 →
Redis与RDM可视化客户端安装配置实战:从下载到连接全攻略

Redis与RDM可视化客户端安装配置实战:从下载到连接全攻略

这两年做后端和运维的朋友应该都有同感,Redis这名字基本天天见。缓存、分布式锁、排行榜、消息队列,哪里都有它。但很多刚接触Redis的人,第一步往往不是学命令,而是卡在“怎么下载”“怎么安装”“怎么连上”这三件事上。尤其是Wi…

2026/10/13 7:59:25 阅读更多 →
lingbot-map:室内移动机器人激光SLAM建图与导航实战

lingbot-map:室内移动机器人激光SLAM建图与导航实战

看到“lingbot-map”这个项目名,我第一反应就是机器人地图相关,而且大概率是围绕建图、定位、导航这三件套来做文章。我实际接触过不少类似的室内移动机器人项目,名字里带“bot”的通常都是机器人本体的代号,“map”则明确指向地图…

2026/10/13 7:58:24 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →