コンテンツにスキップ

CLI ライフサイクル

これらのコマンドは、ローカル opencodex プロキシとその Codex 統合をインストール、実行、検査、修復、および更新します。

対話型セットアップ ウィザード (setupinit のエイリアスです)。プロバイダー (プリセットまたはカスタム)、API キー (リテラルまたは ${ENV})、デフォルトのモデル、およびプロキシ ポートの入力を求めるプロンプトが表示されます。 ~/.opencodex/config.json を保存します。オプションでプロキシを $CODEX_HOME/config.toml (デフォルトは ~/.codex/config.toml) に挿入します。オプションで Codex 自動起動シムをインストールします。

プロキシ サーバー (優先ポート 10100) を起動します。そのポートが占有されている場合、opencodex は別の使用可能なポートを選択して記録します。 PID/ランタイムポートの状態を書き込み、2 番目のライブインスタンスの起動を拒否します。開始時に、各プロバイダーのモデルを Codex のカタログに同期します。マネージド サービス (OCX_SERVICE=1) として起動されていない限り、シャットダウン時にネイティブ Codex が復元されます。

Terminal window
ocx start
ocx start --port 8080

実行中のプロキシを (PID によって) 停止し、PID ファイルを削除して、ネイティブ Codex を復元します。マネージド バックグラウンド サービスがインストールされている場合、ocx stop はそれを最初に停止するため、プロキシを再起動できません。同じアクションは、Web ダッシュボードの 停止 ボタン (POST /api/stop) から実行できます。

stop に続いて ensure を実行します。プロキシ/サービスを停止し、ネイティブ Codex を復元し、バックグラウンドでプロキシを起動し、ライブ ポートを Codex に同期します。

バックグラウンド プロキシが実行されていることを冪等的に確認してから、そのライブ モデル カタログを同期します。 codexAutoStartfalse の場合、自動起動が無効であることが出力され、何も行われません。

プロキシを停止せずに**ネイティブ Codex を復元します。挿入された設定行とルーティングされたカタログ エントリを削除し、プレーンな codex が再びネイティブに動作するようにします。 ejectrestore の別名です。

プロキシのライフサイクルを変更せずに、既に実行されているプロキシでプレーン codex を再指定するには、back をどちらかのスペルに渡します。

Terminal window
ocx restore back
ocx eject back

可逆バックアップ サポートが存在する前に Codex App 履歴を再マップした古い開発ビルドの明示的なリカバリ。履歴データベースがロックされている場合は、まず Codex を閉じてください。

すべての復元手順が成功した場合にのみ、サービスとプロキシを停止し、サービスと Codex シムを削除し、ネイティブ Codex を復元してから、opencodex ローカル設定を削除します。 removeuninstall の別名です。設定のクリーンアップには、新規インストールによって作成された所有権メタデータが必要です。従来のディレクトリまたは共有ディレクトリはそのまま残ります。

読み取り専用の診断概要を出力します: プロキシ PID、/healthz 到達可能性、ダッシュボード URL、構成パス、デフォルト プロバイダー、Codex 自動起動設定、サービス状態、シム状態、および編集された有効な Codex ホーム。明示的で信頼性の高い Windows Orca ランタイム ホーム署名のみが、実用的なアプリとホームの不一致の警告を追加します。 CODEX_HOME が自動的に変更されることはありません。

人間の出力には、OAuth ログイン概要の後の OAuth health ブロックも含まれます。つまり、既知のすべてのアカウントが正常な場合は OAuth health: ok、または正常でないアカウントごとに 1 行が編集された OAuth health: warning (プロバイダー、マスクされたアカウント ID、再認証が必要、レートまたはクォータの制限、または更新の競合などのステータス) と、オプションの Action: ヒントが含まれます。アカウント ID は編集されます。トークンと電子メールは決して印刷されません。 --json 契約には現在、このヘルス ブロックは含まれていません。

Terminal window
ocx status
ocx status --json

省略形の例:

{
"schemaVersion": 1,
"proxy": {
"running": false,
"pid": null,
"health": {
"ok": false,
"url": "http://127.0.0.1:10100/healthz",
"message": "unreachable"
}
},
"dashboard": {
"url": "http://localhost:10100/"
},
"paths": {
"config": "/Users/example/.opencodex/config.json",
"pid": "/Users/example/.opencodex/ocx.pid",
"runtime": "/path/to/bun"
},
"runtime": {
"source": "bundled"
},
"codexHome": {
"effectiveCodexHome": "C:\\Users\\[USER]\\.codex",
"appCodexHome": "C:\\Users\\[USER]\\.codex",
"mismatch": false,
"warning": null,
"action": null
},
"codexAutostart": true,
"defaultProvider": "openai",
"service": {
"summary": "not installed (logs: /Users/example/.opencodex/service.log)"
},
"codexShim": {
"summary": "Codex autostart shim: not installed"
}
}

実際のオブジェクトには、listen (ポート、ホスト名、ランタイム/構成ソース)、構成ロード診断、およびバンドルされた Codex プラグイン診断も含まれています。 JSON スキーマは加算専用です。将来のバージョンではフィールドが追加される可能性がありますが、既存のフィールドは安定したままになるはずです。 API キー、OAuth トークン、認証ヘッダー、リクエスト コンテンツ、電子メール、アカウント ID は意図的に除外されます。

稼働中のプロキシの ID を確認します。ヒューマン出力は PID/ポートをレポートします。 --json{ok, pid, port} を出力します。このコマンドは正常な場合のみ 0 で終了し、それ以外の場合は 1 で終了するため、サービス プローブに適しています。

読み取り専用環境と接続の診断を実行します: 状態パスとファイル システム タイプ、WSL デュアル インストール、プロキシ環境/構成、ChatGPT の到達可能性、Codex プラグインとプロジェクト設定の警告、保留中の履歴の移行。 Codex のアプリとホームのターゲット設定セクションでは、Windows Orca ランタイムとホームの狭い不一致も検出し、該当する場合はサービスの移行について説明します。この診断によって表示されるパスでは、OS ユーザー名が編集されます。医師は修復ヒントを出力しますが、適用しません。

OAuth の信頼性 セクションでは、資格情報ストレージが書き込み可能かどうか、リフレッシュ シングルフライト/ロック ファイルが OPENCODEX_HOME で作成できるかどうか、回復 Action: を持つ正常でない OAuth または Codex プール アカウント (編集された ID)、および Codex 転送パスが公式クライアント メタデータを作成しない静的 OK が報告されます。 Doctor は資格情報を変更したり、修復を適用したりすることはありません。

構成されているすべてのプロバイダーからライブ モデル リストを取得し、マージされたカタログを Codex に再挿入します。プロバイダーを追加した後、または利用可能なモデルを更新するために実行します。

存続期間の長い Codex app-server プロセスがまだ実行されている場合、ocx sync は、opencodex-catalog.json / models_cache.json が更新されても、以前のメモリ内モデル リストを提供し続ける可能性があることを警告します。現在のユーザーが所有する一致する codex … app-server および codex-code-mode-host プロセスにのみ SIGTERM を送信するには、--restart-codex を渡します (アクティブなターンが中断される可能性があります)。広範な pkill -f codex 一致は意図的に回避されます。

Codex のローカル モデル ピッカー キャッシュを無効にし、アクティブな opencodex カタログから再構築されるようにします。 ocx sync と同じ、古い app-server 警告とオプションの --restart-codex 動作が適用されます。

ocx service [install|start|stop|status|uninstall|remove]

Section titled “ocx service [install|start|stop|status|uninstall|remove]”

opencodex を、ログイン時に自動起動し、クラッシュ時に自動再起動するログイン管理バックグラウンド サービス (macOS launchd、Linux systemd ユーザー ユニット、Windows タスク スケジューラ) として実行します。サービスは OCX_SERVICE=1 を設定して実行されるため、再起動によって Codex 設定が変更されることはありません。

サブコマンド アクション
なし サービスを作成/更新して開始します。
install サービスを作成して開始します。
start インストールされているサービスを開始します。
stop サービスを停止し、ネイティブ Codex を復元します。
status サービスとプロキシの診断とログ パスをレポートします。
uninstall サービスを削除し、ネイティブ Codex を復元します。
remove uninstallの別名。
Terminal window
ocx service
ocx service install
ocx service status
ocx service uninstall

Windows では、ocx service status は、ID 検証済みの OpenCodex プロキシの到達可能性とは別に、タスク スケジューラの登録を報告します。ローカライズされた schtasks テーブルは出力されないため、概要は Windows コード ページ間で読み取れるままです。

Windows では、タスク スケジューラ エントリを作成するには昇格が必要です。認識されたローカライズされたアクセス拒否テキストは、既存のガイダンス パスを維持します。そのテキストが判読できない場合、フォールバックには、所有されているコマンド形状 /create /tn opencodex-proxy /xml <non-empty-path> /f、ステータス 1、および確認済みの非昇格トークンが必要です。ダッシュボードのスタートアップ セーフティ アクションは、UAC を自動的に要求できるようになります。そのフォールバックがトークンの状態を判断できない場合、元のスケジューラ エラーが保持されます。外部タスクおよび操作は、自動昇格マーカーを発行することはできません。ダッシュボードの UAC プロンプトを承認するか、管理者特権の PowerShell ウィンドウで ocx service install を再実行します。

ocx codex-shim <install|status|uninstall|remove>

Section titled “ocx codex-shim <install|status|uninstall|remove>”

軽量の自動起動スクリプトを使用して、スクリプトベースの codex ランチャーを PATH 上にラップします。実際の codex.exe ターゲットは、正確な実行可能呼び出しの破損を避けるため、変更されないまま残されます。

完了した外部 Codex アップデートがインストールされている shim を上書きした場合、次の通常の ocx コマンドは安定した新しいランチャーをバックアップし、ディスパッチ前に shim を復元します。まだ変更中のランチャーは変更されず、後で再試行されます。修復の失敗は、要求されたコマンドを失敗させることなく警告します。手動フォールバック: ocx codex-shim installcodexShimAutoRestorefalse に設定するか、プロセス レベルのオプトアウトの場合は OPENCODEX_CODEX_SHIM_AUTO_RESTORE=0 を設定します。

サブコマンド アクション
install シムを取り付けます(または古い場合は修理します)。
uninstall シムを削除し、元の Codex バイナリを復元します。
remove uninstallの別名。
status シムの状態 (インストール済み、古い、または欠落) を報告します。
Terminal window
ocx codex-shim install
ocx codex-shim status
ocx codex-shim uninstall

ocx tray <install|start|stop|status|uninstall|remove> [--json] [--no-start]

Section titled “ocx tray <install|start|stop|status|uninstall|remove> [--json] [--no-start]”

Windows ステータス トレイ アイコンをインストールして制御します。 Windows ログイン時に開始され、ワンクリックでプロキシ コントロールを提供します。 start および stop はアイコンのみを制御します。そのメニューを使用してプロキシを制御します。 --no-startinstall に適用され、トレイをすぐに起動せずにインストールします。

http://localhost:<port>ウェブダッシュボード を開き、プロキシが実行されていない場合は自動起動します。

npm から opencodex を自己更新します。安定したインストールでは @latest を使用します。 --tag latest|preview を渡さない限り、プレビュー インストールは @preview に残ります。ソース チェックアウトを検出し、代わりに git pull && bun install を使用するように指示しますが、そのタグの最新バージョンをすでに使用している場合は何もしません。実行中のプロキシは、ファイルが置き換えられる前に停止されます。インストールされたサービスは再構築されて自動的に開始されますが、フォアグラウンド インストールでは次のステップとして ocx start が出力されます。

Terminal window
ocx update
ocx update --tag preview

新しいバージョンは、リリースワークフロー が npm に公開すると利用可能になります。