会话删除
从会话历史中移除会话
session/delete 方法允许客户端从 Agent 的 session/list 结果中移除会话。这为用户提供了一种跨 ACP 客户端和 Agent 管理会话历史的标准方式。
在删除会话之前,客户端 必须 先完成初始化阶段并验证 Agent 支持此能力。
检查支持
在尝试删除会话之前,客户端 必须 通过检查 initialize 响应中的 session.delete 字段来验证 Agent 是否支持此能力:
{
"jsonrpc": "2.0",
"id": 0,
"result": {
"protocolVersion": 2,
"capabilities": {
"session": {
"delete": {}
}
}
}
}
如果 session.delete 被省略或为 null,Agent 不支持删除会话,客户端 不得 尝试调用 session/delete。提供 {} 表示 Agent 支持此方法。
删除会话
客户端通过调用 session/delete 并传入要从会话历史中移除的会话 ID 来删除会话:
{
"jsonrpc": "2.0",
"id": 3,
"method": "session/delete",
"params": {
"sessionId": "sess_abc123def456"
}
}
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
sessionId | SessionId | 是 | 要删除的会话的唯一标识符。 |
成功时,Agent 返回空结果:
{
"jsonrpc": "2.0",
"id": 3,
"result": {}
}
语义
- 已删除的会话不再出现在未来的
session/list结果中。 - 删除已删除的会话或从未存在的会话 应该 静默成功。
- Agent 可以实现软删除或硬删除。ACP 仅指定面向用户的会话列表行为。
- 对已删除会话执行
session/resume的行为由实现定义。 - 删除活动会话的行为由实现定义。