v0.2.0 Phone Bridge Walkthrough
v0.2.0 では、OCdex を「LAN 越しに触れる実験」から、日常的に使いやすい remote-control surface へ近づけました。大事なのは UI が増えたことだけではありません。スマホと desktop browser が、同じ bridge-managed Codex session を見る peer として扱われるようになった点です。
1 つの URL から始める
bridge を起動します。
npm run phone表示される /?token=... URL が shared entrypoint です。v0.2.0 では、同じ既定 URL を複数 browser で開くと、端末ごとに新しい bridge を作るのではなく同じ new bridge に参加します。desktop で始めて、スマホで開き、同じ thread のまま作業を続ける流れに合います。
Headless app-server に接続する
bridge は簡単利用向けに local Codex app-server を起動できますが、v0.2.0 では既存 endpoint への接続も扱います。
CODEX_APP_SERVER_URL=ws://127.0.0.1:45213 npm run phone
CODEX_APP_SERVER_SOCK=/Users/admin/.codex/app-server-control/app-server-control.sock npm run phoneCodex Desktop Remote Connection と OCdex を同じ headless app-server に向けたいときに使います。app-server 本体は local のまま、LAN へ出すのは token-protected bridge だけです。
履歴を見つけやすくする
OCdex は turn 完了後に thread/read と scan-backed thread/list で履歴を温めます。selected thread の polling も thread/read を優先するため、background refresh のためだけに thread resume の副作用を起こしにくくなりました。
UI 側では refresh の重複や同じ background error の連続表示を抑えるため、app-server の短い再起動でも chat log が error で埋まりにくくなっています。
小さな Desktop として使う
browser surface には左の thread list、中央の conversation、右の artifact panel が入っています。model selection、sandbox と approval control、Markdown rendering、local image preview、画像添付、simple/cyberpunk/botanical theme も使えます。
run-state banner は connection、execution、approval、history sync、completion、error を表示します。同じ live-region 更新を繰り返さず、reduced-motion 設定を尊重し、status color の contrast も高めています。
通知で詰まらない
startup notification は ntfy、Pushover、Discord で任意に有効化できます。LAN IPv4 URL を検出できない場合でも、v0.2.0 では provider 固有の undefined link field を送らず、読み取れる本文だけを送ります。
headless、VPN 制限、IPv6-only の環境でも、通知失敗で bridge の状態が見えにくくなる問題を避けます。
検証
このリリースは Node syntax validation、Node test suite、VitePress build、whitespace diff validation、local API smoke test、GitHub Actions で確認しました。PR #2 の review feedback も merge 前に対応済みです。