Hi! 刚提了 PR #71,是三个独立的 pi 相关修复,CI 全绿,每个 commit 单独可 revert:
https://github.com/vibe-cafe/vibe-usage/pull/71
pi 的 reasoning token 一直算成 0。pi 的 Usage 类型里这个字段叫
reasoning
(文档明确写是 output 的子集),但 pi-session-jsonl.js 读的是reasoningTokens,
pi 从来不写这个名字。所以 reasoning 全被留在 outputTokens 里。总 token 不变,
只是归类。拿真实数据验过:reasoning 0 → 2716,output 704679 → 701963,
total 14250058 不变。老的reasoningTokens拼写保留兜底。pi 自己的 session 目录配置没被认。pi 的优先级是
--session-dir>PI_CODING_AGENT_SESSION_DIR> settings.json 的sessionDir,
但发现逻辑只看PI_CODING_AGENT_DIR。用后两种方式搬过 session 目录的人,
pi 用量直接是空的,而且没有任何报错(默认目录还在,能正常 parse)。
这个 PR 把它们一并扫上,参照 Codex parser 认 CODEX_HOME 的既有做法。PRESERVED_SERVICE_ENV里没有 pi 的变量,但PI_CODING_AGENT_DIR在这个 PR
之前就已经被发现逻辑认了。结果是:搬过目录的人vibe-usage sync结果正确,
而装了后台 service 之后 pi 数据是空的。属于既有的不一致。
另外有个第四种情况这个 PR 故意没动,想先问下你们的意见:
pi 还支持每次调用传 --session <path>,所以 harness 可以把会话文件放在任何
config 和环境变量都记录不到的目录里。Rollica/Multica 就是这么干的——它跑pi -p --mode json --session <file>,文件放在 ~/.multica/pi-sessions/,
并且用这个文件路径当跨轮 resume id。在我这台机器上,这是全部本机 pi token 的
99.1%(约 1.68 亿 token / 50 个会话)完全统计不到,而默认目录只有 150 万,
时间戳停在我上次手工跑 pi 那天。
唯一能覆盖这种情况的机制是「用户指定的额外扫描目录」,也就是 Codex 已经有的codexExtraHome 那个形状(VALID_CONFIG_KEYS + resolveCodexHomes 里追加 +
README 配置表)。一个 piExtraSessionDirs 大概 20 行就够。
我没有直接写,因为 AGENTS.md 的 Architecture Approval Gate 说往 config.json
加控制面需要先拿到 maintainer 批准,而且看到了 v0.10.15/16 那个 incident marker。
所以按 gate 要求的格式(current/proposed invariant、影响面、兼容性、迁移、回滚)
写在 PR 正文最后了。要我在这个 PR 里实现、拆独立 PR、还是开成 RFC issue,
你们说一声就行。
缩略图是方的而不是维持原图Aspect ratio
[圈选元素] div.grid.grid-cols-2.gap-1
[HTML]
Hi,提了个 parser 修复,麻烦看一下:https://github.com/vibe-cafe/vibe-usage/pull/65
都是对着本机日志对出来的。
Trae CLI:一场长会话共用一个 traceID,每次模型调用还写了三层重复 span。现在按 traceID 取 max,一场 session 几千次调用最后只剩次数值最大的那一次。我这边近 24h GLM-5.3 实际大约 1.4 亿 input,dashboard 只有两三百万。另外有个 session 的 events.jsonl 到了 844MB,readFileSync 会撞 Node 字符串上限,整个 Trae parser 直接 throw。
Antigravity agy CLI:桌面 App 和 CLI 不是写在同一套格式里。App 2.0 还在写 Gemini 3.7 Flash (High) + createdAt,所以能报上去;CLI 大概 8/18 之后 blob 不再带 displayName 和时间戳,旧逻辑没有 timestamp 就 continue,最近的 CLI 用量是空的。数据还在 ~/.gemini/antigravity-cli/conversations/*.db 里,时间在 steps 表。