feat(tools): add web_search_tool for internet search
Add native web search capability that works regardless of LLM tool-calling support. This is particularly useful for GLM models via Z.AI that don't reliably support standard tool calling formats. Features: - DuckDuckGo provider (free, no API key required) - Brave Search provider (optional, requires API key) - Configurable max results and timeout - Enabled by default Configuration (config.toml): [web_search] enabled = true provider = "duckduckgo" max_results = 5 The tool allows agents to search the web for current information without requiring proper tool calling support from the LLM. Also includes CI workflow fix for first-interaction action inputs.
This commit is contained in:
parent
f3bdff1d69
commit
1757add64a
9 changed files with 394 additions and 4 deletions
7
Cargo.lock
generated
7
Cargo.lock
generated
|
|
@ -4410,6 +4410,12 @@ dependencies = [
|
|||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "urlencoding"
|
||||
version = "2.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
|
||||
|
||||
[[package]]
|
||||
name = "utf-8"
|
||||
version = "0.7.6"
|
||||
|
|
@ -5225,6 +5231,7 @@ dependencies = [
|
|||
"tower-http",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
"urlencoding",
|
||||
"uuid",
|
||||
"webpki-roots 1.0.6",
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue