【开源推广】hub-run — 浏览器随时随地看本地CodexClaude
- 内容介绍
- 文章标签
- 相关推荐
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
纯Vibe Coding项目
背景
最近在用 Codex 干活,终端里 codex 跑着长任务,快到下班了,想走又走不了。但不想为此把CLI启动方式换掉,毕竟 codex / claude 本身用得好好的。找了一圈,找到了codex-run/claude-run。但是codex没有适配手机。所以缝合了 hub-run。它是一个自托管的本地 HTTP 服务,后台常驻,通过 JSON-RPC 直连 codex app-server,SSE 把消息实时推到浏览器。你照常在终端跑 codex,hub-run 在旁边读 session 文件、接 RPC、推流,不 wrap 任何东西。Codex 侧支持新建会话、发消息、中断、响应 user input request;Claude 做了基础支持,最近好像有了Channel,没深做。另外加了语音输入(集成了逆向的豆包](https://linux.do/t/topic/1566519))。
路线上跟 happy 不太一样。happy 提供端到端加密的远程接管,通过自己的 happy / happy codex wrapper 启动会话,适合远程控制场景。hub-run 走纯本地——不依赖 relay,不换启动命令,就是给已有的 CLI 工作流加一层浏览器视图。两个项目解决的问题不同,按需选。
当前能力
password登录与HttpOnlycookie 鉴权- 非
loopbackhost 下强制要求配置密码 - 统一 provider 路由(sessions / messages / state / interrupt / user-input)
- Codex 会话读取:
~/.codex/sessions/*.jsonl - Codex 新建会话:Web 侧先创建 draft 占位,首次发送时通过
codex app-server真正创建 - Codex 发送:
turn/create,暴露 thread state / interrupt / user input request - Codex 消息流:SSE 增量推送 + 轮询兜底
- Claude 会话读取:
~/.claude/projects/**/*.jsonl - Claude 发送:spawn
claude --resume <id> --print - 语音输入:浏览器 PCM → WebSocket → 豆包 ASR → 实时转写回填
- latest-first 消息加载 +
beforecursor 历史翻页 - 移动端抽屉 + 桌面双栏布局
- 任务状态消息:
任务已开始(turn=xxx)/任务已完成(turn=xxx)
快速开始
# 通过 npm 全局安装
npm install -g hub-run
# 直接运行(默认 127.0.0.1:12001)
hub-run
# 或显式指定密码 / 端口
hub-run --password your-password --port 12125
# 从源码构建
pnpm install
pnpm build
# 后台服务(推荐,macOS launchd 托管)
pnpm runtime:install -- --port 12125 --password your-password \
--trusted-origin http://127.0.0.1 \
--trusted-origin http://localhost
# 开发模式
pnpm dev
开源地址:
GitHub: https://github.com/tanranv5/hub-run
网友解答:--【壹】--:
没有,初衷只是为了随时随地看对话,简单的回复。现在连图片也没支持呢。慢慢完善吧。
--【贰】--:
厉害了佬
--【叁】--:
佬厉害了
--【肆】--:
佬友,npm install -g hub-run命令找不到包呀
npm install -g hub-run
npm error code E404
npm error 404 Not Found - GET https://registry.npmjs.org/hub-run - Not found
npm error 404
npm error 404 The requested resource 'hub-run@*' could not be found or you do not have permission to access it.
npm error 404
npm error 404 Note that you can also install from a
npm error 404 tarball, folder, http url, or git url.
npm error A complete log of this run can be found in: /home/yeluo/.npm/_logs/2026-03-31T15_15_37_817Z-debug-0.log
--【伍】--:
佬友,我试了下,挺好上手的,但不支持斜杠命令吗?我发了个/compact,结果是对话而不是执行压缩命令
--【陆】--:
不错的
--【柒】--:
嗯嗯,慢慢调吧。先有一版。
--【捌】--:
可以设置密码
--【玖】--:
昨天npm没有发成功,你现在再试试
--【拾】--:
我现在就把本机通过cf tun反代出来,随时随地看状态。
--【拾壹】--: 坦然:
hub-run 走纯本地——不依赖 relay
佬友,这是不是说反代暴露到公网,安全风险会比较大?还是我理解错了
--【拾贰】--:
好的这就去部署一个
--【拾叁】--:
感谢大佬 !
--【拾肆】--:
ui太难搞了,我不会ui,这还是gemini搞得。
--【拾伍】--:
好棒的项目!正好需要它。
感觉 UI 可以再紧凑一点,已经 fork,有机会会提交贡献的,嘿嘿
--【拾陆】--:
可以试试 frontend-design skill。我只有过用 codex 写 UI 的经验,写完后让它慢慢微调,挺费事儿的也。
社区也有一些工具,可以快速定位元素扔给 AI,本质上是一种辅助的脚手架。
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
纯Vibe Coding项目
背景
最近在用 Codex 干活,终端里 codex 跑着长任务,快到下班了,想走又走不了。但不想为此把CLI启动方式换掉,毕竟 codex / claude 本身用得好好的。找了一圈,找到了codex-run/claude-run。但是codex没有适配手机。所以缝合了 hub-run。它是一个自托管的本地 HTTP 服务,后台常驻,通过 JSON-RPC 直连 codex app-server,SSE 把消息实时推到浏览器。你照常在终端跑 codex,hub-run 在旁边读 session 文件、接 RPC、推流,不 wrap 任何东西。Codex 侧支持新建会话、发消息、中断、响应 user input request;Claude 做了基础支持,最近好像有了Channel,没深做。另外加了语音输入(集成了逆向的豆包](https://linux.do/t/topic/1566519))。
路线上跟 happy 不太一样。happy 提供端到端加密的远程接管,通过自己的 happy / happy codex wrapper 启动会话,适合远程控制场景。hub-run 走纯本地——不依赖 relay,不换启动命令,就是给已有的 CLI 工作流加一层浏览器视图。两个项目解决的问题不同,按需选。
当前能力
password登录与HttpOnlycookie 鉴权- 非
loopbackhost 下强制要求配置密码 - 统一 provider 路由(sessions / messages / state / interrupt / user-input)
- Codex 会话读取:
~/.codex/sessions/*.jsonl - Codex 新建会话:Web 侧先创建 draft 占位,首次发送时通过
codex app-server真正创建 - Codex 发送:
turn/create,暴露 thread state / interrupt / user input request - Codex 消息流:SSE 增量推送 + 轮询兜底
- Claude 会话读取:
~/.claude/projects/**/*.jsonl - Claude 发送:spawn
claude --resume <id> --print - 语音输入:浏览器 PCM → WebSocket → 豆包 ASR → 实时转写回填
- latest-first 消息加载 +
beforecursor 历史翻页 - 移动端抽屉 + 桌面双栏布局
- 任务状态消息:
任务已开始(turn=xxx)/任务已完成(turn=xxx)
快速开始
# 通过 npm 全局安装
npm install -g hub-run
# 直接运行(默认 127.0.0.1:12001)
hub-run
# 或显式指定密码 / 端口
hub-run --password your-password --port 12125
# 从源码构建
pnpm install
pnpm build
# 后台服务(推荐,macOS launchd 托管)
pnpm runtime:install -- --port 12125 --password your-password \
--trusted-origin http://127.0.0.1 \
--trusted-origin http://localhost
# 开发模式
pnpm dev
开源地址:
GitHub: https://github.com/tanranv5/hub-run
网友解答:--【壹】--:
没有,初衷只是为了随时随地看对话,简单的回复。现在连图片也没支持呢。慢慢完善吧。
--【贰】--:
厉害了佬
--【叁】--:
佬厉害了
--【肆】--:
佬友,npm install -g hub-run命令找不到包呀
npm install -g hub-run
npm error code E404
npm error 404 Not Found - GET https://registry.npmjs.org/hub-run - Not found
npm error 404
npm error 404 The requested resource 'hub-run@*' could not be found or you do not have permission to access it.
npm error 404
npm error 404 Note that you can also install from a
npm error 404 tarball, folder, http url, or git url.
npm error A complete log of this run can be found in: /home/yeluo/.npm/_logs/2026-03-31T15_15_37_817Z-debug-0.log
--【伍】--:
佬友,我试了下,挺好上手的,但不支持斜杠命令吗?我发了个/compact,结果是对话而不是执行压缩命令
--【陆】--:
不错的
--【柒】--:
嗯嗯,慢慢调吧。先有一版。
--【捌】--:
可以设置密码
--【玖】--:
昨天npm没有发成功,你现在再试试
--【拾】--:
我现在就把本机通过cf tun反代出来,随时随地看状态。
--【拾壹】--: 坦然:
hub-run 走纯本地——不依赖 relay
佬友,这是不是说反代暴露到公网,安全风险会比较大?还是我理解错了
--【拾贰】--:
好的这就去部署一个
--【拾叁】--:
感谢大佬 !
--【拾肆】--:
ui太难搞了,我不会ui,这还是gemini搞得。
--【拾伍】--:
好棒的项目!正好需要它。
感觉 UI 可以再紧凑一点,已经 fork,有机会会提交贡献的,嘿嘿
--【拾陆】--:
可以试试 frontend-design skill。我只有过用 codex 写 UI 的经验,写完后让它慢慢微调,挺费事儿的也。
社区也有一些工具,可以快速定位元素扔给 AI,本质上是一种辅助的脚手架。

