序列分析工具 seq

seq 是一个用于挖掘 Codex 会话和记忆文件的工具,专注于技能使用分析、格式合规性检查、令牌指标统计和会话查找。它支持灵活查询、数据分析和报告生成,适用于数据挖掘、性能评估、SEO优化和会话分析。关键词:数据挖掘、会话分析、技能使用、格式合规、令牌统计、SEO优化、Codex工具、数据分析工具。

数据分析 0 次安装 0 次浏览 更新于 3/8/2026

名称: seq 描述: “挖掘 Codex 会话 JSONL (~/.codex/sessions) 和基于文件的记忆 (~/.codex/memories),用于技能使用、部分/格式合规性、触发证据、令牌指标,以及用于恢复工作流程的提示到会话查找。适用于如 $seqanalyze session historyfind sessions by promptrank skill mentionsaudit missing sectionsreport token usagemine memoriesuse $seq to improve skill trigger descriptions/frontmatter 等提示。”

seq

概述

使用单个脚本快速一致地挖掘 ~/.codex/sessions/ JSONL 和 ~/.codex/memories/ 文件。专注于技能使用、格式合规性、令牌计数和记忆文件挖掘。

快速开始

CODEX_SKILLS_HOME="${CODEX_HOME:-$HOME/.codex}"
CLAUDE_SKILLS_HOME="${CLAUDE_HOME:-$HOME/.claude}"
SEQ_SCRIPT="$CODEX_SKILLS_HOME/skills/seq/scripts/seq.py"
[ -f "$SEQ_SCRIPT" ] || SEQ_SCRIPT="$CLAUDE_SKILLS_HOME/skills/seq/scripts/seq.py"

run_seq() {
  if command -v seq >/dev/null 2>&1 && seq --help 2>&1 | grep -q "skills-rank"; then
    seq "$@"
    return
  fi
  if [ "$(uname -s)" = "Darwin" ] && command -v brew >/dev/null 2>&1; then
    if ! brew install tkersey/tap/seq; then
      echo "brew install tkersey/tap/seq 失败;拒绝静默回退。" >&2
      return 1
    fi
    if command -v seq >/dev/null 2>&1 && seq --help 2>&1 | grep -q "skills-rank"; then
      seq "$@"
      return
    fi
    echo "brew install tkersey/tap/seq 未产生兼容的 seq 二进制文件。" >&2
    return 1
  fi
  if [ -f "$SEQ_SCRIPT" ]; then
    uv run python "$SEQ_SCRIPT" "$@"
    return
  fi
  echo "seq 二进制文件缺失且回退脚本未找到: $SEQ_SCRIPT" >&2
  return 1
}

run_seq datasets --root ~/.codex/sessions

以下命令为简洁起见直接使用 seq。这是首选的 Zig 执行路径。在需要支持 brew 感知的引导和 Python 回退行为的地方使用 run_seq

查询(JSON 规范)

通过 query 运行灵活的挖掘,使用一个小型 JSON 规范(内联或 @spec.json)。

列出数据集:

seq datasets --root ~/.codex/sessions

显示数据集字段/参数:

seq dataset-schema --dataset token_deltas --root ~/.codex/sessions

示例:

排名技能使用:

seq query --root ~/.codex/sessions --spec \
  '{"dataset":"skill_mentions","group_by":["skill"],"metrics":[{"op":"count","as":"count"}],"sort":["-count"],"limit":20,"format":"table"}'

每日令牌总计(来自 token_count 事件):

seq query --root ~/.codex/sessions --spec \
  '{"dataset":"token_deltas","group_by":["day"],"metrics":[{"op":"sum","field":"delta_total_tokens","as":"tokens"}],"sort":["day"],"format":"table"}'

按总令牌排名的顶级会话:

seq query --root ~/.codex/sessions --spec \
  '{"dataset":"token_sessions","select":["path","total_total_tokens"],"sort":["-total_total_tokens"],"limit":10,"format":"table"}'

排名工具调用:

seq query --root ~/.codex/sessions --spec \
  '{"dataset":"tool_calls","group_by":["tool"],"metrics":[{"op":"count","as":"count"}],"sort":["-count"],"limit":20,"format":"table"}'

按类别分类的记忆文件:

seq query --spec \
  '{"dataset":"memory_files","group_by":["category"],"metrics":[{"op":"count","as":"count"}],"sort":["-count"],"format":"table"}'

预建规范

预建的规范位于 specs/ 中。

seq query --root ~/.codex/sessions --spec @specs/skills-rank.json
seq query --root ~/.codex/sessions --spec @specs/tools-rank.json
seq query --root ~/.codex/sessions --spec @specs/tokens-top-days.json
seq query --root ~/.codex/sessions --spec @specs/tokens-top-sessions.json
seq query --root ~/.codex/sessions --spec @specs/tk-trend-week.json

规范参考

顶级键:

  • dataset(字符串,必需)
  • params(对象,可选;数据集特定)
  • where(谓词列表,可选)
  • group_by(字段名称列表,可选)
  • metrics(聚合列表,可选;分组时默认 count
  • select(字段名称列表,可选;用于非分组查询)
  • sort(字段名称列表;前缀 - 表示降序)
  • limit(整数,可选)
  • formattable | json | csv | jsonl;默认:分组时为 table,否则 jsonl

Where 谓词形状:

{"field":"day","op":"eq","value":"2026-02-05"}

支持的 where.op

  • eqneq
  • gtgteltlte(数字类型比较)
  • innin(值为 JSON 列表)
  • contains(子字符串)
  • regex(值为正则表达式字符串;可选 case_insensitive: true
  • existsnot_exists

Metrics 形状(分组查询):

{"op":"sum","field":"delta_total_tokens","as":"tokens"}

支持的 metrics.op

  • count
  • summinmaxavg
  • count_distinct

任务

1) 排名技能使用

seq skills-rank --root ~/.codex/sessions

常用选项:

  • --format json|csv
  • --max 20
  • --roles user,assistant
  • --since 2026-01-01T00:00:00Z

2) 随时间趋势一个技能

seq skill-trend --root ~/.codex/sessions --skill tk --bucket week

3) 报告特定技能

seq skill-report --root ~/.codex/sessions --skill tk \
  --sections "Contract,Invariants,Creative Frame,Why This Solution,Incision,Proof" \
  --sample-missing 3

另一个示例:

seq skill-report --root ~/.codex/sessions --skill fix \
  --sections "Contract,Findings,Changes applied,Validation,Residual risks / open questions" \
  --sample-missing 3

4) 按技能划分的角色分解

seq role-breakdown --root ~/.codex/sessions --format table

5) 审计部分合规性

seq section-audit --root ~/.codex/sessions \
  --sections "Contract,Invariants,Creative Frame" \
  --contains "Using $tk" \
  --sample-missing 5

6) 导出出现次数

seq occurrence-export --root ~/.codex/sessions --format jsonl --output occurrences.jsonl

7) 打包报告

seq report-bundle --root ~/.codex/sessions \
  --top 20 --skills tk,fix \
  --sections "Contract,Invariants,Creative Frame,Why This Solution,Incision,Proof"

8) 令牌使用摘要

seq token-usage --root ~/.codex/sessions --top 10

9) 可重复的性能测试

运行固定预热/样本计数和可选基线比较的稳定工作负载。

zig build bench -Doptimize=ReleaseFast -- --config perf/frozen/workload_config.json

头对头 Zig vs Python 门(首先运行奇偶校验):

scripts/perf/head_to_head.sh --root testdata/golden/sessions --gate 20 --samples 9 --warmup 1

针对 Python 预言机的差异奇偶校验:

scripts/parity/run_diff.sh --root ~/.codex/sessions/2026/02/19

10) 按提示文本查找会话

seq find-session --root ~/.codex/sessions --prompt "adapter=auto" --limit 20

11) 列出单个会话的提示/消息

seq session-prompts --root ~/.codex/sessions --session-id <session_id> \
  --roles user,assistant --strip-skill-blocks --limit 100

注意

  • 默认根目录:~/.codex/sessions
  • memory_files 默认为 ~/.codex/memories,并接受 params.memory_root 来覆盖。
  • 技能名称默认从 ${CODEX_HOME:-$HOME/.codex}/skills 推断,必要时回退到 ${CLAUDE_HOME:-$HOME/.claude}/skills
  • 运行时引导策略:首选 Zig seq 二进制文件;在 macOS 上使用 brew,将 brew install tkersey/tap/seq 失败(或不兼容的二进制文件)视为硬错误;仅在没有兼容的 seq 二进制文件可用时使用 uv run python "$SEQ_SCRIPT"
  • 添加 --output <路径> 将结果写入文件。
  • query 自动仅投影引用的数据集字段(wheregroup_bymetrics.fieldselect 和非分组的 sort)以减少扫描开销。
  • find-session 返回 session_idpath;使用这些来定位后续的 query 或恢复工作流程。
  • session-prompts 默认使用 --roles user;设置 --roles user,assistant 以包含对话的双方。
  • session-prompts 默认去重镜像重复行;传递 --no-dedupe-exact 以保留所有重复项。
  • 典型流程:运行 find-session,然后将返回的 session_id 传递给 session-prompts --session-id <id>

资源

  • seq 二进制文件:用于排名技能、审计部分、查询数据集和总结令牌使用的 CLI。
  • zig build bench -Doptimize=ReleaseFast -- --config perf/frozen/workload_config.json:冻结工作负载性能运行器。
  • scripts/parity/run_diff.sh:Zig/Python 差异奇偶校验测试框架。
  • scripts/perf/head_to_head.sh:奇偶校验门控的头对头 p50 速度基准测试。