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







