feat: add CODEX_MODEL and CODEX_EFFORT env var support for codex-runner

This commit is contained in:
Eyejoker
2026-03-11 02:25:20 +09:00
parent b748622523
commit 021014cc56
2 changed files with 13 additions and 7 deletions

View File

@@ -128,11 +128,10 @@ async function runCodexExec(prompt: string, resume: boolean): Promise<{ result:
return new Promise((resolve) => {
const args: string[] = [];
const effectiveCwd = WORK_DIR || GROUP_DIR;
const codexModel = process.env.CODEX_MODEL || '';
const codexEffort = process.env.CODEX_EFFORT || '';
if (resume) {
// Resume the most recent session with a new prompt
// --dangerously-bypass-approvals-and-sandbox: fully disables sandbox
// (--full-auto forces workspace-write which blocks /workspace/extra/ mounts)
args.push(
'exec', 'resume', '--last',
'--dangerously-bypass-approvals-and-sandbox',
@@ -140,17 +139,16 @@ async function runCodexExec(prompt: string, resume: boolean): Promise<{ result:
prompt,
);
} else {
// Fresh session
// --dangerously-bypass-approvals-and-sandbox: fully disables sandbox
// (--full-auto forces workspace-write which blocks /workspace/extra/ mounts)
args.push(
'exec',
'--dangerously-bypass-approvals-and-sandbox',
'-C', effectiveCwd,
'--skip-git-repo-check',
'--color', 'never',
prompt,
);
if (codexModel) args.push('-m', codexModel);
if (codexEffort) args.push('--effort', codexEffort);
args.push(prompt);
}
log(`Running: codex ${args.slice(0, 6).join(' ')}... (resume=${resume})`);

View File

@@ -126,6 +126,8 @@ function prepareGroupEnvironment(
'CLAUDE_EFFORT',
'OPENAI_API_KEY',
'CODEX_OPENAI_API_KEY',
'CODEX_MODEL',
'CODEX_EFFORT',
]);
// Build a clean env without Claude Code nesting detection variables
@@ -174,6 +176,12 @@ function prepareGroupEnvironment(
process.env.OPENAI_API_KEY;
if (openaiKey) env.OPENAI_API_KEY = openaiKey;
// Codex model/effort configuration
const codexModel = envVars.CODEX_MODEL || process.env.CODEX_MODEL;
if (codexModel) env.CODEX_MODEL = codexModel;
const codexEffort = envVars.CODEX_EFFORT || process.env.CODEX_EFFORT;
if (codexEffort) env.CODEX_EFFORT = codexEffort;
// Codex session directory
const hostCodexDir = path.join(os.homedir(), '.codex');
const sessionCodexDir = path.join(