Reader Hub
Productivity · Codex · Remote Control

Codex Remote Control Lab v0.1.0 を公開しました

スマホでCodex操作、PCとセッション同期。OpenAI Codex CLI の remote-control / app-server を、ローカル優先で安全に試すための実験リポジトリ。token-protected bridge を経由して、PCブラウザとスマホブラウザで同じ bridge-managed thread を共有できる。

📖 この記事を読む前に

このリリースでいちばん大きいポイントは、スマホからデスクトップ側のCodexを操作できること。しかも単なるリモコンではなく、PCブラウザとスマホブラウザで同じ bridge-managed thread を共有できるので、PCとスマホでCodexセッションを同期できる。デスクではPCで続きを見て、席を離れたらスマホで同じセッションを確認して、そのまま次の指示を出せる。

1
PCとスマホで同じCodexセッションを扱う
bridge-managed thread でブラウザ間セッション同期

Codex Remote Control Lab は、Mac上の Codex app-server を直接LANへ出すのではなく、token-protected bridge を通してブラウザUIを提供します。

スマホから開くと、PCと同じように thread、conversation、artifact、model、approval/sandbox control を扱えます。

共有できるのは画面だけではありません。bridge-managed thread を使うことで、PCブラウザとスマホブラウザが同じセッションの続きを見られます。

たとえば

  • PCで長めの実装作業を始める
  • スマホで進捗やartifactを確認する
  • スマホから追加指示を送る
  • 戻ってきたらPC側で同じセッションの続きを見る

この流れを、追加のクラウドサービスを挟まずローカル優先で試せるようにしたのが v0.1.0 です。

2
localhost-first の安全境界
Codex app-server は 127.0.0.1 のまま、bridge だけが LAN へ

構成は次のようにしています。

構成
phone browser -> http://Mac-LAN-IP:45214 -> Node bridge -> ws://127.0.0.1:45213 -> Codex app-server

Codex app-server は 127.0.0.1 に残します。LAN に出るのは Node bridge だけで、page / API / upload / artifact / WebSocket path には token を要求します。

Key Insight

つまり、Codex app-server 自体をLANサービスとして公開するのではなく、操作面だけを小さなbridgeで橋渡しする。app-server は localhost に閉じたまま、token-protected な薄い層だけが外に出る構造。

3
v0.1.0 で入っているもの
bridge本体、ブラウザUI、公開ドキュメント、検証フロー

今回の初回リリースでは、bridge 本体、ブラウザ UI、公開ドキュメント、スクリーンショット証跡、検証フローをまとめました。

主な内容

repo-local の Codex CLI 0.130.0 app-server 起動
同一 LAN のブラウザ向け token-protected phone bridge
phone と desktop browser で 1 つの bridge-managed thread を共有
最近の thread 一覧と resume
artifact preview
次 turn 向けの approval / sandbox mode control
model 選択
画像添付を Codex localImage input として送信
chat と artifact preview の Markdown rendering
project / thread の grouped navigation
status / tool log の折りたたみ表示
simple / cyberpunk / botanical のカラーテーマ
VitePress と GitHub Pages による日英 docs
4
スマホでも読みやすい操作画面
情報密度を保ちつつ、3テーマで切り替え可能

v0.1.0 では、デスクトップ風の情報密度を保ちながら、スマホでも操作しやすいように右パネルや設定画面を調整しています。テーマは browser local storage に保存されるので、simple / cyberpunk / botanical を環境に合わせて切り替えられます。

また、Markdown artifact や画像previewも、PC/スマホ両方から確認できるようにしています。

5
検証
CI、docs deploy、テーマ切替まで release 前に確認

リリース前に次を確認しました。

checks
npm run check
npm audit --omit=dev
npm run docs:build
xmllint --noout docs/public/logo.svg docs/public/social-card.svg

さらに test token で bridge を起動し、設定panelに3つのテーマが表示されること、Cyberpunkに切り替えると html[data-theme="cyberpunk"] になることを確認しています。

GitHub Actions の CI と docs deploy も release commit で成功し、公開 docs も HTTP 200 を返すことを確認しました。

📚 全体振り返り — 学んだことの全リスト

スマホからデスクトップのCodexを操作 PCとスマホで同じthreadを同期 app-serverは127.0.0.1のまま LANに出るのはtoken-protected bridgeのみ approval / sandbox / model 制御 画像添付対応(localImage input) 3テーマ切替(simple/cyberpunk/botanical) VitePress + GitHub Pages 日英 docs CI / docs deploy / テーマ切替を release 前検証
v0.1.0 のキー

Codex app-server を LAN に晒さず、token-protected な薄い bridge だけを介してブラウザUIを公開する設計。これにより、追加のクラウドサービスを挟まずローカル優先のまま、PC ↔ スマホでセッションを跨いだ Codex 体験が成立する。