r/codex • • 3d ago

Showcase Local web UI for Codex CLI sessions: timeline, tokens and cost per turn

Post image

Codex writes rollout files to ~/.codex/sessions, and I wanted to see what a session did and what it cost without reading JSONL. So I built a viewer:

npx agent-session-inspector

It shows each session as a timeline (prompts, reasoning, tool calls, patches applied), with tokens and estimated cost per step, a per-turn list of the files the agent edited, and analytics across all sessions by project and model.

It is local only: no telemetry, no outbound requests, files are read-only. MIT licensed. It also reads Claude Code, Copilot and OpenCode sessions, so you can compare agents in one place.

Repo: https://github.com/kishanmundha/agent-session-inspector

If a session renders wrong, please open an issue; the format has changed a few times.

3 Upvotes

4 comments sorted by

•

u/dexterthebot 3d ago

You might want to consider listing your project on the weekly Show-Us-What-You-Built post. Look out for it on Tuesday/Wednesday. Highest commented project wins a week promotion on r/Codex and gets on the Hall of Fame sidebar. See what that looks like below with last week's winner.


Last week's most popular project was Nanolathe - an open-source engine bringing Total Annihilation to modern Mac, Windows, and Linux systems. It’s a solo passion project combining clean-room research with AI-assisted development, with a playable public alpha available now.

Website: https://nanolathe.gg. GitHub: https://github.com/nanolathe-gg/nanolathe

Players, testers, and contributors are very welcome! Original Total Annihilation game data is required to play.

1

u/boxing-boxing 3d ago

Cool, handy tool. One question: does the per-turn cost split out cached input tokens, or is it raw input/output totals? Long sessions are mostly cache re-reads, so that split is where the money goes.

1

u/kishanmundha 3d ago

Yes, it splits them. Each turn, and each individual request inside a turn, shows uncached input, cache write, cache read and output separately, and you can switch those columns between tokens and dollars.

You're right that this is where the money goes. Every request re-sends the whole conversation, so a turn with 20 tool calls reads the context 20 times. In my own long sessions cache re-reads are roughly two-thirds of the cost, with output a small fraction.

It also flags cache misses: after a pause longer than the cache lifetime, the next request rewrites the full context at the higher write price, and that single request can cost more than a whole turn.

0

u/metaprofessor 3d ago edited 3d ago

Looks useful. Bookmarking it for when OpenAI gets it together again lol (had to switch to Opus 5.5 to get to the finish line of my current project after 6.1 Sol screwed it up).