






















@@ -106,12 +106,27 @@ if openclaw_live_codex_harness_is_ci; then
106106 TEMP_DIRS+=("$DOCKER_HOME_DIR")
107107 DOCKER_HOME_MOUNT=(-v "$DOCKER_HOME_DIR":/home/node)
108108fi
109+if [[ "$CODEX_HARNESS_AUTH_MODE" == "api-key" ]]; then
110+if [[ -z "${DOCKER_HOME_DIR:-}" ]]; then
111+ DOCKER_HOME_DIR="$(mktemp -d "${RUNNER_TEMP:-/tmp}/openclaw-docker-home.XXXXXX")"
112+ TEMP_DIRS+=("$DOCKER_HOME_DIR")
113+ DOCKER_HOME_MOUNT=(-v "$DOCKER_HOME_DIR":/home/node)
114+fi
115+ CONFIG_DIR="$(mktemp -d "${RUNNER_TEMP:-/tmp}/openclaw-docker-config.XXXXXX")"
116+ WORKSPACE_DIR="$(mktemp -d "${RUNNER_TEMP:-/tmp}/openclaw-docker-workspace.XXXXXX")"
117+ TEMP_DIRS+=("$CONFIG_DIR" "$WORKSPACE_DIR")
118+ chmod 0777 "$DOCKER_HOME_DIR" "$CONFIG_DIR" "$WORKSPACE_DIR" || true
119+ DOCKER_CACHE_CONTAINER_DIR="/home/node/.cache"
120+ DOCKER_CLI_TOOLS_CONTAINER_DIR="/home/node/.npm-global"
121+fi
109122110123PROFILE_MOUNT=()
111124PROFILE_STATUS="none"
112-if [[ -f "$PROFILE_FILE" && -r "$PROFILE_FILE" ]]; then
125+if [[ "$CODEX_HARNESS_AUTH_MODE" != "api-key" && -f "$PROFILE_FILE" && -r "$PROFILE_FILE" ]]; then
113126 PROFILE_MOUNT=(-v "$PROFILE_FILE":/home/node/.profile:ro)
114127 PROFILE_STATUS="$PROFILE_FILE"
128+elif [[ "$CODEX_HARNESS_AUTH_MODE" == "api-key" ]]; then
129+ PROFILE_STATUS="api-key-env"
115130fi
116131117132DOCKER_TRUSTED_HARNESS_CONTAINER_DIR="/trusted-harness"
@@ -170,6 +185,10 @@ export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
170185export COREPACK_HOME="${COREPACK_HOME:-$XDG_CACHE_HOME/node/corepack}"
171186export NPM_CONFIG_CACHE="${NPM_CONFIG_CACHE:-$XDG_CACHE_HOME/npm}"
172187export npm_config_cache="$NPM_CONFIG_CACHE"
188+cleanup_codex_live_mounts() {
189+ chmod -R a+rwX "$HOME" "$NPM_CONFIG_PREFIX" "$XDG_CACHE_HOME" 2>/dev/null || true
190+}
191+trap cleanup_codex_live_mounts EXIT
173192if [ "${OPENCLAW_LIVE_CODEX_HARNESS_DEBUG:-}" = "1" ]; then
174193 id
175194 mount | grep -E 'openclaw-cache|openclaw-npm|/home/node' || true
@@ -323,11 +342,14 @@ openclaw_live_append_array DOCKER_RUN_ARGS DOCKER_EXTRA_ENV_FILES
323342openclaw_live_append_array DOCKER_RUN_ARGS DOCKER_HOME_MOUNT
324343openclaw_live_append_array DOCKER_RUN_ARGS DOCKER_TRUSTED_HARNESS_MOUNT
325344DOCKER_RUN_ARGS+=(\
326- -v "$CACHE_HOME_DIR":"$DOCKER_CACHE_CONTAINER_DIR" \
327345 -v "$ROOT_DIR":/src:ro \
328346 -v "$CONFIG_DIR":/home/node/.openclaw \
329- -v "$WORKSPACE_DIR":/home/node/.openclaw/workspace \
330- -v "$CLI_TOOLS_DIR":"$DOCKER_CLI_TOOLS_CONTAINER_DIR")
347+ -v "$WORKSPACE_DIR":/home/node/.openclaw/workspace)
348+if [[ "$CODEX_HARNESS_AUTH_MODE" != "api-key" ]]; then
349+ DOCKER_RUN_ARGS+=(\
350+ -v "$CACHE_HOME_DIR":"$DOCKER_CACHE_CONTAINER_DIR" \
351+ -v "$CLI_TOOLS_DIR":"$DOCKER_CLI_TOOLS_CONTAINER_DIR")
352+fi
331353openclaw_live_append_array DOCKER_RUN_ARGS EXTERNAL_AUTH_MOUNTS
332354openclaw_live_append_array DOCKER_RUN_ARGS PROFILE_MOUNT
333355DOCKER_RUN_ARGS+=(\
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。