1. Trae 和 Cursor 把 C 盘吃满的真实场景
Trae、Cursor 这类 AI 编程工具,本质上是一个「编辑器外壳 + 大模型客户端 + 本地索引引擎」的组合体。你每打开一个项目,它就在后台做几件事:把项目文件切块、生成向量索引、缓存对话历史、下载模型相关的运行时文件、保存插件和扩展。这些数据默认全部落在 C 盘的用户目录下,而且不会自动清理。
我自己的机器上,Trae 用了大概两个月,C:\Users\你的用户名\.trae这个目录就涨到了 3.7G,AppData\Roaming\Trae又占了 2G 多。Cursor 更夸张,它的索引缓存和Cursor目录加起来能到 6G 以上。C 盘本来系统盘就紧张,再被这些 AI 工具一挤,Windows 更新都开始报空间不足。
问题的根源在于:这些工具沿用了 VS Code 的目录约定,把用户级数据放在%USERPROFILE%下,而不是让你在安装时选路径。Trae 会在 C 盘生成两个核心目录:
C:\Users\%username%\.trae C:\Users\%username%\AppData\Roaming\Trae%username%是你的 Windows 登录名。第一个.trae存的是配置、扩展、部分缓存;第二个Roaming\Trae存的是运行时数据、日志、索引和会话状态。插件装得越多、项目开得越大,这两个目录膨胀得越快。
直接剪切到 D 盘行不行?不行。因为 Trae 启动时会按硬编码路径去找C:\Users\...\.trae,你搬走了它就找不到,轻则配置丢失,重则直接启动失败。正确的做法是「目录搬到其他盘 + 在原位置留一个软链接」,让 Trae 以为文件还在 C 盘,实际读写都落到 D 盘。这就是mklink的用武之地,和当年给 VS Code、npm 缓存做迁移是同一套思路。
这篇就按「先看清占用 → 关闭工具 → 剪切目录 → 建软链接 → 重启验证」的顺序,把 Trae 和 Cursor 的缓存迁移完整走一遍,命令可以直接复制。适合 C 盘告急、又不想重装系统的开发者。
2. 迁移前的准备:TaoToken 与工具环境确认
在动手搬目录之前,先把两件事理清楚:一是你的 AI 工具当前是怎么连模型的,二是迁移后怎么快速验证它还能正常跑。很多人迁移完发现工具打不开或者模型请求失败,其实是环境配置被一起搬走或覆盖了。
如果你用的是 TaoToken 这类统一接入层来管理模型调用,那迁移缓存目录不会影响你的 API 配置,因为 Key 和 Base URL 是写在工具自己的设置里的,跟着.trae或 Cursor 的配置文件走。迁移完成后只要配置文件完整,请求照常。TaoToken 的接入文档在 https://taotoken.net/api ,API Key 在 https://taotoken.net/api-keys 管理,模型对话入口在 https://taotoken.net/models ,需要长期跑编码 Agent 的可以看 Coding Plan:https://taotoken.net/coding-plan 。
这里要强调一个概念:缓存目录迁移和模型接入是两件独立的事。缓存目录管的是「本地存了什么」,模型接入管的是「请求发到哪里」。软链接只解决前者,不会碰你的 Base URL、Key、Model ID 三件套。所以迁移前建议先把当前工具的模型配置截图或复制一份,万一配置文件在剪切过程中损坏,可以快速恢复。
具体要确认的环境信息:
| 项目 | 查看位置 | 迁移影响 |
|---|---|---|
| Base URL | 工具设置 → 模型/API 配置 | 不受影响,随配置文件走 |
| API Key | 同上,或系统环境变量 | 若写在配置文件内则随迁,写在环境变量则不变 |
| Model ID | 模型选择下拉框 | 不受影响 |
| 插件列表 | 扩展面板 | 随.trae目录迁移 |
| 索引缓存 | 自动生成 | 迁移后可能重建,属正常 |
另外,迁移前必须完全退出 Trae 和 Cursor,包括托盘图标和后台进程。如果工具还在运行,文件被占用,剪切会失败或者只搬了一半。可以在任务管理器里确认没有Trae.exe、Cursor.exe残留。
还有一点:软链接(mklink /D)创建的是目录符号链接,需要管理员权限的命令行。普通 CMD 会报「你没有足够的权限执行此操作」。所以后面所有mklink命令都要在「以管理员身份运行」的终端里执行。
目标盘的选择上,建议用空间充足、最好是 SSD 的盘,比如 D 盘或 E 盘。机械盘也能用,但索引读写会变慢,AI 工具的响应速度会受影响。我一般会在目标盘建一个统一目录,比如D:\AIToolsCache,把 Trae、Cursor 的缓存都归到里面,方便以后管理。
3. 可复制的目录迁移与 mklink 配置
这一节是核心操作,命令可以直接复制。整体思路:先把 C 盘的原目录剪切到目标盘,删除 C 盘空壳,再用mklink /D在原位置建软链接指向新目录。
3.1 关闭工具并备份配置
先彻底退出 Trae 和 Cursor。然后打开一个管理员权限的 CMD 或 PowerShell。建议先备份一份配置,防止意外:
robocopy "C:\Users\%username%\.trae" "D:\Backup\.trae_bak" /E /COPYALLrobocopy的/E表示复制所有子目录含空目录,/COPYALL复制所有文件属性。备份完再动原目录,心里有底。
3.2 剪切 Trae 的两个目录
在目标盘建好存放目录:
mkdir D:\AIToolsCache\TraeCache mkdir D:\AIToolsCache\TraeCache\.trae mkdir D:\AIToolsCache\TraeCache\RoamingTrae然后用robocopy /MOVE把原目录搬过去,/MOVE会在复制成功后删除源文件,相当于剪切:
robocopy "C:\Users\%username%\.trae" "D:\AIToolsCache\TraeCache\.trae" /E /MOVE robocopy "C:\Users\%username%\AppData\Roaming\Trae" "D:\AIToolsCache\TraeCache\RoamingTrae" /E /MOVE搬完后确认 C 盘原目录已经空了,如果还有残留空文件夹,手动删掉,否则mklink会因为目标已存在而失败。
3.3 创建软链接
这一步是关键。在管理员终端里执行:
mklink /D "C:\Users\%username%\.trae" "D:\AIToolsCache\TraeCache\.trae" mklink /D "C:\Users\%username%\AppData\Roaming\Trae" "D:\AIToolsCache\TraeCache\RoamingTrae"成功的话会显示「为 xxx <<===>> yyy 创建的符号链接」。/D表示目录符号链接,这是 Windows 原生支持的,不需要额外装工具。
3.4 Cursor 的迁移配置
Cursor 的目录结构和 Trae 略有不同,主要是:
C:\Users\%username%\.cursor C:\Users\%username%\AppData\Roaming\Cursor迁移命令同理:
robocopy "C:\Users\%username%\.cursor" "D:\AIToolsCache\CursorCache\.cursor" /E /MOVE robocopy "C:\Users\%username%\AppData\Roaming\Cursor" "D:\AIToolsCache\CursorCache\RoamingCursor" /E /MOVE mklink /D "C:\Users\%username%\.cursor" "D:\AIToolsCache\CursorCache\.cursor" mklink /D "C:\Users\%username%\AppData\Roaming\Cursor" "D:\AIToolsCache\CursorCache\RoamingCursor"3.5 用 JSON 记录你的接入配置
迁移不影响模型接入,但建议把当前配置存成一份 JSON 备份,方便迁移后核对。以 TaoToken 接入为例,配置结构大致如下(路径和字段按你工具实际设置填写):
{ "provider": "taotoken", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的Key", "modelId": "claude-sonnet-4-5", "note": "缓存目录已迁移至 D:\\AIToolsCache,Base URL 与 Key 不变" }这份 JSON 不是工具直接读取的,而是给你自己留档。迁移后如果发现模型请求异常,对照这份配置检查工具设置里的 Base URL、Key、Model ID 三件套是否完整。三件套缺一不可:Base URL 决定请求发到哪,Key 决定身份,Model ID 决定用哪个模型。
4. 验证请求与缓存路径生效
迁移完成后,先别急着开大项目,按下面几步验证。
4.1 确认软链接指向正确
在 CMD 里执行:
dir "C:\Users\%username%" | findstr /i "trae cursor" dir "C:\Users\%username%\AppData\Roaming" | findstr /i "trae cursor"如果看到<SYMLINKD>或<JUNCTION>标记,说明软链接建好了。再进一层:
dir "C:\Users\%username%\.trae"能列出文件,说明链接可正常访问。此时这些文件实际存储在 D 盘。
4.2 启动工具并检查缓存写入
打开 Trae,随便打开一个项目,让它跑一次索引或发起一次模型对话。然后回到 D 盘目标目录看文件是否在增长:
dir "D:\AIToolsCache\TraeCache\.trae" /s如果文件数量和大小在变化,说明写入已经落到 D 盘。同时 C 盘的软链接目录大小不会真实占用 C 盘空间,可以用资源管理器看 C 盘剩余空间是否回升。
4.3 验证模型请求正常
在 Trae 里发起一次对话,确认能正常返回。如果用的是 TaoToken 接入,请求会走https://taotoken.net/api。返回正常说明 Base URL、Key、Model ID 三件套没被迁移破坏。如果报错,先检查工具设置里的配置是否完整,再对照第 3.5 节的 JSON 备份。
4.4 检查插件是否完整
打开扩展面板,看之前装的插件是否还在。因为.trae目录整体迁移了,插件应该原样保留。如果个别插件失效,重新启用一次即可,插件本体文件在 D 盘。
验证通过后,C 盘应该能释放出几个 G 的空间。我实测迁移 Trae 加 Cursor,一共腾出了接近 10G。后续这两个工具再怎么用,缓存都往 D 盘写,C 盘不会再被吃掉。
5. 迁移后常见报错排查
迁移过程看着简单,但实际会踩几个坑。下面按真实报错对照排查。
5.1 mklink 报「你没有足够的权限执行此操作」
这是最常见的。原因是没有用管理员权限。解决:右键 CMD 或 PowerShell →「以管理员身份运行」,再执行mklink。普通用户权限下 Windows 不允许创建符号链接。
5.2 mklink 报「当文件已存在时,无法创建该文件」
说明 C 盘原目录还在。可能是robocopy /MOVE没删干净,或者你手动剪切时留了空文件夹。先删掉:
rmdir /S /Q "C:\Users\%username%\.trae"确认不存在后再执行mklink。
5.3 工具启动后配置丢失、插件不见了
大概率是剪切时文件没搬全,或者软链接指向了空目录。检查 D 盘目标目录里是否有内容:
dir "D:\AIToolsCache\TraeCache\.trae" /s如果为空,从第 3.1 节的备份里恢复,重新搬一次。搬的时候确保工具完全关闭,避免文件被占用导致部分复制失败。
5.4 模型请求报 401 或 local proxy failed
401 通常是 Key 无效或没带上。检查工具设置里的 API Key 是否完整,Base URL 是否是https://taotoken.net/api。local proxy failed一般是本地代理配置问题,检查工具的网络设置,确认没有残留的本地代理指向已失效的地址。迁移本身不改这些,但如果配置文件在搬运中损坏,可能读不到原配置。对照第 3.5 节的 JSON 重新填一遍三件套。
5.5 报错 reading choices 或返回体解析失败
这类报错多半是 Model ID 写错,或者 Base URL 路径不对。确认 Model ID 和你在 TaoToken 模型列表里选的一致,Base URL 不要多加斜杠或路径。请求格式对不上时,返回体结构就不是预期的choices字段,解析自然失败。
5.6 OAuth 登录失效
有些工具用 OAuth 登录,迁移后 token 缓存路径变了可能导致登录态丢失。重新登录一次即可,登录凭证会写到新的 D 盘目录。如果反复失效,检查AppData\Roaming下的软链接是否指向正确。
5.7 软链接被安全软件拦截
个别安全软件会把符号链接当可疑行为拦截。如果mklink执行后链接没生效,检查安全软件日志,把该操作加白名单。企业环境里组策略也可能禁用符号链接,这种情况需要联系 IT。
排查顺序建议:先看软链接是否存在且指向正确 → 再看工具能否启动 → 最后看模型请求是否正常。大部分问题出在第一步,链接没建对,后面全乱。
6. 长期使用建议与接入入口
迁移只是一次性动作,长期用下来还有几个习惯能帮你省心。
第一,定期清理缓存。AI 工具的索引和日志会持续增长,即使搬到 D 盘,D 盘也会满。可以每隔一两个月删一次日志和旧索引,保留配置和插件即可。Trae 的日志一般在Roaming\Trae\logs,Cursor 类似。
第二,目标盘选 SSD。索引读写频繁,机械盘会拖慢工具响应。如果 D 盘是机械盘,考虑把缓存放到另一块 SSD 上。
第三,把接入配置和缓存目录分开管理。缓存目录可以随便搬,但 Base URL、Key、Model ID 这三件套要固定下来,别每次迁移都重填。用 TaoToken 统一接入的好处就是配置集中,换工具时只要填同一套 Base URL 和 Key,模型切换在模型对话页就能试:https://taotoken.net/models 。需要管理多个 Key 的在 https://taotoken.net/api-keys 操作,接入细节看文档 https://taotoken.net/api 。
第四,如果你同时用 Trae、Cursor、Claude Code 等多个工具,建议给每个工具在D:\AIToolsCache下建独立子目录,别混在一起。这样某个工具出问题,单独删它的缓存不影响其他工具。
第五,迁移后如果 C 盘空间还是紧张,可以顺手把 npm 缓存、pip 缓存、Docker 镜像也迁到其他盘,思路完全一样,都是「剪切 + mklink」。这几个加起来又能腾出不少空间。
最后提醒一句:软链接是系统级操作,迁移前备份配置,迁移后按第 4 节验证一遍。只要软链接指向正确,Trae 和 Cursor 会一直以为自己在读写 C 盘,实际数据全在 D 盘,C 盘从此不再被 AI 工具吃掉。