@nervmor/codexui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,11 @@
1
+ MIT License
2
+
3
+ Copyright 2026 Pavel Voronin, Igor Levochkin
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the β€œSoftware”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED β€œAS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10
+
11
+
package/README.md ADDED
@@ -0,0 +1,195 @@
1
+ # πŸ”₯ @nervmor/codexui
2
+
3
+ ### πŸš€ Run Codex App UI Anywhere: Linux, Windows, or Termux on Android πŸš€
4
+
5
+ [![npm](https://img.shields.io/npm/v/%40nervmor%2Fcodexui?style=for-the-badge&logo=npm&logoColor=white)](https://www.npmjs.com/package/@nervmor/codexui)
6
+ [![platform](https://img.shields.io/badge/Platform-Linux%20%7C%20Windows%20%7C%20Android-blue?style=for-the-badge)](#-quick-start)
7
+ [![node](https://img.shields.io/badge/Node-18%2B-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/)
8
+ [![license](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](./LICENSE)
9
+
10
+ > **Codex UI in your browser. No drama. One command.**
11
+ >
12
+ > **Yes, that is your Codex desktop app experience exposed over web UI. Yes, it runs cross-platform.**
13
+
14
+ ```text
15
+ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—
16
+ β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘
17
+ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘
18
+ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β• β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘
19
+ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘
20
+ β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β•β•β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β• β•šβ•β•
21
+ ```
22
+
23
+ ---
24
+
25
+ ## 🀯 What Is This?
26
+ **`@nervmor/codexui`** is a lightweight bridge that gives you a browser-accessible UI for Codex app-server workflows.
27
+
28
+ You run one command. It starts a local web server. You open it from your machine, your LAN, or wherever your setup allows.
29
+
30
+ **TL;DR 🧠: Codex app UI, unlocked for Linux, Windows, and Termux-powered Android setups.**
31
+
32
+ ---
33
+
34
+ ## ⚑ Quick Start
35
+ > **The main event.**
36
+
37
+ ```bash
38
+ # πŸ”“ Run instantly (recommended)
39
+ npx @nervmor/codexui
40
+
41
+ # 🌐 Then open in browser
42
+ # http://localhost:18923
43
+ ```
44
+
45
+ By default, `@nervmor/codexui` now also starts:
46
+
47
+ ```bash
48
+ cloudflared tunnel --url http://localhost:<port>
49
+ ```
50
+
51
+ It prints the tunnel URL, terminal QR code, and password together in startup output.
52
+ Use `--no-tunnel` to disable this behavior.
53
+
54
+ ### Linux 🐧
55
+ ```bash
56
+ node -v # should be 18+
57
+ npx @nervmor/codexui
58
+ ```
59
+
60
+ ### Windows πŸͺŸ (PowerShell)
61
+ ```powershell
62
+ node -v # 18+
63
+ npx @nervmor/codexui
64
+ ```
65
+
66
+ ### Termux (Android) πŸ€–
67
+ ```bash
68
+ pkg update && pkg upgrade -y
69
+ pkg install nodejs -y
70
+ npx @nervmor/codexui
71
+ ```
72
+
73
+ Android background requirements:
74
+
75
+ 1. Keep the `codexui` session running in the current Termux session (do not close it).
76
+ 2. In Android settings, disable battery optimization for `Termux`.
77
+ 3. Keep the persistent Termux notification enabled so Android is less likely to kill it.
78
+ 4. Optional but recommended in Termux:
79
+ ```bash
80
+ termux-wake-lock
81
+ ```
82
+ 5. Open the shown URL in your Android browser. If the app is killed, return to Termux and run `npx @nervmor/codexui` again.
83
+
84
+ ---
85
+
86
+ ## ✨ Features
87
+ > **The payload.**
88
+
89
+ - πŸš€ One-command launch with `npx @nervmor/codexui`
90
+ - 🌍 Cross-platform support for Linux, Windows, and Termux on Android
91
+ - πŸ–₯️ Browser-first Codex UI flow on `http://localhost:18923`
92
+ - 🌐 LAN-friendly access from other devices on the same network
93
+ - πŸ§ͺ Remote/headless-friendly setup for server-based Codex usage
94
+ - πŸ”Œ Works with reverse proxies and tunneling setups
95
+ - ⚑ No global install required for quick experimentation
96
+ - πŸŽ™οΈ Built-in hold-to-dictate voice input with transcription to composer draft
97
+
98
+ ---
99
+
100
+ ## 🧩 Recent Product Features (from main commits)
101
+ > **Not just launch. Actual UX upgrades.**
102
+
103
+ - πŸ—‚οΈ Searchable project picker in new-thread flow
104
+ - βž• Inline "Add new project" input inside picker (no browser prompt)
105
+ - πŸ“Œ New projects get pinned to top automatically
106
+ - 🧠 Smart default new-project name suggestion via server-side free-directory scan (`New Project (N)`)
107
+ - πŸ”„ Project order persisted globally to workspace roots state
108
+ - 🧡 Optimistic in-progress threads preserved during refresh/poll cycles
109
+ - πŸ“± Mobile drawer sidebar in desktop layout (teleported overlay + swipe-friendly structure)
110
+ - πŸŽ›οΈ Skills Hub mobile-friendly spacing/toolbar layout improvements
111
+ - πŸͺŸ Skill detail modal tuned for mobile sheet-style behavior
112
+ - πŸ§ͺ Skills Hub event typing fix for `SkillCard` select emit compatibility
113
+ - πŸŽ™οΈ Voice dictation flow in composer (`hold to dictate` -> transcribe -> append text)
114
+
115
+ ---
116
+
117
+ ## 🌍 What Can You Do With This?
118
+
119
+ | πŸ”₯ Use Case | πŸ’₯ What You Get |
120
+ |---|---|
121
+ | πŸ’» Linux workstation | Run Codex UI in browser without depending on desktop shell |
122
+ | πŸͺŸ Windows machine | Launch web UI and access from Chrome/Edge quickly |
123
+ | πŸ“± Termux on Android | Start service in Termux and control from mobile browser |
124
+ | πŸ§ͺ Remote dev box | Keep Codex process on server, view UI from client device |
125
+ | 🌐 LAN sharing | Open UI from another device on same network |
126
+ | 🧰 Headless workflows | Keep terminal + browser split for productivity |
127
+ | πŸ”Œ Custom routing | Put behind reverse proxy/tunnel if needed |
128
+ | ⚑ Fast experiments | `npx` run without full global setup |
129
+
130
+ ---
131
+
132
+ ## πŸ–ΌοΈ Screenshots
133
+
134
+ ### Skills Hub
135
+ ![Skills Hub](docs/screenshots/skills-hub.png)
136
+
137
+ ### Chat
138
+ ![Chat](docs/screenshots/chat.png)
139
+
140
+ ### Mobile UI
141
+ ![Skills Hub Mobile](docs/screenshots/skills-hub-mobile.png)
142
+ ![Chat Mobile](docs/screenshots/chat-mobile.png)
143
+
144
+ ---
145
+
146
+ ## πŸ—οΈ Architecture
147
+
148
+ ```text
149
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
150
+ β”‚ Browser (Desktop/Mobile) β”‚
151
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
152
+ β”‚ HTTP/WebSocket
153
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
154
+ β”‚ codexui β”‚
155
+ β”‚ (Express + Vue UI bridge) β”‚
156
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
157
+ β”‚ RPC/Bridge calls
158
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
159
+ β”‚ Codex App Server β”‚
160
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
161
+ ```
162
+
163
+ ---
164
+
165
+ ## 🎯 Requirements
166
+ - βœ… Node.js `18+`
167
+ - βœ… Codex app-server environment available
168
+ - βœ… Browser access to host/port
169
+ - βœ… Microphone permission (only for voice dictation)
170
+
171
+ ---
172
+
173
+ ## πŸ› Troubleshooting
174
+
175
+ | ❌ Problem | βœ… Fix |
176
+ |---|---|
177
+ | Port already in use | Run on a free port or stop old process |
178
+ | `npx` fails | Update npm/node, then retry |
179
+ | Termux install fails | `pkg update && pkg upgrade` then reinstall `nodejs` |
180
+ | Can’t open from other device | Check firewall, bind address, and LAN routing |
181
+
182
+ ---
183
+
184
+ ## 🀝 Contributing
185
+ Issues and PRs are welcome.
186
+ Bring bug reports, platform notes, and setup improvements.
187
+
188
+ ---
189
+
190
+ ## ⭐ Star This Repo
191
+ If you believe Codex UI should be accessible from **any machine, any OS, any screen**, star this project and share it. ⭐
192
+
193
+ <div align="center">
194
+ Built for speed, portability, and a little bit of chaos 😏
195
+ </div>