fix: expose Codex admin sessions (ZER-718) - #49
Open
ZeroPointSix wants to merge 2 commits into
Open
Conversation
OPENAB_ADMIN_ENABLED=false no longer forces the HTTP probe, and the probe port follows GATEWAY_LISTEN. Docker smoke covers the decision matrix. Co-Authored-By: Claude <noreply@anthropic.com>
ZeroPointSix
force-pushed
the
fix/zer-718-codex-admin-http
branch
from
August 15, 2026 12:41
23dad2a to
531da45
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What problem does this solve?
Slack
@OpenAB Codex能真实启动,但公网 OpenAB 前端看不到 Codex 会话详情。根因之一是 Codex 镜像未在配置 Admin 时启动 HTTP,且健康检查未覆盖 Admin 端口。Closes #
Discord Discussion URL: None — discussion is in Slack
C0BDF94JZEE/1786779091.957439.Review Contract
Goal
让配置了 Admin token / 显式 Admin 开关的 Codex 运行时真正启动 Admin HTTP,健康检查与启动条件一致,从而可读取 Codex 会话详情。
Non-goals
SessionPool(统一 Admin 聚合层留给后续)。Accepted Residual Risks
openab.zerodotsixai.com直接列出 Codex 会话;需要后续路由或聚合层(ZER-718 第二步)。Mitigation:先恢复 Codex Admin HTTP 监听与健康检查,便于独立验证与后续接入。OPENAB_ADMIN_ENABLED=true。Acceptance Criteria
OPENAB_ADMIN_TOKEN/GATEWAY_ADMIN_TOKEN/OPENAB_ADMIN_ENABLED=true|1时,进程启动 Admin HTTP。OPENAB_ADMIN_ENABLED=false且无 token 时,Docker 健康检查走进程探针,不会因 HTTP 未监听而 unhealthy。GATEWAY_LISTEN,不写死8080。admin=false与自定义端口决策矩阵。admin_api_integrationagent 断言修复的main。Follow-ups
instance_id + session_id聚合 Claude/Codex sessions / transcript / SSE。103.235.73.216SSH profile / 部署通道。codex-maxprofile。At a Glance
Prior Art & Industry Research
Not applicable — this is a container healthcheck / Admin HTTP enablement bug fix aligned to existing OpenAB Admin behavior, not a new architecture.
OpenClaw: Not applicable — no multi-container Admin HTTP enablement change here.
Hermes Agent: Not applicable — same reason.
Proposed Solution
scripts/openab-healthcheck.sh, matching Rustadmin_http_enabled_from_values()and reading port fromGATEWAY_LISTEN.OPENAB_ADMIN_ENABLED=falseand custom listen ports.Why this approach?
Keeps Slack-only Codex containers healthy without Admin, while making Admin-on containers report readiness only when
/healthworks. Sharing one shell script between Dockerfiles and CI avoids the previous “non-empty string means enabled” bug.Alternatives Considered
Validation
Rust / shell:
sh scripts/openab-healthcheck_test.sh(all cases passed locally)admin_http_starts_for_explicit_flag_or_configured_tokencargo test --features unified admin_http_starts_for_explicit_flag_or_configured_token(this sandbox has no Rust toolchain; relies on CI)cargo test/ clippy via CI after pushDocker smoke (CI):
docker-smoke-test.ymlanddocker-smoke-test-unified.ymlAll PRs:
main(includes ZER-715 agent assertion fix that previously failed CI)Changes (summary)
GATEWAY_LISTEN.0.9.11.