AI-translated from English; not yet reviewed by a fluent editor.

# 清理不活跃的 VS Code 代理工作树，同时保留会话

> 一份基于文档的指南，介绍 VS Code 1.141 手动清理工作树的功能，包括默认选择、安全措施、恢复方式以及单独的预览版自动清理。

By BIG CHANGE Editorial

Published: 2026-10-08T06:14:55.344Z
Updated: 2026-10-08T06:14:55.344Z
Canonical: https://bigchange.ai/blog/vscode-agent-worktree-cleanup-guide

![Conceptual charcoal illustration of a developer at a monitor with a desktop computer tower under the workbench.](https://bigchange.ai/api/media/file/vscode-worktree-storage-hero-v1.png)
AI-generated conceptual illustration by BIG CHANGE; no VS Code interface or measured result is depicted.

2026 年 10 月 7 日发布的 Visual Studio Code 1.141 Stable 新增了一个编辑器，用于清理工作树隔离的代理会话。如果旧会话在磁盘上留下了本地工作树， `Chat: Open Worktree Cleanup` 该编辑器会显示符合条件的会话以及每个工作树的估算大小。你可以选择要删除的工作树。本指南依据 [Microsoft 的发布说明](https://code.visualstudio.com/updates/v1_141) 和 [会话管理文档](https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions)；BIG CHANGE 没有执行清理，也没有测量存储空间节省量。

## 确认前先检查已选中的工作树

1. 在 VS Code 1.141 中打开命令面板并运行 `Chat: Open Worktree Cleanup`。
2. 选择不活跃时长筛选条件：7、15、30、60 或 90 天。这决定哪些会话符合条件；它不是自动删除计时器。
3. 查看每个会话及其工作树的估算大小。符合条件的工作树 **默认处于选中状态**。取消选择任何想保留的会话，包括尚未检查其分支或文件的工作。
4. 只对剩余的选中项确认清理。

VS Code 会将每个选中的会话标记为已完成，并安排删除其工作树。删除工作树之前，它会先将未提交的更改提交到该会话的分支。如果无法保留更改或删除工作树，工作树就会留在原处。会话和分支历史仍可使用。可在 Agents 窗口中通过 **Done** 筛选器找到会话（或在 Chat 视图中通过 **Archived** 筛选器找到），然后恢复会话以从分支重新创建工作树。文档描述了这种保留行为，但并未保证每个符合条件的工作树都会被删除，也未承诺能回收特定数量的磁盘空间。

清理编辑器不会显示活动中、运行中、等待输入或已固定的会话。它也会排除已完成、已存档、未命名和处于错误状态的会话，超过所选时长阈值的新会话，以及 VS Code 无法测量大小的工作树。因此，会话未出现在此编辑器中，并不能证明其工作树已不存在。

## 将清理与删除会话区分开来

手动清理工作树会保留会话和分支。 **Delete** 是另一项操作：VS Code 文档指出，删除会话是永久操作且无法撤销。对于 Copilot 会话，删除还会移除关联工作树，但需考虑共享工作树的行为。文档提醒，若未提交文件仅存在于被移除的工作树中，这些文件可能会丢失。要使用文档所述可恢复的工作树路径，请使用清理编辑器，并在选择前检查需要保留的工作。

## 建议与预览版自动清理

可选的 `chat.agentSessions.sessionStorageCleanupSuggestion.enabled` 设置会在不活跃工作树占用至少 5 GiB 或有 20 个工作树符合条件时，在 Agents 窗口显示建议。该建议会打开同一个检查编辑器，但不会自行删除工作树。你可以在当前窗口关闭建议、选择 **Don't Show Again**，或运行 `Chat: Disable Session Storage Cleanup Suggestions`。

VS Code 还将 **自动会话清理** 列为预览功能。相关的两个设置默认关闭。 `chat.agentSessions.autoMarkAsDoneMergedSessionsAfterDays` 用于设置将符合条件的 Agent Host 会话标记为已完成前的不活跃时长。 `chat.agentSessions.autoDeleteMarkedAsDoneMergedSessionsAfterDays` 用于设置 VS Code 自动标记为已完成的会话在永久删除前的独立宽限期。两项设置均接受正整数天数； `0` 会禁用相应阶段。VS Code 建议设为 `15` 天，但这只是设置建议，并非手动编辑器的 7/15/30/60/90 天筛选条件。

要使用预览版自动清理，会话必须不在处理中、超过配置的最后修改时长、至少关联一个已合并的拉取请求，而且没有相关的未关闭拉取请求。外部会话不包含在内。启用设置后，VS Code 会在启动时以及每小时检查一次。用户自行标记为已完成的会话不会通过此路径自动删除；恢复自动完成的会话会取消其删除资格。自动清理要移除工作树，分支必须跟踪上游，且不能有待推送提交或未提交更改。Git 状态未知或任一条件不满足时，工作树会保留。VS Code 表示，此流程不会强制移除工作树。

如果你想检查大小并自行选择旧工作树，手动编辑器才是相应方式。预览版设置针对范围更窄的已合并 PR 生命周期，并最终可能删除符合条件的会话。VS Code 在这些文档中没有列出清理功能的额外费用。实际释放的空间取决于符合条件并最终被移除的工作树。

## 重大变化

- 现在，使用工作树隔离代理会话的开发人员可以在 VS Code 1.141 中查看每个符合条件的不活跃工作树的估算大小，并选择要清理的项目。
- 手动清理会将选中会话标记为已完成，保留其分支历史，并在移除工作树前提交未提交的更改。若无法保留更改或移除工作树，它就会留在原处；恢复会话则会重新创建工作树。
- 符合条件的工作树默认已选中。确认前请查看清单。VS Code 会排除活动中、运行中、等待输入和已固定的会话，但这些保护措施无法告诉你是否仍需要某个不活跃会话中的工作。
- 预览版自动清理遵循单独的已合并 PR 规则，并可在设定宽限期后永久删除会话。其设置默认关闭。

## 来源与延伸阅读

VS Code 1.141 发布说明确定了清理编辑器进入 Stable 版本的时间，并说明其用途。Microsoft 的 *Manage agent sessions in VS Code* 文档提供了详细筛选条件、默认选择、安全措施、恢复步骤以及独立的预览版自动化规则。这两份文档均列于下方来源部分。

## Sources

- [Visual Studio Code 1.141 发布说明](https://code.visualstudio.com/updates/v1_141) — Stable 版本发布日期及手动清理工作树的公告。
- [Manage agent sessions in VS Code](https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions) — 手动筛选、选择、保留、排除、恢复、建议和预览版自动清理。
