JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 187
  • Score
    100M100P100Q97453F
  • License MIT

A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@nervmor/codexui) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    πŸ”₯ @nervmor/codexui

    πŸš€ Run Codex App UI Anywhere: Linux, Windows, or Termux on Android πŸš€

    npm platform node license

    Codex UI in your browser. No drama. One command.

    Yes, that is your Codex desktop app experience exposed over web UI. Yes, it runs cross-platform.

     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—
    β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘
    β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—   β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘
    β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•   β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘
    β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘
     β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β•β•šβ•β•  β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•

    🀯 What Is This?

    @nervmor/codexui is a lightweight bridge that gives you a browser-accessible UI for Codex app-server workflows.

    You run one command. It starts a local web server. You open it from your machine, your LAN, or wherever your setup allows.

    TL;DR 🧠: Codex app UI, unlocked for Linux, Windows, and Termux-powered Android setups.


    ⚑ Quick Start

    The main event.

    # πŸ”“ Run instantly (recommended)
    npx @nervmor/codexui
    
    # 🌐 Then open in browser
    # http://localhost:18923

    By default, @nervmor/codexui now also starts:

    cloudflared tunnel --url http://localhost:<port>

    It prints the tunnel URL, terminal QR code, and password together in startup output.
    Use --no-tunnel to disable this behavior.

    Linux 🐧

    node -v   # should be 18+
    npx @nervmor/codexui

    Windows πŸͺŸ (PowerShell)

    node -v   # 18+
    npx @nervmor/codexui

    Termux (Android) πŸ€–

    pkg update && pkg upgrade -y
    pkg install nodejs -y
    npx @nervmor/codexui

    Android background requirements:

    1. Keep the codexui session running in the current Termux session (do not close it).
    2. In Android settings, disable battery optimization for Termux.
    3. Keep the persistent Termux notification enabled so Android is less likely to kill it.
    4. Optional but recommended in Termux:
    termux-wake-lock
    1. Open the shown URL in your Android browser. If the app is killed, return to Termux and run npx @nervmor/codexui again.

    ✨ Features

    The payload.

    • πŸš€ One-command launch with npx @nervmor/codexui
    • 🌍 Cross-platform support for Linux, Windows, and Termux on Android
    • πŸ–₯️ Browser-first Codex UI flow on http://localhost:18923
    • 🌐 LAN-friendly access from other devices on the same network
    • πŸ§ͺ Remote/headless-friendly setup for server-based Codex usage
    • πŸ”Œ Works with reverse proxies and tunneling setups
    • ⚑ No global install required for quick experimentation
    • πŸŽ™οΈ Built-in hold-to-dictate voice input with transcription to composer draft

    🧩 Recent Product Features (from main commits)

    Not just launch. Actual UX upgrades.

    • πŸ—‚οΈ Searchable project picker in new-thread flow
    • βž• Inline "Add new project" input inside picker (no browser prompt)
    • πŸ“Œ New projects get pinned to top automatically
    • 🧠 Smart default new-project name suggestion via server-side free-directory scan (New Project (N))
    • πŸ”„ Project order persisted globally to workspace roots state
    • 🧡 Optimistic in-progress threads preserved during refresh/poll cycles
    • πŸ“± Mobile drawer sidebar in desktop layout (teleported overlay + swipe-friendly structure)
    • πŸŽ›οΈ Skills Hub mobile-friendly spacing/toolbar layout improvements
    • πŸͺŸ Skill detail modal tuned for mobile sheet-style behavior
    • πŸ§ͺ Skills Hub event typing fix for SkillCard select emit compatibility
    • πŸŽ™οΈ Voice dictation flow in composer (hold to dictate -> transcribe -> append text)

    🌍 What Can You Do With This?

    πŸ”₯ Use Case πŸ’₯ What You Get
    πŸ’» Linux workstation Run Codex UI in browser without depending on desktop shell
    πŸͺŸ Windows machine Launch web UI and access from Chrome/Edge quickly
    πŸ“± Termux on Android Start service in Termux and control from mobile browser
    πŸ§ͺ Remote dev box Keep Codex process on server, view UI from client device
    🌐 LAN sharing Open UI from another device on same network
    🧰 Headless workflows Keep terminal + browser split for productivity
    πŸ”Œ Custom routing Put behind reverse proxy/tunnel if needed
    ⚑ Fast experiments npx run without full global setup

    πŸ–ΌοΈ Screenshots

    Skills Hub

    Skills Hub

    Chat

    Chat

    Mobile UI

    Skills Hub Mobile Chat Mobile


    πŸ—οΈ Architecture

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚  Browser (Desktop/Mobile)   β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚ HTTP/WebSocket
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚         codexui             β”‚
    β”‚  (Express + Vue UI bridge)  β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚ RPC/Bridge calls
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚      Codex App Server       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

    🎯 Requirements

    • βœ… Node.js 18+
    • βœ… Codex app-server environment available
    • βœ… Browser access to host/port
    • βœ… Microphone permission (only for voice dictation)

    πŸ› Troubleshooting

    ❌ Problem βœ… Fix
    Port already in use Run on a free port or stop old process
    npx fails Update npm/node, then retry
    Termux install fails pkg update && pkg upgrade then reinstall nodejs
    Can’t open from other device Check firewall, bind address, and LAN routing

    🀝 Contributing

    Issues and PRs are welcome.
    Bring bug reports, platform notes, and setup improvements.


    ⭐ Star This Repo

    If you believe Codex UI should be accessible from any machine, any OS, any screen, star this project and share it. ⭐

    Built for speed, portability, and a little bit of chaos 😏