实时终端仪表盘
Real-time Terminal Dashboard
基于 Rich 库构建多面板实时终端 UI,展示 Agent 执行进度和结果
子问题
1.多面板布局管理
2.Agent 状态追踪
3.消息流缓冲与展示
4.报告实时更新
5.LLM/Tool 调用统计与 token 用量实时展示
6.报告完成度的双条件判定(内容非空 + Agent 完成)
7.消息流去重与分类展示
各项目的解法1 solutions
Signals
横向对比
| 维度 | TradingAgents |
|---|---|
| 布局架构 | Rich Layout 四区嵌套:header/progress+messages/analysis/footer,ratio 自适应 |
| 状态管理 | 单例 MessageBuffer + deque(maxlen) 自动淘汰,数据-视图完全分离 |
| 刷新机制 | Rich Live refresh_per_second=4,Spinner 动画驱动 in_progress 状态 |
| 统计追踪 | LangChain BaseCallbackHandler + threading.Lock,追踪 LLM/Tool/Token 四指标 |
| 持久化策略 | 装饰器拦截 buffer 方法,实时写入日志文件和分目录报告 |
| 消息去重 | _last_message_id 比对 LangChain message.id,防止 stream 重复推送 |
最佳实践
1.使用 Rich Live 实现无闪烁刷新
2.MessageBuffer 解耦数据收集与展示
3.装饰器拦截 buffer 方法实现透明磁盘持久化
4.deque(maxlen) 自动淘汰旧消息防止内存增长
5.线程安全回调处理器用 Lock 保护共享计数器