Skip to main content

An AI-native SEO copilot for solo operators and small agencies — the AI layer over your existing SEO stack.

Project description

kvseo

The AI layer over your existing SEO stack.

Python 3.12+ License: MIT Built in public

kvseo is an AI-native SEO copilot for solo operators and small agencies. It doesn't replace your data tools — it sits on top of them. Point it at a URL and it runs an on-page audit, folds in Core Web Vitals and Search Console context, and produces a prioritized, reasoned action list plus a client-ready report.

The data layer is a commodity. What kvseo adds is the layer the others skip: synthesis, AI-assisted prioritization, and agency-shaped reporting — as a fast, local, single-command CLI.

Status: v0.1 feature-complete. The full pipeline (audit → advise → report) runs end-to-end and is code-reviewed, type-checked, and tested throughout. Not yet on PyPI — install from source today (see Install); the tagged release is imminent.


Quickstart

Once installed (see Install):

$ kvseo init                        # create config + a local SQLite database
$ kvseo audit https://example.com   # on-page audit + Core Web Vitals → HTML report

That loop needs no API keys and no accounts. audit writes a self-contained HTML report to the current directory and prints the findings to your terminal. Add data sources and an LLM to go deeper:

$ kvseo connect psi --api-key <key>                          # PageSpeed Insights (free; raises CWV limits)
$ kvseo connect csv export.csv --site https://example.com/   # import a GSC CSV export — no OAuth
$ kvseo connect gsc                                          # …or connect Search Console via OAuth
$ export ANTHROPIC_API_KEY=                                 # bring your own LLM key (any LiteLLM provider)
$ kvseo audit https://example.com                            # now with GSC context + an AI action list
$ kvseo cost                                                 # what the advisor spent, by provider / model

What it does

  • On-page audit — 19 checks across title, meta, headings, content, schema, images, and internal links, rolled into a single 0–100 score.
  • Core Web Vitals — CrUX field data + Lighthouse lab metrics via the free PageSpeed Insights API (works keyless at lower rate limits).
  • Search Console context — real query / click / impression / position data per URL, via OAuth or a plain CSV export (the no-API escape hatch).
  • AI advisor — a prioritized "what to do next" list where every recommendation is traceable to a specific finding. Bring your own LLM key (Anthropic, OpenAI, Gemini, or a local Ollama — anything LiteLLM speaks to). kvseo never proxies your key or marks up tokens, and kvseo cost shows exactly what each run spent.
  • Reports — a self-contained, single-file HTML report (inline CSS, embedded data, zero external requests, print-to-PDF friendly) plus clean Markdown. PDF/DOCX land in v0.2.

Everything degrades gracefully: the audit and HTML report work with no LLM key at all — the advisor is an optional layer you unlock by adding a provider key. No PSI key → the Core Web Vitals checks skip; no Search Console → the audit still scores the page.

Principles

  • BYO-key. kvseo never ships, proxies, or marks up an LLM key.
  • Local-first. Everything lives in one SQLite file on your machine — no account, no cloud.
  • Read-only. kvseo pulls from APIs you authorize; it never writes upstream.
  • No telemetry. No phone-home, no usage metrics — not unless you opt in.
  • Reproducible. Every audit and advisor run is stored and re-runnable; the advisor works from stored data, so you can re-prioritize without re-fetching.

Install

Requires Python 3.12+.

# from PyPI (once published):
pipx install kvseo

# from source (works today):
git clone https://github.com/kVadrum/kvseo && cd kvseo
python3.12 -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
kvseo --version

Config lives in ~/.config/kvseo/ and data in ~/.local/share/kvseo/ (XDG; %APPDATA% / %LOCALAPPDATA% on Windows). Override either with the KVSEO_CONFIG_DIR / KVSEO_DATA_DIR environment variables.

License

MIT — free to use, modify, and distribute. KeMeK Network © 2026.

Trademarks

The "kvseo" and "kVadrum" names are trademarks of KeMeK Network. They are not covered by the MIT license, and no rights to use the names are granted by this repository. Independent forks must replace the brand name with their own.

A kVadrum Lab project, built in public.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kvseo-0.6.6.tar.gz (77.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kvseo-0.6.6-py3-none-any.whl (79.2 kB view details)

Uploaded Python 3

File details

Details for the file kvseo-0.6.6.tar.gz.

File metadata

  • Download URL: kvseo-0.6.6.tar.gz
  • Upload date:
  • Size: 77.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for kvseo-0.6.6.tar.gz
Algorithm Hash digest
SHA256 5835ac6327199a776bc73d413be2a1bc2a21433321e82f639ca473c9cf8ca67c
MD5 8db3dff9b536a5512f073b5a7571e75d
BLAKE2b-256 7bc8aa097cb6ecc7c4c95dacae5fd16dfe0166524550020de5b1d2c9cbd1d5db

See more details on using hashes here.

Provenance

The following attestation bundles were made for kvseo-0.6.6.tar.gz:

Publisher: release.yml on kVadrum/kvseo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kvseo-0.6.6-py3-none-any.whl.

File metadata

  • Download URL: kvseo-0.6.6-py3-none-any.whl
  • Upload date:
  • Size: 79.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for kvseo-0.6.6-py3-none-any.whl
Algorithm Hash digest
SHA256 19a1ad1863fb25a8e922bb31f0603eed89af1935f08f3ee31b94bf90205ed5a1
MD5 fbd897465cc569e8fd84452872a7c323
BLAKE2b-256 3981483c678c6e452ffd01f5b50843c19bb45d53a934f9d3ab2af5eb433bed24

See more details on using hashes here.

Provenance

The following attestation bundles were made for kvseo-0.6.6-py3-none-any.whl:

Publisher: release.yml on kVadrum/kvseo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page