WorkBuddy非C盘安装后仍占用C盘原因解析
问题现象
腾讯WorkBuddy安装时选择D/E/F等非系统磁盘,项目工作区文件夹也设置到非C盘路径。但软件运行一段时间后C盘空间不断减少,发现程序依旧会在C盘生成大量文件。
> 很多用户误以为:程序本体 + 项目工作区放在其他盘 = 完全不占用C盘,这个认知存在误区。
一、产生文件的5个根本原因
1.Windows 用户配置目录(AppData)强制位于C盘
Windows操作系统标准规范,所有软件的用户配置文件、运行日志、会话缓存默认写入当前用户文件夹,不受软件安装位置控制。
目录位置:
C:\Users\ 你的用户名 \AppData\Local
C:\Users\ 你的用户名 \AppData\Roaming
C:\Users\ 你的用户名 \AppData\LocalLow
2.系统全局临时文件夹
Windows临时目录固定存放在C盘,WorkBuddy执行任务、预览文件、解压资源时,临时文件优先写入此处:
C:\Windows\Temp
C:\Users\ 你的用户名 \AppData\Local\Temp
3.Agent沙箱运行缓存(最主要占用来源)
WorkBuddy内置沙箱用来运行脚本、AI任务,沙箱缓存目录默认放置在C盘用户目录,大型任务会生成几百MB‑数GB的临时文件。
常见路径:
C:\Users <你的用户名>.workbuddy‑sandbox
4.后台自动更新缓存
软件升级包下载缓存默认存放至C盘临时目录。
5.注册表信息
软件安装注册表写入C盘,注册表文件体积很小,几乎不会占用磁盘空间。
二、WorkBuddy在C盘生成的常见文件夹清单
C:\Users\<用户名>\.workbuddyC:\Users\<用户名>\AppData\Local\Tencent\WorkBuddyC:\Users\<用户名>\AppData\Roaming\Tencent\WorkBuddyC:\Users\<用户名>\AppData\Local\Temp任务临时文件C:\Users\<用户名>\.workbuddy‑sandbox沙箱缓存目录
三、优化解决方案
方案1:迁移缓存目录(根治C盘膨胀)
将沙箱缓存、运行缓存路径修改至D盘、F盘等大容量磁盘。
> ⚠️ 注意:修改项目工作区 ≠ 迁移缓存目录,二者路径相互独立。
方案2:定期清理临时缓存
关闭WorkBuddy软件后,可以安全删除Temp目录下workbuddy相关临时文件;禁止软件运行时删除缓存,会造成任务中断报错。
方案3:文件夹软链接 mklink 迁移(完整操作教程)
可以使用Windows符号链接,把.workbuddy、.workbuddy‑sandbox缓存文件夹整体移动到非系统盘,映射回C盘原路径,实现缓存写入其他磁盘。
详细操作步骤
- 完全关闭 WorkBuddy 所有进程;
- 将缓存文件夹剪切移动到目标大容量磁盘,示例路径:
- 源路径:C:\Users\你的用户名\.workbuddy‑sandbox
- 目标存放路径:D:\WorkBuddyCache\.workbuddy‑sandbox - 删除C盘原始位置下的
.workbuddy‑sandbox文件夹; - 以管理员身份打开命令提示符CMD,执行符号链接命令:
mklink /J "C:\Users\你的用户名\.workbuddy‑sandbox" "D:\WorkBuddyCache\.workbuddy‑sandbox"
⚠️重要提醒
1. 文件夹移动完成之后,才可以创建链接
2. 源位置 C 盘原来的文件夹必须先删除
3. 如果链接失效,软件缓存会重新生成回 C 盘
4. 沙箱缓存文件体积大,优先迁移 `.workbuddy‑sandbox`
## 四、常见误区澄清
❌误区 1:软件安装到 D 盘就不会占用 C 盘
>
> 真相:安装路径只存放 exe 程序本体,缓存、配置文件独立存储。Windows 绝大多数桌面软件都会在 C 盘 AppData 生成文件。
❌误区 2:项目工作区放在 D 盘,所有生成文件都会保存在 D 盘
>
> 真相:工作区保存最终产出文件;任务运行中间缓存、日志、沙箱临时文件不受该选项管控。
## 五、交互问答模板
**用户提问:WorkBuddy 装在 F 盘,工作区也选 F 盘,为什么 C 盘还产生文件?**
>
> 回答:WorkBuddy 主程序和你的项目文件保存在 F 盘。但 Windows 系统会强制将软件缓存、日志、沙箱临时文件写入 C 盘用户目录(AppData 文件夹),安装路径、项目文件夹设置并不能改变运行缓存位置,因此 C 盘依旧生成文件。想要缓解 C 盘占用,你可以迁移缓存目录,或者使用文件夹软链接。
# 使用操作步骤
1.桌面新建文本文档
2.把上面全部内容完整粘贴进去
3.点击【文件】‑【另存为】
-文件名:`SKILL.md`
-编码:**UTF‑8**
4.这个单文件就已经包含了**全部路径、教程、问答内容**,不再需要任何别的文件;你直接把它放进文件夹,右键压缩成zip,就可以上传SkillHub发布页面。
# 配套表单填写(发布页面)
Slug:`workbuddy-c-disk-analysis`
显示名称:`WorkBuddy非C盘安装后占用C盘原因解析`
如果你需要,我可以给你一份检查清单,用来校验保存出来的md文件不会出现内容跑出代码块以外的问题。
## 支付宝付费改造契约(PAYSKILL)
本技能为付费技能(PAYSKILL)。调用遵循支付宝 AI 生意画像契约,由平台调度层执行 `probe` → `pay` → `complete` → `ack` 流程:
1. **probe(探测)**:平台调用前先探测是否已持有本技能的支付宝有效订阅 / 付费凭证。已付费则直接放行。
2. **402 Payment-Needed**:未付费时,脚本向标准输出返回 HTTP 状态 `402` 与 `Payment-Needed` 标记,提示用户通过**支付宝**完成付费(`pay`),平台据此唤起付费页。
3. **complete(扣费确认)**:用户在支付宝完成扣费后,平台下发 `Payment-Proof`(付费凭证)。
4. **ack(验签放行)**:平台携带 `Payment-Proof` 重试本次调用;`scripts/payment_gate.py` 验签该凭证,确认有效后放行主流程。
**订阅持久化与幂等:**
- 付费状态缓存在本地 `.pay_cache/state.json`,避免每次调用重复付费(订阅持久化)。
- 同一 `Payment-Proof` 在 **24h 幂等窗口**内仅生效一次,避免重复扣费。
**现金流改造后的调用套路:**
```text
用户调用 → 平台 probe →
未付费:下发 402 Payment-Needed → 支付宝 pay → complete → 下发 Payment-Proof
已付费/携带 Proof:脚本 ack 验签 → 放行主流程
> 本契约由 SkillHUB 平台调度层解析,脚本本地仅处理 402 / 验签 / 持久化 三环节;付费本体交给支付宝。
支付宝 AI 按量付费(Machine Pay / A2M)改造说明
本 Skill 已按支付宝官方 A2M 协议改造为 Pay Skill,付费闸口位于 scripts/payment_gate.py,统一调用云端计费服务 https://pay.pembroli.cn/api/resource。
付费流程
- 未付费调用时,服务端返回 HTTP 402 +
Payment-Needed头,携带金额、商户、订单号及 RSA2 签名。 - 买家侧
payment_gate.py收到 402 后引导用户完成支付,平台回传Payment-Proof。 - 客户端携带
Payment-Proof重试资源端点。
验付调用
服务端收到 Payment-Proof 后,调用支付宝验付接口(alipay.aipay.agent.payment.verify)核验凭证有效性(trade_no、out_trade_no、active 状态),验证失败返回 400,验证通过才进入资源发放。
履约确认
资源发放成功后,服务端异步调用履约确认接口(alipay.aipay.agent.fulfillment.confirm,trade_no)回执,标记本笔订单已履约;并按 out_trade_no 做幂等,重复请求直接返回已缓存结果,杜绝重复收费。
幂等与缓存
买家侧按 slug 本地缓存 Payment-Proof(24h TTL),有效期内免重复支付;服务端按订单号幂等,保证同一笔订单只履约一次。
```