A portable “search + fetch + render + extract” toolkit intended for coding/research agents (Codex CLI, Claude Code, Droid/Factory, etc.).
- Spec:
docs/spec.md - Research notes:
docs/research.md - Agent wrapper (Codex/Cursor):
SKILL.md - Claude Code wrapper notes:
docs/claude-code.md - References:
references/providers.md,references/troubleshooting.md
0.1.0 is a Python reference implementation with a stable-ish CLI contract:
wstk providerswstk searchwstk pipeline(search → extract helper)wstk fetchwstk renderwstk extract(HTTP or browser)wstk eval(search + fetch/extract metrics: hit@k, MRR, blocked rate, extraction heuristics)
- Install deps:
uv sync - Run:
uv run wstk --help - Render support:
uv pip install playwrightandplaywright install chromium
Search:
uv run wstk search "openai codex cli" --plain | head -n 5uv run wstk search "openai codex cli" --site openai.com --plainuv run wstk search "openai codex cli" --json | jq '.data.results[0].url'
Pipeline:
uv run wstk pipeline "openai codex cli" --jsonuv run wstk pipeline "openai codex cli" --plan --plain
Fetch + extract:
uv run wstk fetch https://example.com/ --jsonuv run wstk extract https://example.com/ --plain --text
Render:
uv run wstk render https://example.com/ --jsonuv run wstk extract --method browser https://example.com/ --plain --text
Eval:
uv run wstk eval --suite suites/search-basic.jsonl --provider ddgs --plainuv run wstk eval --suite suites/search-basic.jsonl --provider brave_api --fail-on miss --json
- Keyless default:
ddgs(best-effort; can be flaky). - Optional:
brave_api(setBRAVE_API_KEY).
- Prefer
--allow-domain(and--policy strict) when fetching/extracting to reduce accidental data exfiltration. - Remote providers (e.g. search APIs) send your query to a third-party service by design.
MIT (see LICENSE).
See CONTRIBUTING.md.