Extracto

July 10, 2026 · View on GitHub

A self-hosted web content extraction plugin for Hermes Agent.

Two-tier extraction strategy — no API key required:

  1. trafilatura (local, fast) — fetches HTML and extracts main text as markdown
  2. Jina Reader (r.jina.ai, free tier) — browser-rendered fallback for JS-heavy pages that trafilatura can't parse

Install

hermes plugins install <your-github>/extracto --enable

Or manually clone into your plugins directory:

git clone https://github.com/<your-github>/extracto.git ~/.hermes/plugins/web/extracto

Then enable in ~/.hermes/config.yaml:

plugins:
  enabled:
    - web/extracto

web:
  extract_backend: extracto

Requirements

  • trafilatura (pip install trafilatura)
  • httpx (pip install httpx)

Both are already dependencies of Hermes Agent in most installations.

How it works

URL -> httpx.get() -> trafilatura.extract() -> markdown content
                                    | (empty/too short)
                        r.jina.ai/{url} -> browser-rendered markdown
                                    | (also empty)
                        error: no extractable content
  • Stateless — no cache, no database. Every call fetches fresh content.
  • No API key — trafilatura runs locally; Jina Reader free tier needs no auth.
  • Rate limit — Jina free tier is ~20 RPM. trafilatura path has no limit (it's local).

License

MIT