From 9fd455311f6899171ce967b1e14625dcdce1faf9 Mon Sep 17 00:00:00 2001 From: JessieJanie Date: Sat, 20 Jun 2026 01:59:43 -0700 Subject: [PATCH 1/3] Add Skim integration page --- integrations/skim.md | 116 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 integrations/skim.md diff --git a/integrations/skim.md b/integrations/skim.md new file mode 100644 index 00000000..ae24e112 --- /dev/null +++ b/integrations/skim.md @@ -0,0 +1,116 @@ +--- +layout: integration +name: Skim +description: Turn any URL into clean, LLM-ready Markdown — paid per call over x402, no API key or signup +authors: + - name: Skim + socials: + github: JessieJanie + twitter: skim402 +pypi: https://pypi.org/project/skim-haystack +repo: https://github.com/JessieJanie/skim402 +type: Data Ingestion +report_issue: https://github.com/JessieJanie/skim402/issues +logo: /logos/skim.png +version: Haystack 2.0 +toc: true +--- + +### Table of Contents + +- [Overview](#overview) +- [Installation](#installation) +- [Usage](#usage) + - [Basic Example](#basic-example) + - [In a Pipeline](#in-a-pipeline) + - [Parameters](#parameters) +- [License](#license) + +## Overview + +[Skim](https://skim402.com) is the canonical [x402](https://x402.org) clean reader API for AI agents. Give it a URL and it returns the page as clean, agent-ready Markdown plus structured metadata — no ads, no nav, no boilerplate. + +This integration provides one component: + +- `SkimReader`: Fetches one or more URLs and returns the extracted content as Haystack `Document` objects (cleaned Markdown in `content`, page metadata in `meta`). + +Skim requires no signup and no API key. Each call costs $0.002 in USDC on Base, paid automatically by a wallet you control over the HTTP 402 payment protocol. The private key never leaves your machine — it only signs an EIP-3009 USDC authorization locally. Fund a dedicated Base wallet with a little USDC and set its private key in the `SKIM_WALLET_PRIVATE_KEY` environment variable. Step-by-step wallet setup (written for non-crypto-native developers): [skim402.com/wallet](https://skim402.com/wallet). + +## Installation + +```bash +pip install skim-haystack +``` + +This pulls in the x402 client with EVM support, so there is nothing else to install. + +## Usage + +### Basic Example + +```python +import os +from skim_haystack import SkimReader + +os.environ["SKIM_WALLET_PRIVATE_KEY"] = "0x..." # a dedicated Base wallet, funded with USDC + +reader = SkimReader() # reads SKIM_WALLET_PRIVATE_KEY from the environment + +result = reader.run(urls="https://en.wikipedia.org/wiki/HTTP_402") +print(result["documents"][0].content) +``` + +You can also pass the key explicitly with a Haystack `Secret`: + +```python +from haystack.utils import Secret +from skim_haystack import SkimReader + +reader = SkimReader( + private_key=Secret.from_token("0x..."), + max_price_usd=0.005, + include_metadata=True, +) +``` + +### In a Pipeline + +`SkimReader` is a standard Haystack component, so it drops straight into a `Pipeline`. Here it fetches a page and feeds the cleaned Markdown into a prompt: + +```python +from haystack import Pipeline +from haystack.components.builders import PromptBuilder +from haystack.components.generators import OpenAIGenerator +from skim_haystack import SkimReader + +pipe = Pipeline() +pipe.add_component("reader", SkimReader()) +pipe.add_component("prompt", PromptBuilder( + template="Summarize this article in 5 bullets:\n\n{{ documents[0].content }}" +)) +pipe.add_component("llm", OpenAIGenerator(model="gpt-4o-mini")) + +pipe.connect("reader.documents", "prompt.documents") +pipe.connect("prompt.prompt", "llm.prompt") + +result = pipe.run({"reader": {"urls": "https://en.wikipedia.org/wiki/HTTP_402"}}) +print(result["llm"]["replies"][0]) +``` + +The wallet pays per read, and your pipeline gets clean Markdown instead of raw HTML. + +### Parameters + +`SkimReader` takes the following parameters (all optional except the wallet key): + +- **`private_key`**: A Haystack `Secret` holding the Base wallet's hex private key. Defaults to `Secret.from_env_var("SKIM_WALLET_PRIVATE_KEY")`. Pass `Secret.from_token("0x...")` for an explicit key. Use a dedicated wallet, never your personal one. +- **`base_url`**: Skim API base URL. Defaults to `https://skim402.com`. +- **`max_price_usd`**: Hard per-call price cap in USD. The wallet refuses to sign for anything above this. Defaults to `0.01` (Skim is `$0.002`). +- **`include_metadata`**: When `True` (default), populate each `Document`'s `meta` with page metadata (title, byline, published date, language, excerpt). +- **`timeout`**: Per-request timeout in seconds. Defaults to `60`. + +The component output is `{"documents": [...]}` — one `Document` per URL, with cleaned Markdown in `content` and metadata in `meta` (always including `source`, the URL). It also supports pipeline serialization (`to_dict`/`from_dict`); when the key comes from an environment variable, it is stored as a reference to that variable name, never the raw value. + +## License + +`skim-haystack` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license. From fce93c904593100b198a29579a89ba594acd32d4 Mon Sep 17 00:00:00 2001 From: JessieJanie Date: Sat, 20 Jun 2026 01:59:44 -0700 Subject: [PATCH 2/3] Add Skim logo --- logos/skim.png | Bin 0 -> 55483 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 logos/skim.png diff --git a/logos/skim.png b/logos/skim.png new file mode 100644 index 0000000000000000000000000000000000000000..4e2580daf5ec9266d8fac4c50a8160664979a8f7 GIT binary patch literal 55483 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 Date: Sat, 20 Jun 2026 02:03:01 -0700 Subject: [PATCH 3/3] Match SkimReader defaults exactly (strict=False) + note OpenAI generator setup --- integrations/skim.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integrations/skim.md b/integrations/skim.md index ae24e112..10d25e3e 100644 --- a/integrations/skim.md +++ b/integrations/skim.md @@ -97,13 +97,13 @@ result = pipe.run({"reader": {"urls": "https://en.wikipedia.org/wiki/HTTP_402"}} print(result["llm"]["replies"][0]) ``` -The wallet pays per read, and your pipeline gets clean Markdown instead of raw HTML. +The `OpenAIGenerator` step needs an `OPENAI_API_KEY` set (or swap in any other Haystack generator). The wallet pays per read, and your pipeline gets clean Markdown instead of raw HTML. ### Parameters `SkimReader` takes the following parameters (all optional except the wallet key): -- **`private_key`**: A Haystack `Secret` holding the Base wallet's hex private key. Defaults to `Secret.from_env_var("SKIM_WALLET_PRIVATE_KEY")`. Pass `Secret.from_token("0x...")` for an explicit key. Use a dedicated wallet, never your personal one. +- **`private_key`**: A Haystack `Secret` holding the Base wallet's hex private key. Defaults to `Secret.from_env_var("SKIM_WALLET_PRIVATE_KEY", strict=False)`. Pass `Secret.from_token("0x...")` for an explicit key. Use a dedicated wallet, never your personal one. - **`base_url`**: Skim API base URL. Defaults to `https://skim402.com`. - **`max_price_usd`**: Hard per-call price cap in USD. The wallet refuses to sign for anything above this. Defaults to `0.01` (Skim is `$0.002`). - **`include_metadata`**: When `True` (default), populate each `Document`'s `meta` with page metadata (title, byline, published date, language, excerpt).