From bd343f3f028bf1c5b0648a7566291fa4b94a09c3 Mon Sep 17 00:00:00 2001 From: kaitranntt Date: Fri, 23 Jan 2026 17:08:08 -0500 Subject: [PATCH] fix(glmt): respect user-configured model instead of hardcoding glm-4.6 Root cause: execClaudeWithProxy() was ignoring ANTHROPIC_MODEL from user settings and always using hardcoded 'glm-4.6'. Changes: - Read model from user's settings file in GLMT proxy flow - Update default model to glm-4.7 in base configs (matches presets) - Update fallback models in transformer/response-builder Closes #358 Co-Authored-By: Claude --- config/base-glm.settings.json | 8 ++++---- config/base-glmt.settings.json | 8 ++++---- src/ccs.ts | 4 +++- src/glmt/glmt-transformer.ts | 4 ++-- src/glmt/pipeline/response-builder.ts | 2 +- tests/shared/test-data.js | 8 ++++---- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/config/base-glm.settings.json b/config/base-glm.settings.json index ee8d49f6..04f1337e 100644 --- a/config/base-glm.settings.json +++ b/config/base-glm.settings.json @@ -2,9 +2,9 @@ "env": { "ANTHROPIC_BASE_URL": "https://api.z.ai/api/anthropic", "ANTHROPIC_AUTH_TOKEN": "YOUR_GLM_API_KEY_HERE", - "ANTHROPIC_MODEL": "glm-4.6", - "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6", - "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6", - "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.6" + "ANTHROPIC_MODEL": "glm-4.7", + "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7", + "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7", + "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.7" } } diff --git a/config/base-glmt.settings.json b/config/base-glmt.settings.json index 15f43c41..0ac75110 100644 --- a/config/base-glmt.settings.json +++ b/config/base-glmt.settings.json @@ -2,10 +2,10 @@ "env": { "ANTHROPIC_BASE_URL": "https://api.z.ai/api/coding/paas/v4/chat/completions", "ANTHROPIC_AUTH_TOKEN": "YOUR_GLM_API_KEY_HERE", - "ANTHROPIC_MODEL": "glm-4.6", - "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6", - "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6", - "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.6", + "ANTHROPIC_MODEL": "glm-4.7", + "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7", + "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7", + "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.7", "ANTHROPIC_TEMPERATURE": "0.2", "ANTHROPIC_MAX_TOKENS": "65536", "MAX_THINKING_TOKENS": "32768", diff --git a/src/ccs.ts b/src/ccs.ts index 6aecf3b5..f56a6a43 100644 --- a/src/ccs.ts +++ b/src/ccs.ts @@ -153,10 +153,12 @@ async function execClaudeWithProxy( } // 4. Spawn Claude CLI with proxy URL + // Use model from user's settings (not hardcoded) - fixes issue #358 + const configuredModel = envData['ANTHROPIC_MODEL'] || 'glm-4.7'; const envVars: NodeJS.ProcessEnv = { ANTHROPIC_BASE_URL: `http://127.0.0.1:${port}`, ANTHROPIC_AUTH_TOKEN: apiKey, - ANTHROPIC_MODEL: 'glm-4.6', + ANTHROPIC_MODEL: configuredModel, }; const isWindows = process.platform === 'win32'; diff --git a/src/glmt/glmt-transformer.ts b/src/glmt/glmt-transformer.ts index cc6aae19..ad1a404d 100644 --- a/src/glmt/glmt-transformer.ts +++ b/src/glmt/glmt-transformer.ts @@ -113,7 +113,7 @@ export class GlmtTransformer { type: 'message', role: 'assistant', content, - model: openaiResponse.model || 'glm-4.6', + model: openaiResponse.model || 'glm-4.7', stop_reason: this.responseBuilder.mapStopReason(choice.finish_reason || 'stop'), usage: { input_tokens: openaiResponse.usage?.prompt_tokens || 0, @@ -131,7 +131,7 @@ export class GlmtTransformer { type: 'message', role: 'assistant', content: [{ type: 'text', text: '[Transformation Error] ' + err.message }], - model: 'glm-4.6', + model: 'glm-4.7', stop_reason: 'end_turn', usage: { input_tokens: 0, output_tokens: 0 }, }; diff --git a/src/glmt/pipeline/response-builder.ts b/src/glmt/pipeline/response-builder.ts index 416a034f..411889c3 100644 --- a/src/glmt/pipeline/response-builder.ts +++ b/src/glmt/pipeline/response-builder.ts @@ -32,7 +32,7 @@ export class ResponseBuilder { type: 'message', role: accumulator.getRole(), content: [], - model: accumulator.getModel() || 'glm-4.6', + model: accumulator.getModel() || 'glm-4.7', stop_reason: null, usage: { input_tokens: accumulator.getInputTokens(), diff --git a/tests/shared/test-data.js b/tests/shared/test-data.js index 547cd444..079b55e2 100644 --- a/tests/shared/test-data.js +++ b/tests/shared/test-data.js @@ -35,10 +35,10 @@ module.exports = { env: { ANTHROPIC_BASE_URL: "https://api.z.ai/api/anthropic", ANTHROPIC_AUTH_TOKEN: "your_api_key_here", - ANTHROPIC_MODEL: "glm-4.6", - ANTHROPIC_DEFAULT_OPUS_MODEL: "glm-4.6", - ANTHROPIC_DEFAULT_SONNET_MODEL: "glm-4.6", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "glm-4.6" + ANTHROPIC_MODEL: "glm-4.7", + ANTHROPIC_DEFAULT_OPUS_MODEL: "glm-4.7", + ANTHROPIC_DEFAULT_SONNET_MODEL: "glm-4.7", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "glm-4.7" } },