1.8 KiB
1.8 KiB
Satori Bot 待办事项 (优化版)
🟡 P1: 架构完善与逻辑优化 (性能与体验)
1. 重构 Action 截断逻辑,防止上下文失忆
目标: 确保 LLM 的历史记录截断不会破坏逻辑链(如 send_message + continue)。
- 策略层 (进阶):
- 尝试将较旧的
actions压缩为文本 Summary 存入 LLM Context,而非直接丢弃。
- 尝试将较旧的
🟢 P2: 增强功能与类型安全
- 监控增强:
- 为所有 Action 执行增加更详细的 Trace 日志。
- 类型收紧:
- 持续检查并消除残留的
as any类型断言。
- 持续检查并消除残留的
✅ 已完成事项 (归档)
🛡️ 1. 核心稳定性与并发架构 (P0)
- 修复短时记忆清理的竞态条件: 实现基于 ID 的精准删除,防止异步消息丢失。
- 消除全局锁死锁: 将锁粒度下放到 Channel 级别,并引入
try...finally强制释放机制。 - 实现非阻塞调度:
onMessageArrival与周期性任务改为并发执行,提升吞吐量。
⚙️ 2. 逻辑链完整性与体验优化 (P1)
- 智能 Action 截断: 实现
trimActions自动回溯,防止截断破坏continue等成对逻辑链。 - 阻断 API 滥用: 在
handleLoopStep中增加MAX_LOOP_ITERATIONS = 5的硬性上限。
💎 3. 类型安全与基础设施 (P2)
- 修复 Satori API 类型不匹配: 使
SatoriMessageCreateResponse的接口定义与运行时 Schema 保持一致。 - 移除全局暴力退出: 在
process.on('unhandledRejection')中移除process.exit(1)。 - 消除 Any 类型滥用: 修复了 LLM 解析、数据库 Schema 等多处的类型退化。
- 重写队列持久化 I/O: 实现 Drizzle ORM 的增量更新模式。