flowchart TD
START["你的消息"] --> BUILD["组装查询配置"]
BUILD --> CALL["调用 Anthropic API
(SSE 流式传输)"]
CALL --> STREAM["实时接收 token"]
STREAM --> CHECK{模型要调用工具?}
CHECK -->|是| TOOLS["执行工具
(读文件/改代码/跑命令...)"]
TOOLS --> BUDGET["结果预算控制
(太大就存磁盘)"]
BUDGET --> COMPACT{"快爆上下文窗口了?"}
COMPACT -->|是| COMPRESS["自动压缩对话历史"]
COMPRESS --> CALL
COMPACT -->|否| CALL
CHECK -->|否| DONE{"输出被截断?"}
DONE -->|是,≤3次| CALL
DONE -->|否| END["完成"]
style TOOLS fill:#e1f5fe
style COMPRESS fill:#fff3e0