核心用法
session-logs 是一个专为用户设计的本地会话历史检索工具,通过组合使用 jq(JSON 处理器)和 rg(ripgrep 高速搜索)两大标准命令行工具,实现对 Clawdbot 会话日志的深度查询与分析。用户可基于时间范围、关键词、角色类型(用户/助手/工具结果)等多维度筛选历史对话,并支持成本统计、消息计数、工具调用分析等高级功能。
典型使用场景包括:当用户提及"之前聊过的那个项目"或"上次的配置"时,助手可调用此技能快速定位相关会话;用户也可主动查询特定日期的对话、计算某段时间的 API 使用成本,或分析自己最常调用的工具类型。
显著优点
1. 完全本地化:所有数据存储于 ~/.clawdbot/agents/<agentId>/sessions/,无需网络传输,隐私可控
2. 标准工具链:仅依赖 jq 和 ripgrep,无额外依赖,轻量且跨平台兼容
3. 灵活查询能力:支持 JSONL 行级解析,可按时间、角色、内容类型、成本等多字段组合过滤
4. 成本透明化:内置成本汇总脚本,帮助用户追踪会话级别的 API 消耗
5. 结构化输出:查询结果可直接用于后续自动化处理或报告生成
潜在缺点与局限性
1. 技术门槛:需要用户熟悉命令行操作和 jq 查询语法,非技术用户上手成本较高
2. 无可视化界面:纯文本输出,缺乏图形化的时间轴或对话树展示
3. 性能瓶颈:大型会话文件(数 MB)的全文搜索可能较慢,虽可用 head/tail 采样但会损失完整性
4. 索引依赖:跨会话搜索依赖 sessions.json 索引文件,若索引损坏需手动遍历
5. 删除会话处理:已删除会话的 .deleted.<timestamp>> 命名规则需额外注意,查询时可能产生干扰
适合的目标群体
- 技术型用户:熟悉 Shell 脚本和 JSON 处理的开发者、运维人员
- 成本敏感用户:需要精细化追踪 AI 对话成本的个人或团队管理者
- 隐私优先用户:希望完全掌控对话数据、避免云端存储的用户
- 长期项目用户:会话历史跨越数周甚至数月,需要频繁回溯上下文的深度使用者
使用风险
- 数据误读风险:jq 查询语法错误可能导致过滤条件失效,返回不完整结果
- 路径硬编码风险:
~/.clawdbot路径假设可能因安装方式不同而失效 - 并发写入冲突:会话文件为 append-only JSONL,但极端情况下(如同时多进程写入)可能存在行损坏风险
- 敏感信息暴露:日志中可能包含用户输入的密码、密钥等敏感内容,查询结果需注意屏幕共享安全