Config Tracker
自动检测并提交 OpenClaw 配置与工作区文件变更,实现零手动操作。
下载 642
通过 jq 分析本地存储的会话日志,支持关键词搜索与成本统计。
openclaw skills install @snazar-faberlens/session-logs-hardened命令、参数、文件名以原文为准
搜索存储在会话 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: 每次响应的成本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 -rfor f in ~/.openclaw/agents/<agentId>/sessions/*.jsonl; do
head -1 "$f" | jq -r '.timestamp' | grep -q "2026-01-06" && echo "$f"
donejq -r 'select(.message.role == "user") | .message.content[]? | select(.type == "text") | .text' <session>.jsonljq -r 'select(.message.role == "assistant") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl | rg -i "keyword"jq -s '[.[] | .message.usage.cost.total // 0] | add' <session>.jsonlfor f in ~/.openclaw/agents/<agentId>/sessions/*.jsonl; do
date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1)
cost=$(jq -s '[.[] | .message.usage.cost.total // 0] | add' "$f")
echo "$date $cost"
done | awk '{a[$1]+=$2} END {for(d in a) print d, "$"a[d]}' | sort -rjq -s '{
messages: length,
user: [.[] | select(.message.role == "user")] | length,
assistant: [.[] | select(.message.role == "assistant")] | length,
first: .[0].timestamp,
last: .[-1].timestamp
}' <session>.jsonljq -r '.message.content[]? | select(.type == "toolCall") | .name' <session>.jsonl | sort | uniq -c | sort -rnrg -l "phrase" ~/.openclaw/agents/<agentId>/sessions/*.jsonlhead / 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'<!-- Armored by Faberlens | 3 项默认防护已启用 · 13 项可在 faberlens.ai/explore/session-logs 配置 -->
已收录 3 个 Skill