Skip to content

About

SIT - is a Go-based tui search tool that lets you query the web from your command line using multiple search backends.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

Repository files navigation

SIT - Search in terminal

App preview

Install

The quick way

By default sit goes into ~/.local/bin. If you run the installer as root it uses /usr/local/bin, and on Windows it uses %LOCALAPPDATA%\Programs\sit. Want it somewhere else? Pass -dir <path>. If that folder isn't on your PATH yet, the installer tells you how to add it.

On Linux, macOS or FreeBSD:

curl -fsSLo sit-install "https://github.com/Panonim/search-in-terminal/releases/latest/download/sit-install_$(uname -s | tr A-Z a-z)_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')"
chmod +x sit-install && ./sit-install && rm sit-install

On Windows, in PowerShell:

$arch = if ($env:PROCESSOR_ARCHITECTURE -eq 'ARM64') { 'arm64' } else { 'amd64' }
Invoke-WebRequest "https://github.com/Panonim/search-in-terminal/releases/latest/download/sit-install_windows_$arch.exe" -OutFile sit-install.exe
.\sit-install.exe; Remove-Item sit-install.exe

If you already have Go, you can skip the download and run the installer from source:

go run github.com/Panonim/search-in-terminal@latest

With go install

You'll need Go 1.26 or newer:

go install github.com/Panonim/search-in-terminal/cmd/sit@latest

Staying up to date

sit can update itself:

sit update --check   # see if there's a newer release, without changing anything
sit update           # download it, check it and swap in the new binary

It needs to be able to write to the folder sit lives in. If you installed it somewhere owned by root, run sudo sit update or just run the installer again.

Quick start

sit                          # open the UI
sit bubble tea tutorial      # open the UI with the query already running
sit search -n 5 "go generics"
sit search --json "ripgrep" | jq -r '.[].URL'
sit open "go module proxy"   # open the first hit in your browser
sit '!gh bubbletea'          # open a bang you added in the settings bangs card
sit backends                 # which backends are configured and ready
sit doctor                   # config, cache, graphics support and a live probe of each backend
sit search "5 km in mi"      # instant answers: calculator, units and your plugins

Shell completion

source <(sit completion bash)                          # in ~/.bashrc
source <(sit completion zsh)                           # in ~/.zshrc, after compinit
sit completion fish > ~/.config/fish/completions/sit.fish
Key bindings & commands

Key bindings

Defaults. Anything with a setting name can be rebound under [keys] in the config file.

Key Action Setting
/ focus the search input keys.focus
Enter search, or open the selected result keys.open
Tab / Shift+Tab cycle backend and re-run the query keys.next_backend, keys.prev_backend
j k / ↓ ↑ move the selection keys.down, keys.up
Ctrl+d / Ctrl+u page through results -
g / G jump to first / last result -
n / p next / previous result page keys.next_page, keys.prev_page
y copy the selected URL to the clipboard keys.copy
Ctrl+e / → accept the autocomplete suggestion (Degoog) -
r retry the current search -
, open the settings panel keys.settings
? toggle help keys.help
q / Ctrl+c quit keys.quit

Below the last result sits a load more results button: select it and press Enter, or click it, to append the next page. Results already on screen are skipped, so only new links are added. The next page is fetched in the background while you read, so it appears instantly (general.prefetch; never on the billed Brave and Kagi APIs).

Inside the settings panel:

Key Action
j k / ↑ ↓ move between settings
h l / ← → move to the neighbouring column
1–9 jump to a numbered section
Tab / Shift+Tab jump to the next / previous section
Space cycle a boolean or enum value
Enter edit a text value, or toggle a boolean/enum
Ctrl+s or w save to the config file
Ctrl+r restore defaults (not saved until you save)
Esc / , back to the results

Commands

Command What it does
sit open the search UI
sit <query…> open the UI with a query already running
sit search <query…> print results without the UI
sit open <query…> open the first result in your browser
sit suggest <query…> print autocomplete suggestions (Degoog instances)
sit backends list backends and whether they are ready
sit config <subcommand> inspect and change settings
sit plugin <subcommand> add, list, remove and test instant-answer plugins (docs)
sit completion <shell> print a bash, zsh or fish completion script
sit update [--check] update sit to the latest release
sit cache [info|clear] inspect or drop the favicon cache
sit doctor check config, network and terminal support
sit version print version, commit and build date
sit help usage summary

sit search flags:

Flag Meaning
-b, --backend <name> ddg, degoog, searxng, brave, kagi or fanout
-n, --limit <count> maximum results to print
-p, --page <number> result page
--json print JSON instead of text

sit config subcommands:

Command What it does
sit config show print the effective configuration
sit config path print the config file path
sit config init write a config file with the current settings
sit config edit open the config file in $EDITOR
sit config keys list every setting key
sit config get <key> print one setting
sit config set <key> <value> change one setting and save

Configuration

See docs/config.md for the config file, backend setup (Degoog, SearXNG, Brave, Kagi, DuckDuckGo, fanout), query syntax, bangs, themes and terminal graphics support, and docs/plugins.md for writing and installing plugins.

About

SIT - is a Go-based tui search tool that lets you query the web from your command line using multiple search backends.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages