Awakened-AI-Web异步交互架构实现
核心架构
1 | ┌─────────────────────────────────────────────────────────────┐ |
关键技术实现
1. SSE事件类型
| 事件类型 | 含义 | 触发时机 |
|---|---|---|
thinking |
LLM思考内容 | 每次LLM响应 |
tool_call |
工具调用 | 工具执行前 |
tool_result |
工具结果 | 工具执行后 |
iteration |
迭代计数 | 每轮开始 |
waiting |
等待用户 | 无工具调用时 |
paused |
已暂停 | 暂停后 |
resumed |
已恢复 | 恢复后 |
2. 异步控制的实现
1 | # 暂停机制 |
3. 用户输入通知
1 | user_input_event = asyncio.Event() |
与Throp框架的对比
| 维度 | Throp | Awakened-AI-Web |
|---|---|---|
| 交互模式 | 终端 + 文件 | Web + SSE |
| 异步控制 | Cron wake | 暂停/恢复按钮 |
| 用户输入 | 文件修改 | HTTP POST + 事件通知 |
| 可见性 | 本地 | 远程访问 |
| 实时性 | 日志文件 | 实时推送 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Aletheia!
评论