agentscope-ai / agentscope-ai/QwenPaw

[Feature]: 删除对话时可选清理该对话产生的任意临时文件,

未關閉
#6,827 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
enhancement
主要語言
Python
星號
34.9k
分支
3.1k
平均合併
1 天 15 小時
30 天內合併 PR
225

描述

## Summary

删除对话(Chat)时,提供可选选项,清理该对话过程中 agent 创建的临时文件(脚本、配置文件等),避免工作区堆积孤立文件。

## Problem / Motivation

当前 `qwenpaw chats delete` 只删除 Chat 元数据(UUID mapping),**不清理对话过程中 agent 通过 write_file / edit_file 等工具创建的临时文件**。这些文件随着对话删除变成了孤立文件,长期积累会占用磁盘空间,且难以区分哪些文件还有用、哪些是垃圾。

典型场景:
- 用户让 agent 生成一个 Python 脚本跑数据分析,跑完后删除对话,脚本文件留在工作区
- 多轮对话中 agent 反复创建临时配置文件,对话删除后无人清理

## Proposed Solution

在删除对话的 API 和 CLI 中增加一个可选参数 `--clean-files`:

1. **推荐方案**:扩展 ChatSpec,记录该对话中 agent 创建/修改过的文件路径列表。删除时如果指定 `--clean-files`,则遍历该列表删除对应文件。
2. **保守方案**:删除时只清理工作区中特定约定的临时目录(如 `tmp/`),不追踪具体文件。
3. **UI 层面**:控制台删除对话时增加一个"同时清理临时文件"的复选框。

## Alternatives Considered

1. **手动清理**:用户自己用 find 或 `qwenpaw clean` 清理——但前者繁琐,后者是核弹级(清空整个 WORKING_DIR)。
2. **约定临时目录**:让 agent 统一在 `tmp/` 下创建临时文件——但已有文件无法追溯。
3. **不做任何处理**:维持现状——对话越多,垃圾文件越多。

## Willing to Contribute

- [ ] I am willing to open a PR for this feature (after discussion).

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。