aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_searxng.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/search_searxng.sh')
-rwxr-xr-xtools/search_searxng.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/search_searxng.sh b/tools/search_searxng.sh
new file mode 100755
index 0000000..34345ca
--- /dev/null
+++ b/tools/search_searxng.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+set -e
+
+# @describe Perform a web search using SearXNG API to get up-to-date information or additional context.
+# Use this when you need current information or feel a search could provide a better answer.
+
+# @env SEARXNG_API_BASE! The api url
+# @env SEARXNG_MAX_RESULTS=5 The max results to return.
+# @option --query! The query to search for.
+
+main() {
+ encoded_query="$(jq -nr --arg q "$argc_query" '$q|@uri')"
+ url="$SEARXNG_API_BASE/search?q=$encoded_query&categories=general&language=en-US&format=json"
+ curl -fsSL "$url" | \
+ jq '[.results[:'"$SEARXNG_MAX_RESULTS"'] | .[] | {url: .url, title: .title, content: .content}]'
+
+}
+
+eval "$(argc --argc-eval "$0" "$@")"
+