From 58d2ee0494c3b80ca1dc6ed46a42b32d2aa9a85c Mon Sep 17 00:00:00 2001 From: sigoden Date: Sat, 6 Jul 2024 08:36:48 +0800 Subject: feat: add more search tools (#62) --- tools/search_google.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100755 tools/search_google.sh (limited to 'tools/search_google.sh') diff --git a/tools/search_google.sh b/tools/search_google.sh new file mode 100755 index 0000000..5d3e1f0 --- /dev/null +++ b/tools/search_google.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -e + +# @describe Perform a web search using Google Search 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 GOOGLE_API_KEY! The api key +# @env GOOGLE_CSE_ID! The id of google search engine +# @env GOOGLE_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="https://www.googleapis.com/customsearch/v1?key=$GOOGLE_API_KEY&cx=$GOOGLE_CSE_ID&q=$encoded_query" + curl -fsSL "$url" | \ + jq '[.items[:'"$GOOGLE_MAX_RESULTS"'] | .[] | {title: .title, link: .link, snippet: .snippet}]' +} + +eval "$(argc --argc-eval "$0" "$@")" + -- cgit v1.2.3