SuperAPI AI 工具集

session-logs

办公与效率

查看项目

更新于 10-15 11:42

技能介绍

session-logs 是一个用于搜索和分析自身会话日志的技能,主要面向需要回溯较早或父级对话的场景。它通过 jq 对存储在 JSONL 文件中的完整对话历史进行查询。

用途 当用户引用较早的或父级对话,或询问之前说过什么,而相关信息不在记忆文件中时,可使用该技能获取历史上下文。

日志位置与结构 会话日志位于 ~/.clawdbot/agents/<agentId>/sessions/,其中 agentId 取自系统提示 Runtime 行的 agent=<id> 值。目录中包含 sessions.json(会话键到会话 ID 的索引)以及每个会话对应的 <session-id>.jsonl 完整对话记录。

每个 .jsonl 文件中的消息包含以下字段:type 为 "session"(元数据)或 "message";timestamp 为 ISO 时间戳;message.role 为 "user"、"assistant" 或 "toolResult";message.content[] 包含文本、思考或工具调用(过滤 type=="text" 可获得人类可读内容);message.usage.cost.total 为单次响应的成本。

常用查询 技能提供了一系列基于 jq 的查询示例:按日期和大小列出所有会话;查找特定日期的会话;提取某会话中的用户消息;在助手回复中搜索关键词;获取某会话的总成本;生成每日成本汇总;统计会话中的消息数与 token 数;分析工具使用分布;以及跨所有会话搜索某个短语。

使用提示 会话为仅追加的 JSONL 格式,每行一个 JSON 对象。大型会话可能达到数 MB,可使用 head/tail 进行采样。sessions.json 索引将聊天提供方(如 discord、whatsapp 等)映射到会话 ID。已删除的会话带有 .deleted.<timestamp> 后缀。若只需快速、低噪声的纯文本提示,可使用过滤 type=="message" 与 type=="text" 的 jq 命令配合 rg 搜索关键词。