SuperAPI AI 工具集

session-logs

办公与效率

查看项目

更新于 10-16 06:42

技能介绍

用途:session-logs 用于搜索你的完整对话历史,这些历史保存在 session JSONL 文件中。当用户引用较早或父级对话,或询问之前说过什么时使用它。当用户询问不在记忆文件中的先前聊天、父级对话或历史上下文时触发该技能。

位置与结构:会话日志位于 ~/.openclaw/agents/<agentId>/sessions/(使用系统提示 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 -r 'select(.message.role == "user") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl;在助手响应中搜索关键词;获取某会话总成本:jq -s '[.[] | .message.usage.cost.total // 0] | add' <session>.jsonl;生成每日成本汇总;统计会话中的消息和 token:jq -s '{messages: length, user: [.[] | select(.message.role == "user")] | length, assistant: [.[] | select(.message.role == "assistant")] | length, first: .[0].timestamp, last: .[-1].timestamp}' <session>.jsonl;工具使用细分:jq -r '.message.content[]? | select(.type == "toolCall") | .name' <session>.jsonl | sort | uniq -c | sort -rn;跨所有会话搜索短语:rg -l "phrase" ~/.openclaw/agents/<agentId>/sessions/*.jsonl。

提示与限制:会话是仅追加的 JSONL(每行一个 JSON 对象)。大会话可达数 MB,可使用 head/tail 采样。sessions.json 索引将聊天提供方(discord、whatsapp 等)映射到会话 ID。已删除会话带 .deleted.<timestamp> 后缀。快速纯文本提示:jq -r 'select(.type=="message") | .message.content[]? | select(.type=="text") | .text' ~/.openclaw/agents/<agentId>/sessions/<id>.jsonl | rg 'keyword'。具体收费、平台适用性和效果暂未提供。