对话记录清理

对话记录清理

适用场景

在以下情况下使用本页面:

  • 调试对话记录清理问题
  • 添加新的提供商特定清理逻辑

Moltbot 在运行前对对话记录执行提供商特定的修复,以确保模型上下文正确构建。

概述

不同的提供商有不同的要求:

  • 某些提供商不支持特定的消息类型
  • 某些提供商需要特定的字段或格式
  • 某些提供商对上下文窗口有严格的限制

Moltbot 通过"对话记录清理"过程处理这些差异。

实现位置

对话记录清理逻辑位于:

  • src/auto-reply/reply/session.ts
  • 提供商特定的清理器

常见清理操作

  1. 移除不支持的消息类型

    • 某些提供商不支持系统消息
    • 某些提供商不支持工具调用
  2. 标准化消息格式

    • 确保所有消息具有必需的字段
    • 标准化角色名称
  3. 上下文窗口调整

    • 截断过长的对话记录
    • 保留最重要的消息

何时发生清理

清理在以下情况下发生:

  • 运行前(模型调用前)
  • 压缩前
  • 会话恢复时

故障排除

如果对话记录清理导致问题:

  • 检查提供商文档了解限制
  • 启用详细日志查看清理过程
  • 检查 sessions.json 中的 contextTokens 计数