From a849a21c75518bef0a940c5ee7d50035c0565e95 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 20 Dec 2025 14:11:51 -0600 Subject: [PATCH] Add searxng tool config --- custom_components/groqd/config_flow.py | 28 ++++++++++++++++++++++++++ custom_components/groqd/const.py | 8 ++++++++ 2 files changed, 36 insertions(+) diff --git a/custom_components/groqd/config_flow.py b/custom_components/groqd/config_flow.py index 91dd258..a5db49e 100644 --- a/custom_components/groqd/config_flow.py +++ b/custom_components/groqd/config_flow.py @@ -31,6 +31,10 @@ from .const import ( CONF_PRESENCE_PENALTY, CONF_PROMPT, CONF_RESPONSE_FORMAT, + CONF_SEARXNG_ENABLED, + CONF_SEARXNG_URL, + CONF_SEARXNG_SAFESEARCH, + CONF_SEARXNG_LANGUAGE, CONF_SEED, CONF_STOP, CONF_TEMPERATURE, @@ -47,6 +51,10 @@ from .const import ( DEFAULT_TOOL_CHOICE, DEFAULT_TOP_P, DEFAULT_MEMORY_SCOPE, + DEFAULT_SEARXNG_ENABLED, + DEFAULT_SEARXNG_URL, + DEFAULT_SEARXNG_SAFESEARCH, + DEFAULT_SEARXNG_LANGUAGE, DOMAIN, ) from .const import DEFAULT_MAX_TOKENS, CONF_MAX_TOKENS @@ -249,6 +257,26 @@ class GroqdOptionsFlow(OptionsFlow): ] ) ), + vol.Optional( + CONF_SEARXNG_ENABLED, + description={"suggested_value": options.get(CONF_SEARXNG_ENABLED, DEFAULT_SEARXNG_ENABLED)}, + default=options.get(CONF_SEARXNG_ENABLED, DEFAULT_SEARXNG_ENABLED), + ): bool, + vol.Optional( + CONF_SEARXNG_URL, + description={"suggested_value": options.get(CONF_SEARXNG_URL, DEFAULT_SEARXNG_URL)}, + default=options.get(CONF_SEARXNG_URL, DEFAULT_SEARXNG_URL), + ): cv.string, + vol.Optional( + CONF_SEARXNG_LANGUAGE, + description={"suggested_value": options.get(CONF_SEARXNG_LANGUAGE, DEFAULT_SEARXNG_LANGUAGE)}, + default=options.get(CONF_SEARXNG_LANGUAGE, DEFAULT_SEARXNG_LANGUAGE), + ): cv.string, + vol.Optional( + CONF_SEARXNG_SAFESEARCH, + description={"suggested_value": options.get(CONF_SEARXNG_SAFESEARCH, DEFAULT_SEARXNG_SAFESEARCH)}, + default=options.get(CONF_SEARXNG_SAFESEARCH, DEFAULT_SEARXNG_SAFESEARCH), + ): NumberSelector(NumberSelectorConfig(min=0, max=2, step=1)), vol.Optional( CONF_LLM_HASS_API, description={"suggested_value": options.get(CONF_LLM_HASS_API)}, diff --git a/custom_components/groqd/const.py b/custom_components/groqd/const.py index 1cbb949..b0f6514 100644 --- a/custom_components/groqd/const.py +++ b/custom_components/groqd/const.py @@ -23,6 +23,10 @@ CONF_TOOL_CHOICE = "tool_choice" CONF_PARALLEL_TOOL_CALLS = "parallel_tool_calls" CONF_RESPONSE_FORMAT = "response_format" CONF_MEMORY_SCOPE = "memory_scope" +CONF_SEARXNG_ENABLED = "searxng_enabled" +CONF_SEARXNG_URL = "searxng_url" +CONF_SEARXNG_SAFESEARCH = "searxng_safesearch" +CONF_SEARXNG_LANGUAGE = "searxng_language" DEFAULT_CHAT_MODEL = "meta-llama/llama-4-maverick-17b-128e-instruct" DEFAULT_CONTEXT_MESSAGES = 20 @@ -35,3 +39,7 @@ DEFAULT_TOOL_CHOICE = "auto" DEFAULT_PARALLEL_TOOL_CALLS = True DEFAULT_RESPONSE_FORMAT = "text" DEFAULT_MEMORY_SCOPE = "device" +DEFAULT_SEARXNG_ENABLED = True +DEFAULT_SEARXNG_URL = "http://127.0.0.1:8800" +DEFAULT_SEARXNG_SAFESEARCH = 1 +DEFAULT_SEARXNG_LANGUAGE = "en"