# `CMDC.Tool.CompactConversation`
[🔗](https://github.com/tupleyun/cmdc/blob/v0.5.3/lib/cmdc/tool/compact_conversation.ex#L1)

手动触发上下文压缩。

在消息历史过长但尚未达到自动压缩阈值时，Agent 可主动调用此工具
立即执行压缩，释放上下文窗口空间。

## 执行流程

1. 读取当前 Agent 状态（通过 `agent_pid` 上下文字段）
2. 调用内部压缩引擎强制触发一次完整压缩
3. 更新 Agent 状态
4. 返回压缩统计信息

## 与 Agent 的交互

此工具需要在 context 中包含 `agent_pid`，由 Agent 在构建工具上下文时注入。
若无 `agent_pid`，工具仍可运行但不会实际修改 Agent 状态。

## 返回格式

    Conversation compacted successfully.
    - Messages before: 42
    - Messages after: 8
    - Messages removed: 34
    - History saved to: /conversation_history/session-abc.md

---

*Consult [api-reference.md](api-reference.md) for complete listing*
