问题描述
DeepCode VSCode (标识符 vegamo.deepcode-vscode 版本0.1.18,在cursor中使用)插件目前没有任何对话历史管理功能,这在长期使用中带来了很大不便。
缺少的核心功能
1. ❌ 无法删除对话记录
- 插件界面中没有"删除对话"的任何入口
- 对话列表随使用时间不断累积,无法清理旧的、不再需要的对话
- 对话 JSONL 文件占用大量磁盘空间(目前已累积 ~700KB)
2. ❌ 无法重命名对话
- 所有对话的标题自动生成,但有些不够精准
- 无法手动修改对话标题来方便后续查阅
3. ❌ 无批量管理能力
- 无法批量选择删除多条对话
- 无法按时间、大小、状态等排序
用户实际痛点
以我自己的使用为例,三个月内累积了多条对话,这些旧对话无法通过插件界面清理,用户只能通过手动操作底层文件来删除:
# 用户被迫手动操作底层文件来删除:
rm ~/.deepcode/projects/*/<session-id>.jsonl
# 并且还要编辑 sessions-index.json 移除对应条目
这不仅操作复杂,而且容易误删数据。
对话存储机制(供开发参考)
通过逆向分析,对话数据存储在:
~/.deepcode/projects/<project-hash>/
├── <session-id>.jsonl # 每条对话一个文件,每行一条消息
├── sessions-index.json # 索引文件,包含摘要、token用量、状态等元信息
└── file-history/ # 文件历史
删除一条对话需要:
- 删除对应的
<session-id>.jsonl 文件
- 在
sessions-index.json 的 entries 数组中移除对应条目
建议实现方案
方案 A:右键菜单(最小改动)
在对话列表的每条记录上增加右键菜单:
- 删除:删除该条对话(带确认弹窗)
- 重命名:允许编辑对话标题
- 复制ID:方便调试
方案 B:对话管理面板(推荐)
在侧边栏增加一个独立的对话管理视图,支持:
- ✅ 删除(单条 / 批量选择)
- ✅ 重命名
- ✅ 按时间 / 大小 / 状态排序
- ✅ 搜索过滤
- ✅ 导出为 Markdown / JSON
- ✅ 确认弹窗(防止误删)
方案 C:设置页面管理
在插件设置页面增加对话管理入口,提供 CRUD 操作。
优先级建议
| 功能 |
优先级 |
理由 |
| 删除单条对话 |
P0 高 |
最迫切需求,避免磁盘膨胀 |
| 重命名 |
P1 中 |
提升检索效率 |
| 批量管理 |
P2 低 |
锦上添花 |
预期收益
- 用户体验提升:不再需要手动操作底层文件
- 磁盘空间管理:及时清理无用对话
- 信息检索效率:自定义命名方便后续查找
- 降低误操作风险:统一的管理界面比手动删文件更安全
感谢 DeepCode 团队!期待对话管理功能的加入 🙏
问题描述
DeepCode VSCode (标识符 vegamo.deepcode-vscode 版本0.1.18,在cursor中使用)插件目前没有任何对话历史管理功能,这在长期使用中带来了很大不便。
缺少的核心功能
1. ❌ 无法删除对话记录
2. ❌ 无法重命名对话
3. ❌ 无批量管理能力
用户实际痛点
以我自己的使用为例,三个月内累积了多条对话,这些旧对话无法通过插件界面清理,用户只能通过手动操作底层文件来删除:
这不仅操作复杂,而且容易误删数据。
对话存储机制(供开发参考)
通过逆向分析,对话数据存储在:
删除一条对话需要:
<session-id>.jsonl文件sessions-index.json的entries数组中移除对应条目建议实现方案
方案 A:右键菜单(最小改动)
在对话列表的每条记录上增加右键菜单:
方案 B:对话管理面板(推荐)
在侧边栏增加一个独立的对话管理视图,支持:
方案 C:设置页面管理
在插件设置页面增加对话管理入口,提供 CRUD 操作。
优先级建议
预期收益
感谢 DeepCode 团队!期待对话管理功能的加入 🙏