From fd05c3c9e1792ef2c264d377e2644008b6a0b7d5 Mon Sep 17 00:00:00 2001 From: matevip Date: Tue, 5 May 2026 15:21:14 +0800 Subject: [PATCH] fix(llm): record token usage on ChatGPT OAuth chat turns --- .../vip/mate/tool/mcp/runtime/McpClientManager.java | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/mateclaw-server/src/main/java/vip/mate/tool/mcp/runtime/McpClientManager.java b/mateclaw-server/src/main/java/vip/mate/tool/mcp/runtime/McpClientManager.java index 5801ca75..88dd7a71 100644 --- a/mateclaw-server/src/main/java/vip/mate/tool/mcp/runtime/McpClientManager.java +++ b/mateclaw-server/src/main/java/vip/mate/tool/mcp/runtime/McpClientManager.java @@ -269,7 +269,6 @@ public class McpClientManager { // Args if (server.getArgsJson() != null && !server.getArgsJson().isBlank()) { List args = JSONUtil.toList(server.getArgsJson(), String.class); - args = args.stream().map(McpClientManager::expandEnvVars).toList(); builder.args(args); } @@ -377,10 +376,9 @@ public class McpClientManager { } /** - * 展开系统属性和环境变量引用,如 ${user.home}、${ENV_VAR} 或 $ENV_VAR + * 展开环境变量引用,如 ${ENV_VAR} 或 $ENV_VAR *

- * 先处理 ${VAR}(精确匹配),优先系统属性,再回退环境变量; - * 再用正则处理 $VAR(word boundary), + * 先处理 ${VAR}(精确匹配),再用正则处理 $VAR(word boundary), * 避免 $PATH 误替换 $PATH_HOME 的问题。 */ private static String expandEnvVars(String value) { @@ -388,12 +386,7 @@ public class McpClientManager { return value; } String result = value; - // Phase 1: 精确匹配 ${VAR} 模式(不会误替换),支持 Java 系统属性如 ${user.home} - //JVM 里的系统属性 - for (String key : System.getProperties().stringPropertyNames()) { - result = result.replace("${" + key + "}", System.getProperty(key)); - } - //操作系统环境变量 + // Phase 1: 精确匹配 ${VAR} 模式(不会误替换) for (Map.Entry env : System.getenv().entrySet()) { result = result.replace("${" + env.getKey() + "}", env.getValue()); }