- Use urllib.parse.urlencode to properly encode the POST body, so queries
containing special characters like '&', '+', '=' are sent correctly
- Extend execution_failure_check to also detect "No search results" as a
failure, preventing the agent from silently looping when all SearXNG
engines are rate-limited and return no results
When is_local=True, the Ollama host URL previously hardcoded port 11434,
ignoring the port specified in provider_server_address in config.ini.
Users who need to run Ollama on a non-default port (e.g. because 11434
is already in use) had no way to configure this without editing source code.
Now the port is extracted from provider_server_address when present,
falling back to 11434 if only a hostname is given.
The hardcoded --remote-debugging-port=9222 caused SessionNotCreatedException
when port 9222 was already in use by another Chrome instance or process.
Replace with a dynamically allocated free port via socket binding.