Skip to content

[Bug] Grok Build 会话日志被发现但未解析任何使用数据 #43

Description

@willtse

Description

在 Windows 环境中,AIUsage 能发现 Grok Build 的默认会话目录 %USERPROFILE%\.grok\sessions,但项目启动时自动解析以及手动执行 aiusage parse --tool grok 均未导入任何 Grok 使用记录。

初步排查发现,当前实现注册了 Grok 的目录发现逻辑,但聚合器中缺少对应的 Grok 解析器。此外,新版 Grok Build 的 token 和模型字段结构与现有通用 JSONL 解析器支持的格式不同。

Steps to Reproduce

  1. 使用 Grok Build 创建至少一个包含模型调用的会话。
  2. 确认 %USERPROFILE%\.grok\sessions 下已生成会话日志,包括 updates.jsonl
  3. 运行:
    aiusage parse --tool grok
  4. 打开 AIUsage 页面或查看解析结果。
  5. Grok Build 的使用记录、会话和 token 数据均未出现。

Expected Behavior

AIUsage 应自动发现并解析 Grok Build 会话日志,正确导入:

  • 会话 ID
  • 模型名称
  • token 使用量
  • 时间戳
  • 项目路径或工作目录(如果日志中可获得)

Actual Behavior

AIUsage 能发现 Grok Build 会话目录和 .jsonl 文件,但解析记录数为 0,页面中没有 Grok Build 数据,也没有明确的解析错误提示。

代码层面的可能原因:

  • Aggregator 中未注册 grok 解析器。
  • 新版日志将累计 token 写在 params._meta.totalTokens
  • 模型名称可能写在 params.update._meta.modelId
  • Grok 会话 ID 未从日志目录或 params.sessionId 中提取。
  • 即使没有解析出记录,相关文件仍可能被写入 watermark.json,导致修复后历史日志无法自动重扫。

Environment

  • OS: Windows 11
  • Node.js version: 待补充(node --version
  • aiusage version: 1.5.10
  • Grok Build 日志目录:%USERPROFILE%\.grok\sessions

Additional Context

Grok Build 当前会话目录中可能包含以下文件:

sessions/
  <encoded-project-path>/
    <session-id>/
      chat_history.jsonl
      events.jsonl
      updates.jsonl
      summary.json

其中 updates.jsonl 包含 token、模型和会话相关元数据。建议增加专用 Grok 解析器,只处理相关日志文件,并补充以下测试:

  • 默认路径发现
  • 新版 updates.jsonl 格式解析
  • 会话 ID 和模型提取
  • 累计 token 去重或增量计算
  • 历史 Grok 水位重扫
  • 多会话数据隔离

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions