问题描述
在运行中心(/runs),已删除的智能体(Agent)的历史运行记录仍然可见,但界面上没有任何删除这些历史记录的入口。
现象
- 删除某个 Agent 后,进入运行中心
- 左侧 Agent 列表中会出现标记为"已删除智能体"的条目
- 该条目下的历史对话/任务运行记录仍然完整展示
- 无法对这些历史记录做任何清理操作
根因分析
前端侧
src/pages/RunsPage.svelte 的 buildAgentObservations()(L604-669)会遍历所有 runs,当 run 的 agentId 在 agentDefinitions 中找不到时,创建 deleted: true、status: '已删除' 的观察条目,继续展示。
API 层缺失
当前 src/api/sessions.ts 和 src/api/loaders.ts 中没有删除 Session 或 Run 的函数。项目已有的删除 API 仅限于:
| API |
说明 |
deleteAgentDefinition() |
删除 Agent 定义 |
deleteAutomationTask() |
删除自动化任务/Loader |
deleteWorkspacePreset() |
删除工作区配置 |
deleteWebhookSource() |
删除 Webhook |
后端 gRPC 服务缺失
核对 @chaitin-ai/agent-compose-client 的 proto 定义,Session/Run 相关的 RPC:
SessionService (v1): Create / Resume / Stop / Get / List / Watch / GetProxy
❌ 无 DeleteSession
LoaderService (v1): Create / Update / Delete / Get / List / RunNow /
ListRuns / GetRun / ListEvents
❌ 无 DeleteLoaderRun
RunService (v2): RunAgent / RunAgentStream / GetRun / ListRuns / StopRun
❌ 无 DeleteRun
建议方案
- 后端
agent-compose 在 SessionService 增加 DeleteSession RPC,在 LoaderService 增加 DeleteLoaderRun RPC
- 前端
agent-compose-ui:
src/api/sessions.ts 增加 deleteWorkSession(id)
src/api/loaders.ts 增加 deleteAutomationRun(loaderId, runId)
src/pages/RunsPage.svelte 在已删除 Agent 的条目或单条运行记录上增加删除按钮
- 可选:增加批量清理能力(如"清空已删除 Agent 的全部历史记录")
相关文件
src/pages/RunsPage.svelte — 运行中心页面,buildAgentObservations() 展示已删除 Agent 记录
src/api/sessions.ts — Session API,缺少 deleteWorkSession
src/api/loaders.ts — Loader API,缺少 deleteAutomationRun
src/api/runs.ts — Run API,只有 getRun
问题描述
在运行中心(
/runs),已删除的智能体(Agent)的历史运行记录仍然可见,但界面上没有任何删除这些历史记录的入口。现象
根因分析
前端侧
src/pages/RunsPage.svelte的buildAgentObservations()(L604-669)会遍历所有 runs,当 run 的agentId在agentDefinitions中找不到时,创建deleted: true、status: '已删除'的观察条目,继续展示。API 层缺失
当前
src/api/sessions.ts和src/api/loaders.ts中没有删除 Session 或 Run 的函数。项目已有的删除 API 仅限于:deleteAgentDefinition()deleteAutomationTask()deleteWorkspacePreset()deleteWebhookSource()后端 gRPC 服务缺失
核对
@chaitin-ai/agent-compose-client的 proto 定义,Session/Run 相关的 RPC:建议方案
agent-compose在SessionService增加DeleteSessionRPC,在LoaderService增加DeleteLoaderRunRPCagent-compose-ui:src/api/sessions.ts增加deleteWorkSession(id)src/api/loaders.ts增加deleteAutomationRun(loaderId, runId)src/pages/RunsPage.svelte在已删除 Agent 的条目或单条运行记录上增加删除按钮相关文件
src/pages/RunsPage.svelte— 运行中心页面,buildAgentObservations()展示已删除 Agent 记录src/api/sessions.ts— Session API,缺少deleteWorkSessionsrc/api/loaders.ts— Loader API,缺少deleteAutomationRunsrc/api/runs.ts— Run API,只有getRun