diff --git a/Dockerfile b/Dockerfile index 58fd5a0..77649d3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,7 +52,8 @@ RUN if [ "$INCLUDE_STOCKSDK" = "1" ]; then \ FROM node:20-bookworm-slim AS codex-builder ARG USE_CN_MIRROR=1 ARG NPM_REGISTRY=https://registry.npmmirror.com -ARG CODEX_CLI_VERSION=0.144.3 +# 版本由顶层 ARG CODEX_CLI_VERSION 提供, 这里仅声明以继承, 不再重复默认值。 +ARG CODEX_CLI_VERSION RUN if [ "$USE_CN_MIRROR" = "1" ]; then npm config set registry "$NPM_REGISTRY"; fi \ && npm install --global --prefix /opt/codex "@openai/codex@${CODEX_CLI_VERSION}" \ && CODEX_NATIVE="$(find /opt/codex -type f -path '*/vendor/*/bin/codex' -print -quit)" \ diff --git a/README.md b/README.md index 2298d88..521f2bc 100644 --- a/README.md +++ b/README.md @@ -167,6 +167,12 @@ Docker 镜像内置固定版本的 **Codex CLI**,Compose 会将主机 `${HOME} CODEX_CLI_VERSION=0.144.3 docker compose up --build ``` +> **Windows 用户注意**:纯 PowerShell / CMD 下 `HOME` 环境变量通常未设置,会导致挂载路径解析失败、容器读不到 Codex 登录态。请在 `.env` 中显式指定主机 Codex 目录: +> ```bash +> # PowerShell 示例(实际路径以本机为准) +> echo "CODEX_HOME_HOST=C:\Users\你的用户名\.codex" >> .env +> ``` + > Codex CLI 模式允许 TickFlow 容器读取本机 Codex 登录凭据,仅应在受信任的本机环境启用。凭据目录以只读方式挂载,不会写入镜像。 镜像已内置 **stock-sdk** 数据源插件(Node 运行时 + 依赖),开箱即用。 diff --git a/docker-compose.yml b/docker-compose.yml index 5234533..f705549 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,5 +27,6 @@ services: - ./data:/app/data - ./tiers.yaml:/app/tiers.yaml:ro # 复用主机 Codex 登录态;后端只读后复制到单次请求的临时 CODEX_HOME。 - - ${HOME}/.codex:/root/.codex:ro + # Windows PowerShell/CMD 下 HOME 常未设置, 可通过 .env 里 CODEX_HOME_HOST 覆盖。 + - ${CODEX_HOME_HOST:-${HOME}/.codex}:/root/.codex:ro restart: unless-stopped