develop
Reviewed-on: #26
Scryglass
A private, early-Google-style search application. Queries Brave Search, fetches selected HTML results, and streams one OpenAI-compatible synthesis with validated numbered citations.
Development
Go 1.26.5 monolith. No frontend package manager — html/template + vanilla CSS/JS.
Commands
make build # CGO_ENABLED=0 stripped binaries → bin/scryglass, bin/scryglass-migrate
make check # gofmt + go vet + go test -race
make test # go test -race ./...
make test-integration # DB integration tests (requires TEST_DATABASE_URL)
make security # govulncheck + Trivy HIGH/CRITICAL filesystem scan
make clean # remove bin/
Configuration
Required environment variables:
| Variable | Description |
|---|---|
PG_DSN |
PostgreSQL connection string |
BRAVE_API_KEY |
Brave Search API key |
OPENAI_BASE_URL |
OpenAI-compatible endpoint (must include /v1) |
OPENAI_MODEL |
Model name for Chat Completions |
OPENAI_API_KEY |
API key (optional for trusted endpoints) |
Defaults: LISTEN_ADDR=:8080, RESULTS_DISPLAYED_DEFAULT=10, RESULTS_FETCHED_DEFAULT=5.
Server caps: 20 displayed, 10 fetched.
Description
Private Brave-powered search with streamed, cited LLM synthesis
777 KiB
0 Stars
1 Watchers
0 Forks
Languages
Go
88.9%
Shell
6.6%
HTML
4.1%
Makefile
0.2%
Dockerfile
0.2%