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

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

Readme

🔥 langshencodex

🚀 让 Codex 网页界面跑在任何地方:Linux、Windows、Android Termux 🚀

npm platform node license

在浏览器里使用 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-login

Linux 🐧

node -v   # 应为 18+
npx langshencodex

Windows 🪟(PowerShell)

node -v   # 18+
npx langshencodex

Termux(Android)🤖

pkg update && pkg upgrade -y
pkg install nodejs -y
npx langshencodex

Android 后台运行要求:

  1. langshencodex 持续运行在当前 Termux 会话中,不要直接关闭。
  2. 在 Android 系统设置里为 Termux 关闭电池优化。
  3. 保持 Termux 常驻通知开启,降低系统杀后台的概率。
  4. 可选但推荐在 Termux 中执行:
termux-wake-lock
  1. 用 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。