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; } // 全局工具状态管理器