npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

cx-viewer

v1.0.3

Published

Codex Logger visualization management tool

Readme

CX-Viewer

A Codex request monitoring system that captures and visualizes all API requests and responses from Codex in real time (raw text, unredacted). Helps developers monitor their context for review and troubleshooting during Vibe Coding sessions. The latest version of CX-Viewer also provides a server-deployed web programming solution and mobile programming tools. Feel free to use them in your own projects — more plugin features and cloud deployment support are coming in the future.

Check out the fun part — here's what you can see on mobile:

English | 简体中文 | 繁體中文 | 한국어 | 日本語 | Deutsch | Español | Français | Italiano | Dansk | Polski | Русский | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська

Usage

Installation

npm install -g cx-viewer --registry=https://registry.npmjs.org

Programming Mode

cxv launches the Web Viewer and then forwards the real Codex CLI surface through unchanged. CXV only adds a few wrapper features of its own:

  • cxv continue is a convenience alias for codex resume --last
  • cxv --d is a convenience alias for codex --dangerously-bypass-approvals-and-sandbox
  • cxv --ad is a legacy compatibility flag kept only for CXV-side bypass toggles

Everything else should be treated as standard Codex CLI syntax.

cxv                                         # == codex (interactive mode)
cxv continue                                # == codex resume --last
cxv resume --last                           # == codex resume --last
cxv -c 'model="gpt-5.5"'                    # == codex -c 'model="gpt-5.5"'
cxv exec "summarize this repo"              # == codex exec "summarize this repo"
cxv review                                  # == codex review
cxv --search --model gpt-5.5                # == codex --search --model gpt-5.5
cxv --d                                     # == codex --dangerously-bypass-approvals-and-sandbox

The author's most-used command is:

cxv continue --d

After launching in programming mode, a web page will open automatically.

You can use Codex directly from the web page while viewing the full request payloads and code changes.

Even better — you can even code from your mobile device!

Logger Mode

⚠️ If you still prefer using the native codex tool or VS Code extension, use this mode.

In this mode, launching codex or codex --dangerously-skip-permissions will automatically start a logging process that records request logs to ~/.codex/cx-viewer/yourproject/date.jsonl

Enable logger mode:

cxv -logger

When the console cannot print the specific port, the default first port is 127.0.0.1:7008. Multiple instances use sequential ports like 7009, 7010.

This command automatically detects how Codex is installed locally (NPM or Native Install) and adapts accordingly.

  • NPM version Codex: Automatically injects an interceptor script into Codex's cli.js.
  • Native version Codex: Automatically detects the codex binary, configures a local transparent proxy, and sets up a Zsh Shell Hook to forward traffic automatically.
  • NPM-installed Codex is the recommended approach for this project.

Uninstall logger mode:

cxv --uninstall

Troubleshooting

If you encounter issues starting cx-viewer, here is the ultimate troubleshooting approach:

Step 1: Open Codex in any directory.

Step 2: Give Codex the following instruction:

I have installed the cx-viewer npm package, but after running cxv it still doesn't work properly. Please check cx-viewer's cli.js and findcx.js, and adapt them to the local Codex deployment based on the specific environment. Keep the scope of changes as constrained as possible within findcx.js.

Letting Codex diagnose the issue itself is more effective than asking anyone or reading any documentation!

After the above instruction is completed, findcx.js will be updated. If your project frequently requires local deployment, or if forked code often needs to resolve installation issues, keeping this file lets you simply copy it next time. At this stage, many projects and companies using Codex are not deploying on Mac but rather on server-side hosted environments, so the author has separated findcx.js to make it easier to track cx-viewer source code updates going forward.

Other Commands

See:

cxv -h

The most useful inherited Codex commands in CXV are:

  • cxv resume [session-id]
  • cxv exec [prompt]
  • cxv review
  • cxv -c key=value
  • cxv --search
  • cxv -C <dir>

Configuration Override

If you need to use a custom API endpoint (e.g., a corporate proxy), simply configure it in ~/.codex/settings.json or set the OPENAI_BASE_URL environment variable. cxv will automatically detect and correctly forward requests.

Silent Mode

By default, cxv runs in silent mode when wrapping codex, keeping your terminal output clean and consistent with the native experience. All logs are captured in the background and can be viewed at http://localhost:7008.

Once configured, use the codex command as normal. Visit http://localhost:7008 to access the monitoring interface.

Features

Programming Mode

After launching with cxv, you can see:

You can view code diffs directly after editing:

While you can open files and code manually, manual coding is not recommended — that's old-school coding!

Mobile Programming

You can even scan a QR code to code from your mobile device:

Fulfill your imagination of mobile programming. There's also a plugin mechanism — if you need to customize for your coding habits, stay tuned for plugin hooks updates.

Logger Mode (View Complete Codex Sessions)

  • Captures all API requests from Codex in real time, ensuring raw text — not redacted logs (this is important!!!)
  • Automatically identifies and labels Main Agent and Sub Agent requests (subtypes: Plan, Search, Bash)
  • MainAgent requests support Body Diff JSON, showing collapsed differences from the previous MainAgent request (only changed/new fields)
  • Each request displays inline Token usage statistics (input/output tokens, cache creation/read, hit rate)
  • Compatible with Codex Router (CCR) and other proxy scenarios — falls back to API path pattern matching

Conversation Mode

Click the "Conversation Mode" button in the top-right corner to parse the Main Agent's complete conversation history into a chat interface:

  • Agent Team display is not yet supported
  • User messages are right-aligned (blue bubbles), Main Agent replies are left-aligned (dark bubbles)
  • thinking blocks are collapsed by default, rendered as Markdown — click to expand and view the thinking process; one-click translation is supported (feature is still unstable)
  • User selection messages (AskUserQuestion) are displayed in Q&A format
  • Bidirectional mode sync: switching to conversation mode auto-scrolls to the conversation corresponding to the selected request; switching back to raw mode auto-scrolls to the selected request
  • Settings panel: toggle default collapse state for tool results and thinking blocks
  • Mobile conversation browsing: in mobile CLI mode, tap the "Conversation Browse" button in the top bar to slide out a read-only conversation view for browsing the complete conversation history on mobile

Statistics Tool

The "Data Statistics" floating panel in the header area:

  • Displays cache creation/read counts and cache hit rate
  • Cache rebuild statistics: grouped by reason (TTL, system/tools/model changes, message truncation/modification, key changes) showing counts and cache_creation tokens
  • Tool usage statistics: displays call frequency for each tool sorted by number of calls
  • Skill usage statistics: displays call frequency for each skill sorted by number of calls
  • Supports teammate statistics
  • Concept help (?) icon: click to view built-in documentation for MainAgent, CacheRebuild, and each tool

Log Management

Via the CX-Viewer dropdown menu in the top-left corner:

Log Compression Regarding logs, the author wants to clarify that the official Anthropic definitions have not been modified, ensuring log integrity. However, since individual log entries from the 1M Opus model can become extremely large in later stages, thanks to certain log optimizations for MainAgent, at least 66% size reduction is achieved without gzip. The parsing method for these compressed logs can be extracted from the current repository.

More Useful Features

You can quickly locate your prompts using the sidebar tools.


The interesting KV-Cache-Text feature lets you see exactly what Claude sees.


You can upload images and describe your needs — Claude's image understanding is incredibly powerful. And as you know, you can paste images directly with Ctrl+V, and your complete content will be displayed in the conversation.


You can customize plugins, manage all CX-Viewer processes, and CX-Viewer supports hot-switching to third-party APIs (yes, you can use GLM, Kimi, MiniMax, Qwen, DeepSeek — although the author considers them all quite weak at this point).


More features waiting to be discovered... For example: the system supports Agent Team, and has a built-in Code Reviewer. Codex Code Reviewer integration is coming soon (the author highly recommends using Codex to review Codex's code).

Auto-Update

CX-Viewer automatically checks for updates on startup (at most once every 4 hours). Within the same major version (e.g., 1.x.x -> 1.y.z), updates are applied automatically and take effect on the next restart. Cross-major-version updates only show a notification.

Auto-update follows Codex's global configuration in ~/.codex/settings.json. If Codex has auto-updates disabled (autoUpdates: false), CX-Viewer will also skip auto-updates.

Multi-language Support

CX-Viewer supports 18 languages, automatically switching based on system locale:

简体中文 | English | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська

License

MIT