aboutsummaryrefslogtreecommitdiffstats
path: root/tools/search_searxng.sh
blob: e171f58ec0b25ec70fb0f5bbdc9754e4be8d81c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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}]' \
        >> "$LLM_OUTPUT"

}

eval "$(argc --argc-eval "$0" "$@")"