修复: extract_key_info 截断标记统一 + 断路器 key 滑动窗口 + 桌面跨端 4 路由 + dead_code 预留标 allow

This commit is contained in:
lxy
2026-08-01 15:17:24 +08:00
parent db99e7107c
commit 7d33442199
4 changed files with 377 additions and 23 deletions
+2 -1
View File
@@ -410,10 +410,11 @@ pub fn extract_key_info(content: &str, tool_name: &str) -> String {
} else if s.chars().count() > TOOL_RESULT_JSON_STR_FIELD_MAX {
// 单行/少行大字符串绕过行级截断(实测 53/94 次零效果)。
// 按字符数截断保留头尾,保证压缩至少生效。
// 标记格式与纯文本单行分支对齐:含 `(截断)` 连续子串,便于上层断言/解析。
let head: String = s.chars().take(TOOL_RESULT_JSON_STR_FIELD_MAX / 2).collect();
let tail: String = s.chars().skip(s.chars().count().saturating_sub(TOOL_RESULT_JSON_STR_FIELD_MAX / 2)).collect();
*field = serde_json::Value::String(format!(
"{}...(截断,原始 {} 字符)...{}",
"{}...(截断) 原始 {} 字符...{}",
head, s.chars().count(), tail
));
truncated = true;