From bf573bb8f5cf1abd4aa4346fe3fd38a28f23533e Mon Sep 17 00:00:00 2001 From: hex2077 Date: Sun, 5 Oct 2025 14:37:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor(convert):=20=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E9=98=88=E5=80=BC=E6=9B=BF=E6=8D=A2=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除对环境变量的依赖,改为使用代码中定义的固定阈值来判断推理努力程度。这简化了配置并提高了代码的可维护性。 --- .gitignore | 1 - config.json | 25 +++++++++++++++++++++++++ src/convert.js | 45 ++++++++++++++------------------------------- 3 files changed, 39 insertions(+), 32 deletions(-) create mode 100644 config.json diff --git a/.gitignore b/.gitignore index a867f90..4ae0365 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ node_modules -config.json .serena/ .claude/ CLAUDE.md \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..c032ffa --- /dev/null +++ b/config.json @@ -0,0 +1,25 @@ +{ + "REQUIRED_API_KEY": "123456", + "SERVER_PORT": 3000, + "HOST": "127.0.0.1", + "MODEL_PROVIDER": "gemini-cli-oauth", + "OPENAI_API_KEY": "xxx", + "OPENAI_BASE_URL": "https://openai/v1", + "CLAUDE_API_KEY": "xxx", + "CLAUDE_BASE_URL": "https://anthropic/v1", + "PROJECT_ID": null, + "GEMINI_OAUTH_CREDS_BASE64": null, + "GEMINI_OAUTH_CREDS_FILE_PATH": null, + "KIRO_OAUTH_CREDS_BASE64": null, + "KIRO_OAUTH_CREDS_FILE_PATH": null, + "QWEN_OAUTH_CREDS_FILE_PATH": null, + "SYSTEM_PROMPT_FILE_PATH": "input_system_prompt.txt", + "SYSTEM_PROMPT_MODE": "overwrite", + "PROMPT_LOG_BASE_NAME": "prompt_log", + "PROMPT_LOG_MODE": "none", + "REQUEST_MAX_RETRIES": 3, + "REQUEST_BASE_DELAY": 1000, + "CRON_NEAR_MINUTES": 1, + "CRON_REFRESH_TOKEN": false, + "PROVIDER_POOLS_FILE_PATH": "provider_pools.json" +} \ No newline at end of file diff --git a/src/convert.js b/src/convert.js index 0fa21e2..1aa1703 100644 --- a/src/convert.js +++ b/src/convert.js @@ -105,40 +105,23 @@ function _determineReasoningEffortFromBudget(budgetTokens) { return "high"; } - // 从环境变量获取阈值配置 - const lowThresholdStr = process.env.ANTHROPIC_TO_OPENAI_LOW_REASONING_THRESHOLD; - const highThresholdStr = process.env.ANTHROPIC_TO_OPENAI_HIGH_REASONING_THRESHOLD; + // 使用固定阈值替代环境变量 + const LOW_THRESHOLD = 50; // 低推理努力的阈值 + const HIGH_THRESHOLD = 200; // 高推理努力的阈值 - // 检查必需的环境变量 - if (lowThresholdStr === undefined) { - throw new Error("ANTHROPIC_TO_OPENAI_LOW_REASONING_THRESHOLD environment variable is required for intelligent reasoning_effort determination"); + console.debug(`Threshold configuration: low <= ${LOW_THRESHOLD}, medium <= ${HIGH_THRESHOLD}, high > ${HIGH_THRESHOLD}`); + + let effort; + if (budgetTokens <= LOW_THRESHOLD) { + effort = "low"; + } else if (budgetTokens <= HIGH_THRESHOLD) { + effort = "medium"; + } else { + effort = "high"; } - if (highThresholdStr === undefined) { - throw new Error("ANTHROPIC_TO_OPENAI_HIGH_REASONING_THRESHOLD environment variable is required for intelligent reasoning_effort determination"); - } - - try { - const lowThreshold = parseInt(lowThresholdStr, 10); - const highThreshold = parseInt(highThresholdStr, 10); - - console.debug(`Threshold configuration: low <= ${lowThreshold}, medium <= ${highThreshold}, high > ${highThreshold}`); - - let effort; - if (budgetTokens <= lowThreshold) { - effort = "low"; - } else if (budgetTokens <= highThreshold) { - effort = "medium"; - } else { - effort = "high"; - } - - console.info(`🎯 Budget tokens ${budgetTokens} -> reasoning_effort '${effort}' (thresholds: low<=${lowThreshold}, high<=${highThreshold})`); - return effort; - - } catch (e) { - throw new Error(`Invalid threshold values in environment variables: ${e.message}. ANTHROPIC_TO_OPENAI_LOW_REASONING_THRESHOLD and ANTHROPIC_TO_OPENAI_HIGH_REASONING_THRESHOLD must be integers.`); - } + console.info(`🎯 Budget tokens ${budgetTokens} -> reasoning_effort '${effort}' (thresholds: low<=${LOW_THRESHOLD}, high<=${HIGH_THRESHOLD})`); + return effort; } // 全局工具状态管理器