feat: harden codex queue runtime

Add model selection, batch enqueue controls, dev-ready health checks, transcript pagination, queue watchdog recovery, and MiniMax judge JSON repair for codex-queue.
This commit is contained in:
Codex
2026-05-08 03:57:53 +00:00
parent 34652e1731
commit 41fdaba973
13 changed files with 1415 additions and 142 deletions
+6 -2
View File
@@ -105,10 +105,11 @@ services:
HOST: "0.0.0.0"
PORT: "4222"
CODEX_QUEUE_STATE_PATH: "/var/lib/unidesk/codex-queue/state.json"
CODEX_QUEUE_WORKDIR: "/workspace"
CODEX_QUEUE_WORKDIR: "/root/unidesk"
CODEX_QUEUE_CODEX_HOME: "/var/lib/unidesk/codex-queue/codex-home"
CODEX_QUEUE_SOURCE_CODEX_CONFIG: "/root/.codex/config.toml"
CODEX_QUEUE_DEFAULT_MODEL: "gpt-5.4-mini"
CODEX_QUEUE_MODELS: "gpt-5.4-mini,gpt-5.4,gpt-5.5"
CODEX_QUEUE_SANDBOX: "danger-full-access"
CODEX_QUEUE_APPROVAL_POLICY: "never"
CODEX_QUEUE_MAX_ATTEMPTS: "3"
@@ -117,9 +118,12 @@ services:
MINIMAX_API_KEY: "${UNIDESK_CODEX_QUEUE_MINIMAX_API_KEY:-}"
MINIMAX_API_BASE: "${UNIDESK_CODEX_QUEUE_MINIMAX_API_BASE:-https://api.minimaxi.com/v1}"
MINIMAX_MODEL: "${UNIDESK_CODEX_QUEUE_MINIMAX_MODEL:-MiniMax-M2.7}"
MINIMAX_JUDGE_TIMEOUT_MS: "${UNIDESK_CODEX_QUEUE_MINIMAX_JUDGE_TIMEOUT_MS:-60000}"
MINIMAX_JUDGE_REPAIR_ATTEMPTS: "${UNIDESK_CODEX_QUEUE_MINIMAX_JUDGE_REPAIR_ATTEMPTS:-2}"
LOG_FILE: "/var/log/unidesk/${UNIDESK_LOG_PREFIX}_codex-queue.jsonl"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- .:/root/unidesk
- .:/workspace
- /root/.codex/config.toml:/root/.codex/config.toml:ro
- ${UNIDESK_LOG_DIR}:/var/log/unidesk
@@ -127,7 +131,7 @@ services:
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ["CMD", "bun", "-e", "fetch('http://127.0.0.1:4222/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
test: ["CMD-SHELL", "curl -fsS --max-time 2 http://127.0.0.1:4222/health >/dev/null"]
interval: 5s
timeout: 3s
retries: 20