用途:Chat Logger 用于把收发聊天消息写入 SQLite 数据库,实现可搜索的历史记录、审计、分析和调试。适用于构建聊天历史系统、审查过往对话、统计聊天交互、排查聊天流程,以及用户要求追踪或搜索会话历史时。
主要能力:提供 messages 表结构,字段包括 id、timestamp、session_id、sender、content、metadata 和 created_at,并在 timestamp、session_id、sender 上建立索引。支持记录用户与助手消息、按会话查询历史、按内容模糊搜索、查看最近消息,以及自动清理一年前的记录。metadata 以 JSON 存储,可放渠道、工具、上下文等附加信息。
使用方式:依赖 Python 标准库 sqlite3、datetime、json,或任何支持 SQLite 的语言,无需外部 API。默认数据库路径为 ~/.chat_logs/messages.db。资料给出 Python 与 Node.js 的初始化、写入和查询示例,以及 Bash 快速查询命令,例如 sqlite3 ~/.chat_logs/messages.db "SELECT timestamp, sender, substr(content, 1, 80) FROM messages ORDER BY timestamp DESC LIMIT 20"。还提供 ChatLogger 封装类、装饰器模式和智能体提示词示例。
限制与注意:资料建议截断超长消息(如 10000 字符)、使用 ISO 8601 时间戳、注意敏感数据隐私、定期备份。数据库锁定时应正确关闭连接或使用连接池;文件过大可执行 VACUUM 或归档旧消息;查询应加 LIMIT 并确保索引存在。具体收费、平台支持范围暂未提供。