应使用 .env 文件管理敏感配置,通过 dotenv 类库自动加载,区分开发与生产环境变量文件并按需加载,严禁硬编码或提交至 git。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Win10上为Codex类应用(如基于Node.js/Python的本地AI工具链)注入环境变量时,必须避免将数据库密码、API密钥等敏感信息硬编码进源码或Git仓库,同时要确保开发与生产配置能各自独立加载且互不干扰。
创建并加载 .env 文件
这一步操作起来很简单,直接把文件拖进去就行。
在项目根目录新建一个名为 .env 的纯文本文件,用记事本或VS Code打开,按 KEY=VALUE 格式逐行写入配置项,例如:
OPENAI_API_KEY=sk-xxx
DB_URL=sqlite://./dev.db
LOG_LEVEL=debug
【务必把 .env 加入 .gitignore】,否则提交到远程仓库会导致密钥泄露。如果已有该文件被 Git 跟踪,需先执行 git rm --cached .env 再提交。
让应用自动读取 .env
不同语言生态有对应的标准加载库,不能靠手动 set 命令临时生效——那仅限当前 CMD 窗口,重启即失效,对 Codex 启动脚本无效。
方法一(Node.js):安装 dotenv 包,在应用入口文件顶部添加 require('dotenv').config();若需加载指定路径的 .env,可传入 { path: './config/prod.env' } 参数。
方法二(Python):安装 python-dotenv,启动脚本开头加入 from dotenv import load_dotenv;load_dotenv() 即可;若需加载非默认位置,调用 load_dotenv('.env.production')。
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
方法三(PowerShell 启动场景):在启动 Codex 的 .ps1 脚本中,用 Get-Content .env | ForEach-Object { if ($_ -match '^([^#].+?)=(.*)$') { Set-Item Env:\$($matches[1].Trim()) $matches[2].Trim() } } 手动解析并注入,但此方式不推荐用于生产环境——缺乏值转义和空格处理能力。
区分开发与生产配置
第一步:在项目根目录下新建两个文件:.env.development 和 .env.production,分别存放对应环境的变量。
第二步:修改启动命令,让运行时根据 NODE_ENV 或 PYTHON_ENV 自动选择加载哪个文件。例如 Node.js 项目中 package.json 的 scripts 字段改为:
"start:dev": "NODE_ENV=development node index.js",
"start:prod": "NODE_ENV=production node index.js"
第三步:在代码中判断环境变量并加载对应 .env 文件。Node.js 示例:
const env = process.env.NODE_ENV || 'development';
require('dotenv').config({ path: `.env.${env}` });
注意:Windows CMD 不支持 NODE_ENV=xxx 语法,必须改用 cross-env 工具或 PowerShell 启动;否则该变量不会被子进程继承。
第四步:确保 生产环境服务器上不部署 .env.development 文件,只保留 .env.production 和 .env(用于覆盖通用项),防止误加载开发配置导致安全风险。










