diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_tool_bridge.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_tool_bridge.rs index 7d5bacb99..f44904bd4 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/direct_tool_bridge.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/direct_tool_bridge.rs @@ -3417,6 +3417,7 @@ pub(in crate::agent) fn web_search_input( .as_u64() .ok_or_else(|| WebSearchError::MaxResultsNotInteger { got: value.to_string(), + max: DIRECT_TOOL_BRIDGE_MAX_SEARCH_RESULTS as u64, })?, }; if !(1..=DIRECT_TOOL_BRIDGE_MAX_SEARCH_RESULTS as u64).contains(&max_results) { diff --git a/apps/ai-game-creator-shell/src-tauri/src/agent/tool/web_search/error.rs b/apps/ai-game-creator-shell/src-tauri/src/agent/tool/web_search/error.rs index ab1e4b533..894e60c48 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/agent/tool/web_search/error.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/agent/tool/web_search/error.rs @@ -13,7 +13,7 @@ pub(crate) enum WebSearchError { QueryEmpty, QueryTooLong { got_chars: usize, max_chars: usize }, QueryHasControlCharacters, - MaxResultsNotInteger { got: String }, + MaxResultsNotInteger { got: String, max: u64 }, MaxResultsOutOfRange { got: u64, max: u64 }, ClientUnavailable { cause: String }, RequestFailed { cause: String }, @@ -47,8 +47,8 @@ impl ToolFailure for WebSearchError { max_chars, } => format!("联网搜索失败:query 有 {got_chars} 个字符,超过上限 {max_chars}。"), Self::QueryHasControlCharacters => "联网搜索失败:query 含有控制字符。".to_string(), - Self::MaxResultsNotInteger { got } => { - format!("联网搜索失败:maxResults 必须是 1 到 5 的整数,当前是「{got}」。") + Self::MaxResultsNotInteger { got, max } => { + format!("联网搜索失败:maxResults 必须是 1 到 {max} 的整数,当前是「{got}」。") } Self::MaxResultsOutOfRange { got, max } => { format!("联网搜索失败:maxResults={got} 超出范围,必须在 1 到 {max} 之间。")