SuperAPI AI 工具集

dig

编程与开发

查看项目

更新于 10-16 02:22

技能介绍

用途

dig(Session Goldminer v2)用于挖掘 Claude Code 的会话数据,提取时间线、时间空档(gap)以及仓库归属信息。适用于用户想了解自己过去在 Claude Code 中做过哪些会话、什么时候做的、持续多久、涉及哪个仓库等场景。触发词包括 "dig"、"sessions"、"past sessions"、"timeline"、"what did I…" 等,无需额外查询语句。

主要能力

  • 会话时间线:按时间顺序列出会话(从最早开始),包含日期、会话起止时间、时长、仓库名、真人消息数、以及会话焦点摘要。
  • 时间空档标记:当会话之间存在较长间隔(如睡眠、离线或超过 30 分钟的空档)时,以 · · · 前缀的空档行显示。
  • 仓库归属:通过 ghq 解析仓库名(repoName 字段),区分不同仓库的会话。
  • 范围控制:可查看当前仓库最近 10 条会话,或指定数量 N,或用 --all 查看全部仓库的全部会话(自动检测数量)。
  • 深度模式 --deep:标准模式按会话基名去重,仅显示每个会话最新的文件,会遗漏历史会话、子智能体会话和 worktree 会话;--deep 扫描所有项目目录下的全部 .jsonl 文件,输出额外包含 toolCalls(工具调用次数)和 fileSizeKB(会话文件大小),并显示覆盖率元数据「X of Y sessions」。
  • 时间线视图 --timeline:按天分组显示会话,每天一个标题并附一个根据会话摘要推断的氛围标签(如「Infrastructure Day」「Brewing + Skills」),可配合 --all 查看全部仓库。
  • 时区自动检测:dig.py v2 不再硬编码 GMT+7,而是依次尝试 MAW_DISPLAY_TZ 环境变量、TZ 环境变量、系统时区,兜底为 UTC;输出元数据包含检测到的时区名与偏移量。

使用方式

在 Claude Code 中调用:

  • /dig —— 当前仓库,最近 10 条
  • /dig [N] —— 当前仓库,最近 N 条
  • /dig --all —— 全部仓库,全部会话(自动检测数量)
  • /dig --all [N] —— 全部仓库,最近 N 条
  • /dig --deep —— 深度扫描,所有 .jsonl 文件
  • /dig --deep [N] —— 深度扫描,最近 N 条
  • /dig --all --deep —— 全部仓库,深度扫描,完整覆盖
  • /dig --timeline —— 按天分组(当前仓库)
  • /dig --all --timeline —— 按天分组(全部仓库,全部会话)

内部执行流程包括:先获取时间戳并对当前工作目录按 Claude 的方式编码(将 / 和 . 替换为 -,前缀 -),以匹配 ~/.claude/projects/ 的目录命名;通过去除 -wt-* 后缀识别父项目目录,并将父项目与自身 worktree 一并纳入扫描范围(使用 zsh 的 (N) nullglob 限定符避免无 worktree 时崩溃);使用 --all 时扫描 ~/.claude/projects/ 下所有目录;随后运行 python3 ~/.claude/skills/dig/scripts/dig.py [N] [--deep],其中 N=10 为默认、N=0 表示扫描全部会话;最后读取 JSON 输出并渲染为表格。深度模式下表格增加 Tools 与 Size 列,底部显示覆盖率与时区。

适用场景

  • 回顾某段时间内在编码助手会话中的工作轨迹。
  • 排查某仓库相关工作的历史会话,回答「我们最开始做 X 是什么时候」这类问题(可结合 /trace)。
  • 通过时间线与空档观察工作节奏与断点。

限制

  • 依赖 Claude Code 的本地会话数据目录 ~/.claude/projects/ 及其中 .jsonl 文件。
  • 标准模式按会话基名去重,可能遗漏历史、子智能体与 worktree 会话,需用 --deep 完整覆盖。
  • Msgs 统计的是真人输入的消息数,不含工具批准。
  • 设置时区文件存在时区回退逻辑,最终兜底为 UTC。
  • 关于收费、平台支持范围等信息,资料中暂未提供。