CodexProfilePro is a local, cross-platform desktop dashboard for Codex usage. It turns local Codex session logs into a profile-style activity page with token heatmaps, streaks, task stats, cost estimates, tray access, and hourly refresh.
Get the latest build from the release page:
- Windows: use
CodexProfilePro.Setup.1.0.8.exefor the installer, orCodexProfilePro.1.0.8.exefor portable use. - macOS: use
CodexProfilePro-1.0.8-universal.dmg, or the universal ZIP. - Linux: use
CodexProfilePro-1.0.8.AppImage, orcodex-profile-pro_1.0.8_amd64.deb.
- Install or open the app for your platform.
- CodexProfilePro reads local Codex logs from
~/.codex/sessions/**/*.jsonl. - Use the refresh button in the bottom-left corner to rebuild the data immediately.
- Keep the app running in the tray for hourly background refresh.
- Use
Editin the top-right corner to set your local name, handle, plan, and profile picture. - Use
Sharein the top-right corner to generate a compact PNG profile card that can be copied or saved.
If no Codex logs exist on the machine, the app opens but the dashboard can be empty until Codex creates session logs.
- Native desktop app for Windows, macOS, and Linux
- Daily, weekly, cumulative, and API-equivalent cost heatmaps
- Local-only Codex log parsing from
~/.codex/sessions/**/*.jsonl - Hourly refresh while the desktop app is running
- Incremental refresh for large Codex log folders
- Windows tray support with manual refresh
- Editable local profile settings
- Shareable PNG profile cards using the local profile and current activity data
- Private usage data kept out of Git by default
CodexProfilePro does not upload usage data. It reads local session logs and writes generated dashboard data into the app user-data folder.
Packaged desktop builds write usage data here:
Windows: %APPDATA%\codex-profile-pro\slopmeter.json
macOS: ~/Library/Application Support/codex-profile-pro/slopmeter.json
Linux: ~/.config/codex-profile-pro/slopmeter.json
If your Codex logs are not under ~/.codex, set CODEX_HOME to the correct Codex data folder before launching the app.
Profile data is not hardcoded into the release. Each machine can configure its own profile with the in-app Edit button.
Saved profile settings live in the app user-data folder:
profile.json
profile-avatar.<ext>
Environment overrides are also supported:
CODEX_PROFILE_NAME
CODEX_PROFILE_HANDLE
CODEX_PROFILE_PLAN
CODEX_PROFILE_AVATAR
The app checks environment overrides first, then local profile settings, then safe profile fields from local Codex state. If none exist, it falls back to Codex User with no profile picture.
For development or source checkout usage:
npm run syncThe exporter reads:
~/.codex/sessions/**/*.jsonl
It writes:
CodexProfilePro/slopmeter.json
The Cost tab is an API-equivalent estimate. It uses official OpenAI API pricing where available:
gpt-5.5gpt-5.4gpt-5.4-minigpt-5.3-codex
GPT-5.3-Codex-Spark is treated as a gpt-5.3-codex estimate because OpenAI marks Spark credit rates as research-preview/not final.
npm install
npm startnpm run dist:win
npm run dist:mac
npm run dist:linuxBuild each platform on its native OS for best results. The GitHub release workflow builds Windows, macOS, and Linux artifacts on matching runners.
npm testThe smoke test creates a fake Codex session log, runs the exporter against it, and verifies the generated usage JSON.
To verify share-card rendering in Electron:
npm run verify:share