Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs-site/src/content/docs/ja/reference/cli/lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,10 @@ Windows では、タスク スケジューラ エントリを作成するには

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

インストールまたは修復を確定する前に、OpenCodex はサービス起動をバイパスした状態で、保存済みランチャーを `--version` 付きで実行します。ランチャーが `codex` を再び shim に解決する、0 以外で終了する、5 秒を超える、子プロセスを残す、または安全に検証・クリーンアップできない場合、変更を拒否してロールバックします。したがって `codex-shim install` は無条件のインストールではありません。拒否された場合は、PATH エントリが具体的な実行ファイルまたはランチャーを指すよう Codex を再インストールしてから再試行してください。動的コマンドマネージャーのランチャーがこれらの検証を満たせない場合は、代わりに `ocx service install` を使用してください。

アップグレード時には、現在の検証ガードを持たない既存の Unix shim を再生成して検証します。保存済みランチャーが安全でない場合、OpenCodex は危険な wrapper を残さず、古い shim を削除して元のランチャーを復元します。

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

|サブコマンド |アクション |
Expand Down
10 changes: 10 additions & 0 deletions docs-site/src/content/docs/ko/reference/cli/lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,16 @@ Windows에서 Task Scheduler 항목을 만들려면 권한 상승이 필요합
PATH 위의 스크립트 기반 `codex` 런처를 가벼운 자동 시작 스크립트로 감쌉니다. 정확한 실행 파일
호출을 깨지 않도록 실제 `codex.exe` 대상은 손대지 않습니다.

설치나 복구를 확정하기 전에 OpenCodex는 서비스 시작을 우회한 상태에서 저장된 런처를
`--version`으로 실행합니다. 런처가 `codex`를 shim으로 다시 해석해 재귀하거나, 0이 아닌 코드로
종료하거나, 5초를 초과하거나, 실행 중인 자식 프로세스를 남기거나, 안전하게 검증·정리할 수 없으면
변경을 거부하고 롤백합니다. 따라서 `codex-shim install`은 무조건 성공하는 명령이 아닙니다. 거부되면
PATH 항목이 구체적인 실행 파일 또는 런처를 가리키도록 Codex를 다시 설치한 뒤 재시도하세요. 동적
명령 관리자의 런처가 이 검증을 충족할 수 없다면 대신 `ocx service install`을 사용하세요.
업그레이드할 때 현재 검증 가드가 없는 기존 Unix shim은 다시 생성하고 검증합니다. 저장된 런처가
안전하지 않으면 OpenCodex는 위험한 wrapper를 그대로 두지 않고 구버전 shim을 제거한 뒤 원래
런처를 복원합니다.

완료된 외부 Codex 업데이트가 설치된 shim을 덮어쓰면, 다음 일반 `ocx` 명령이 안정적인 새 런처를
백업하고 명령을 처리하기 전에 shim을 복원합니다. 아직 변경 중인 런처는 건드리지 않고 나중에 다시 시도합니다.
복구 실패는 요청한 명령을 실패시키지 않고 경고만 표시합니다. 수동 대체 수단은 `ocx codex-shim install`
Expand Down
10 changes: 10 additions & 0 deletions docs-site/src/content/docs/reference/cli/lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,16 @@ dashboard UAC prompt or rerun `ocx service install` in an elevated PowerShell wi
Wrap a script-based `codex` launcher on PATH with a lightweight autostart script. Real `codex.exe`
targets are left untouched to avoid breaking exact executable invocations.

Before an install or repair is committed, OpenCodex runs the saved launcher with `--version` while
service startup is bypassed. It refuses the change and rolls back when the launcher resolves
`codex` back to the shim, exits nonzero, exceeds five seconds, leaves descendants running, or
cannot be validated and cleaned up safely. Therefore `codex-shim install` is not unconditional. If
it is refused, reinstall Codex so the PATH entry is a concrete executable or launcher and retry;
use `ocx service install` instead when a dynamic command-manager launcher cannot meet these checks.
Comment thread
comfuture marked this conversation as resolved.
During upgrades, an installed Unix shim that lacks the current validation guard is regenerated and
probed. If its saved launcher is unsafe, OpenCodex removes the obsolete shim and restores the
original launcher instead of leaving the unsafe wrapper installed.

Launcher installation alone does not prove that Codex requests will use OpenCodex. After a healthy
install, the command checks the current Codex routing and reports a warning instead of a green result
when routing is external, user-owned, or unverifiable. It also warns when outbound proxy variables
Expand Down
11 changes: 11 additions & 0 deletions docs-site/src/content/docs/ru/reference/cli/lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,17 @@ scheduler-error. Чужие задачи и чужие операции нико
Обернуть script-based launcher `codex` на `PATH` лёгким автозапусковым скриптом. Настоящие
target'ы `codex.exe` не трогаются, чтобы не ломать точные вызовы исполняемого файла.

Перед фиксацией установки или repair OpenCodex запускает сохранённый launcher с `--version`,
не запуская сервис. Изменение отклоняется и откатывается, если launcher снова разрешает `codex`
в shim, завершается с ненулевым кодом, работает дольше пяти секунд, оставляет дочерние процессы
или не может быть безопасно проверен и очищен. Поэтому `codex-shim install` не является
безусловной установкой. После отказа переустановите Codex так, чтобы запись в `PATH` указывала на
конкретный исполняемый файл или launcher, и повторите попытку. Если динамический launcher
менеджера команд не проходит эти проверки, используйте вместо него `ocx service install`.
При обновлении установленный Unix shim без текущей validation-защиты пересоздаётся и проверяется.
Если сохранённый launcher небезопасен, OpenCodex удаляет устаревший shim и восстанавливает исходный
launcher, а не оставляет небезопасный wrapper установленным.

Если завершённое внешнее обновление Codex перезаписало установленный shim, следующая обычная
команда `ocx` сохранит новый стабильный launcher и восстановит shim перед выполнением запроса.
Launcher, который всё ещё меняется, не трогается, а попытка откладывается до следующего раза.
Expand Down
4 changes: 4 additions & 0 deletions docs-site/src/content/docs/zh-cn/reference/cli/lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,10 @@ ocx service uninstall

在 PATH 上把基于脚本的 `codex` 启动器包装为一个轻量自启动脚本。真实的 `codex.exe` 目标会保持不变,以避免破坏精确的可执行文件调用。

提交安装或修复前,OpenCodex 会在跳过服务启动的情况下,用 `--version` 运行已保存的启动器。如果启动器把 `codex` 再次解析到 shim、以非零状态退出、运行超过五秒、留下仍在运行的子进程,或无法被安全验证和清理,OpenCodex 会拒绝并回滚更改。因此 `codex-shim install` 并不是无条件安装。若被拒绝,请重新安装 Codex,使 PATH 条目指向具体的可执行文件或启动器,然后重试;如果动态命令管理器的启动器无法满足这些检查,请改用 `ocx service install`。

升级时,缺少当前验证保护的已安装 Unix shim 会被重新生成并接受探测。如果保存的启动器不安全,OpenCodex 会移除旧 shim 并恢复原始启动器,而不是保留不安全的 wrapper。

仅安装启动器并不能证明 Codex 请求会经过 OpenCodex。完成健康安装后,命令会检查当前 Codex 路由;当路由由外部配置、用户自有网关管理或无法验证时,会显示警告而不是绿色成功。若出站代理变量只存在于当前进程,而 `config.proxy` 未设置或无法解析,也会给出警告,因为 Codex 启动器和后台服务未必继承该环境。这些检查只读且绝不会打印代理值;在依赖自动启动前,请先处理提示的交接配置并运行 `ocx doctor`。

如果已完成的外部 Codex 更新覆盖了已安装的 shim,下一次普通的 `ocx` 命令会先备份稳定的新启动器,再在分发前恢复 shim。仍在变动中的启动器会保持不动,并在稍后重试。修复失败只会警告,不会让所请求的命令失败;手动回退:`ocx codex-shim install`。将 `codexShimAutoRestore` 设为 `false`,或设置 `OPENCODEX_CODEX_SHIM_AUTO_RESTORE=0`,即可在进程级别关闭自动恢复。
Expand Down
Loading
Loading