SuperAPI AI 工具集

session-logs

通用与其它

查看项目

更新于 10-16 00:00

技能介绍

用途:当用户提到更早或上级对话、或询问之前说过什么、需要不在记忆文件中的历史上下文时,使用该技能检索完整会话记录。

数据位置:会话日志位于 ~/.openclaw/agents/<agentId>/sessions/(agentId 取自系统提示 Runtime 行的 agent=<id> 值)。其中 sessions.json 是会话键到会话 ID 的索引;<session-id>.jsonl 为每个会话的完整记录。

结构:每个 .jsonl 每行一个 JSON 对象,字段包括 type(session 元数据或 message)、timestamp(ISO 时间)、message.role(user、assistant 或 toolResult)、message.content[](文本、thinking 或工具调用,人类可读内容需过滤 type=="text")、message.usage.cost.total(单条回复费用)。

常见查询(命令保持原样):按日期与大小列出全部会话:for f in ~/.openclaw/agents/<agentId>/sessions/*.jsonl; do date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1); size=$(ls -lh "$f" | awk '{print $5}'); echo "$date $size $(basename $f)"; done | sort -r;查找某天会话:head -1 后用 jq -r '.timestamp' 配合 grep。提取用户消息:jq -r 'select(.message.role == "user") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl;在助手回复中搜索关键词可接 rg -i "keyword"。会话总费用:jq -s '[.[] | .message.usage.cost.total // 0] | add' <session>.jsonl;还可用类似方式汇总每日费用、统计消息数与首末时间、按工具调用 .name 排序统计用量,以及用 rg -l "phrase" 跨全部会话搜索。

提示与限制:会话为仅追加的 JSONL,大文件可达数 MB,建议用 head/tail 抽样;sessions.json 索引可将聊天提供方(discord、whatsapp 等)映射到会话 ID;已删除会话带 .deleted.<timestamp> 后缀。低噪声纯文本提示可用 jq 过滤 type=="message" 后仅取 type=="text" 再 rg 关键词。具体安装方式与版本要求资料暂未提供。