langshencodex
v0.1.83
Published
A lightweight web interface for Codex that runs on top of the Codex app-server, allowing remote access from any browser
Downloads
686
Maintainers
Readme
🔥 langshencodex
🚀 让 Codex 网页界面跑在任何地方:Linux、Windows、Android Termux 🚀
在浏览器里使用 Codex 网页界面。少折腾,一条命令就够。
这就是你熟悉的 Codex 桌面端体验,通过网页界面暴露出来,并且支持跨平台运行。
██████╗ ██████╗ ██████╗ ███████╗██╗ ██╗██╗ ██╗██╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝██║ ██║██║
██║ ██║ ██║██║ ██║█████╗ ╚███╔╝ ██║ ██║██║
██║ ██║ ██║██║ ██║██╔══╝ ██╔██╗ ██║ ██║██║
╚██████╗╚██████╔╝██████╔╝███████╗██╔╝ ██╗╚██████╔╝██║
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝🤯 这是什么?
langshencodex 是一个轻量桥接层,用来把 Codex app-server 的工作流暴露成一个可在浏览器中访问的界面。
你只需要执行一条命令,它就会启动本地 Web 服务。随后你可以从当前机器、局域网设备,或者你的网络环境允许的任何位置打开它。
一句话概括 🧠:把 Codex 网页界面解锁到 Linux、Windows 和基于 Termux 的 Android 环境里。
注意:这是基于开源 CodexUI 项目维护的独立 npm 包,包名为
langshencodex,避免占用或混淆上游已有包名。
⚡ 快速开始
最核心的用法。
# 🔓 直接运行(推荐)
npx langshencodex
# 🌐 然后在浏览器打开
# http://localhost:18923默认情况下,langshencodex 现在还会自动启动:
cloudflared tunnel --url http://localhost:<port>启动输出中会同时打印隧道地址、终端二维码和访问密码。
如果你不希望自动开隧道,可以使用 --no-tunnel。
如果你已经在上游 provider 或 AI gateway 完成认证,不想让 langshencodex 启动时强制执行 codex login,可以这样运行:
npx langshencodex --no-loginLinux 🐧
node -v # 应为 18+
npx langshencodexWindows 🪟(PowerShell)
node -v # 18+
npx langshencodexTermux(Android)🤖
pkg update && pkg upgrade -y
pkg install nodejs -y
npx langshencodexAndroid 后台运行要求:
- 让
langshencodex持续运行在当前 Termux 会话中,不要直接关闭。 - 在 Android 系统设置里为
Termux关闭电池优化。 - 保持 Termux 常驻通知开启,降低系统杀后台的概率。
- 可选但推荐在 Termux 中执行:
termux-wake-lock- 用 Android 浏览器打开终端输出的地址。如果应用被系统杀掉,回到 Termux 重新执行
npx langshencodex。
通过 Tailscale Serve 在 iPhone / iPad 上访问
如果你想在 iPhone 或 iPad 的 Safari 中使用 codexUI,建议通过 HTTPS 提供服务。
一个比较实用的私有部署方式,是在本机运行 codexUI,并通过 Tailscale Serve 发布到你的 tailnet:
npx langshencodex --no-tunnel --port 5900
tailscale serve --bg 5900然后打开:
https://<你的机器名>.<你的-tailnet>.ts.net这套方案在实际使用中比较适合:
- iPhone Safari 访问
- 添加到主屏幕
- 使用应用内置的语音听写 / 转写能力
- 在 Windows 宿主机和移动端查看同一批项目与会话
补充说明:
- Tailscale Serve 会把访问范围限制在你的 tailnet 内
- 在 iOS 上,HTTPS / 安全上下文看起来对移动端访问和听写功能比较重要
- 移动版 Safari 仍可能存在少量 CSS 小问题,但不影响正常使用
- 不同的代理方式可能会导致认证行为和直接访问略有差异
- 如果在网页界面里创建的新会话没有立即出现在 Windows 客户端里,重启 Windows 客户端通常可以刷新出来
✨ 功能特性
不只是能启动,还包括一整套可用的体验。
- 🚀 使用
npx langshencodex一条命令启动 - 🌍 支持 Linux、Windows 和 Android Termux
- 🖥️ 在
http://localhost:18923提供浏览器优先的 Codex UI - 🌐 方便同一局域网中的其他设备访问
- 🧪 适合远程 / 无头服务器场景下使用 Codex
- 🔌 可配合反向代理和隧道方案使用
- ⚡ 无需全局安装,适合快速试用
- 🎙️ 内置按住说话的语音输入,并将转写结果追加到输入框草稿中
🧩 最近加入的产品能力(来自 main 分支提交)
不只是能跑,还持续在补齐体验。
- 🗂️ 新建线程流程里增加可搜索的项目选择器
- ➕ 在“选择文件夹”旁边新增“创建项目”按钮,并支持浏览器输入
- 📌 新创建的项目会自动置顶
- 🧠 服务端扫描空闲目录后,智能推荐默认项目名
New Project (N) - 🔄 项目排序持久化到全局工作区根状态
- 🧵 刷新和轮询期间保留乐观态的进行中线程
- 📱 桌面布局中加入移动端抽屉式侧边栏(传送 overlay + 更适合滑动操作的结构)
- 🎛️ 技能中心针对移动端优化间距和工具栏布局
- 🪟 技能详情弹窗调整为更适合移动端的底部弹层体验
- 🧪 修复
SkillCard选择事件的类型兼容问题 - 🎙️ 输入框集成完整语音听写流程(按住说话 -> 转写 -> 追加文本)
🌍 你可以怎么用它?
| 🔥 场景 | 💥 你能得到什么 |
|---|---|
| 💻 Linux 工作站 | 不依赖桌面壳环境,直接在浏览器中使用 Codex UI |
| 🪟 Windows 机器 | 快速启动网页界面,并通过 Chrome/Edge 访问 |
| 📱 Android Termux | 在 Termux 中启动服务,再用手机浏览器控制 |
| 🧪 远程开发机 | 把 Codex 进程放在服务器,客户端设备只负责查看 UI |
| 🌐 局域网共享 | 让同一网络中的其他设备访问 UI |
| 🧰 无头工作流 | 把终端和浏览器职责分开,提高效率 |
| 🔌 自定义路由 | 按需要挂到反向代理或隧道后面 |
| ⚡ 快速试验 | 用 npx 直接运行,无需复杂全局安装 |
🖼️ 截图
技能中心

聊天界面

移动端界面

🏗️ 架构
┌─────────────────────────────┐
│ 浏览器(桌面 / 移动) │
└──────────────┬──────────────┘
│ HTTP/WebSocket
┌──────────────▼──────────────┐
│ langshencodex │
│ (Express + Vue UI 桥) │
└──────────────┬──────────────┘
│ RPC / Bridge 调用
┌──────────────▼──────────────┐
│ Codex 服务端 │
└─────────────────────────────┘🎯 运行要求
- ✅ Node.js
18+ - ✅ 可用的 Codex app-server 环境
- ✅ 能访问对应主机和端口的浏览器
- ✅ 麦克风权限(仅语音听写功能需要)
🐛 常见问题排查
| ❌ 问题 | ✅ 处理方式 |
|---|---|
| 端口已被占用 | 换一个空闲端口,或先停止旧进程 |
| npx 运行失败 | 升级 npm / Node 后重试 |
| Termux 安装失败 | 先执行 pkg update && pkg upgrade,再重新安装 nodejs |
| 其他设备无法访问 | 检查防火墙、监听地址和局域网路由 |
🤝 参与贡献
欢迎提交 Issue 和 PR。
尤其欢迎带来 bug 报告、平台兼容性说明和部署改进建议。
⭐ 支持这个项目
如果你也认为 Codex UI 应该能在 任何机器、任何系统、任何尺寸的屏幕 上使用,欢迎给项目点个 Star 并分享出去。⭐
Fork 自 pavel-voronin/codex-web-local,原作者 Pavel Voronin。
