Skip to content

Releases: yail259/frankensurf

v0.43.0

Choose a tag to compare

@yail259 yail259 released this 13 Oct 13:42
4a9389a

FrankenSurf where your agents already live, and site knowledge shared as data.

  • Agent frameworks: frankensurf.agent_tools adds frankensurf_read and frankensurf_search as tools for LangChain (sync and async), the OpenAI Agents SDK and CrewAI. Install them with pip install "frankensurf[langchain]", [openai-agents] or [crewai]. See https://frankensurf.dev/docs/frameworks/.
  • Claude Code plugin: the MCP server plus the skill that teaches Claude to use it. Install with /plugin marketplace add yail259/frankensurf, then /plugin install frankensurf@frankensurf.
  • Official MCP registry entry: server.json, published as io.github.yail259/frankensurf.
  • Shared site knowledge: frankensurf share sync starts from which tool reads which site, as the community learned it. share export writes your own findings to a file you review and contribute; it includes public reads only, with paths cut short, and sends nothing anywhere. Community recipes only suggest which tool to try first; they never switch on paid tools or logins. See https://frankensurf.dev/docs/more/share/.
  • Weekly benchmark: every Monday the same 150 sites are read by each tool and by FrankenSurf, published at https://frankensurf.dev/docs/more/weekly/.

v0.42.0

Choose a tag to compare

@yail259 yail259 released this 13 Oct 13:07
0d0b859

Structured fields, and better free search.

  • read(url, schema=...) (CLI --schema FILE, MCP schema) fills a JSON Schema from what the page publishes for machines: JSON-LD, microdata, Open Graph and other meta tags, and the page's own JSON. Values are matched by name and schema.org synonyms, converted to the property's type, and validated. No model is involved. A page missing a required field counts as incomplete, so the read climbs to a stronger tool. See https://frankensurf.dev/docs/read/structured/.
  • Search, judged blind on a fresh set of 120 queries with free sources: v0.41's search scored 3.42 useful results out of 5, against 2.71 for v0.40. It was better on 41 queries and worse on 12 (p = 0.0001). See benchmarks/2026-10-14-search-v041/.
  • New README.

v0.41.0

Choose a tag to compare

@yail259 yail259 released this 13 Oct 01:03
641fae6

One command for every free tool, and more search sources.

  • frankensurf install installs Chromium, the stealth browsers (Camoufox, Scrapling and Patchright), a local search engine and Crawl4AI, the way playwright install does. --with-deps adds the browsers' system libraries on Linux, --list shows what's installed, and frankensurf uninstall removes it. Crawl4AI is Linux and WSL only for now.
  • Local search no longer needs Docker. SearXNG installs at a pinned commit, is checked against its SHA-256 checksum and runs in its own environment, and search restarts it after a reboot. Its settings now spread searches over more engines and rest an engine that refuses for 15 minutes; the docs explain what to expect at volume.
  • Long monitoring queries with quoted names and OR-lists are now parsed. They are judged by the name they're about and routed to news when they mention company events. If the answer is weak, the search retries once with just the name (receipt.query_simplified). On 12 companies, using free sources only, 12 were found, up from 7.
  • New search sources:
    • Google News, free.
    • Serper, SerpAPI and Google Programmable Search, keyed. These were tested against their documented APIs with mocks only.
  • Under a cost cap, Firecrawl now prices PDFs per page. That covers PDF URLs that don't end in .pdf, plus a free HEAD request to check pages nothing has fetched yet.
  • Pages that open with navigation but have no article after it are now graded poor.
  • The macOS stealth browsers pass on Apple silicon (Python 3.12, 3.13 and 3.14), Sonoma and Intel.

v0.40.0

v0.40.0 Pre-release
Pre-release

Choose a tag to compare

@yail259 yail259 released this 12 Oct 20:09
079ce19

Search, rebuilt and judged blind. Blind set 7 (120 queries, every result graded by reviewers who never saw which tool found it): with paid allowed, 4.67 useful results of 5 against Exa Only 4.66 (level); free with the local search engine 3.83. Blind set 6 (the 69 queries Firecrawl answered): free 3.78 against Firecrawl Search Only 2.91 (better on 35 queries, worse on 5). frankensurf setup now offers to start the local search engine (SearXNG in Docker). Details: benchmarks/2026-10-13-search/.

v0.39.0

v0.39.0 Pre-release
Pre-release

Choose a tag to compare

@yail259 yail259 released this 12 Oct 06:34
725dd70

Search: acronyms and corporate names match their aliases (AWS / Amazon Web Services, Arm Holdings / Arm, mistral.ai); windowed searches answer only with verified-fresh results and return the rest as unverified_results (search_hold_undated); URL dates with month names and compact stamps; arXiv sorts by relevance within the date window. Cost: an over-cap paid page is kept and flagged in receipt.budget instead of discarded (strict_cost_cap restores the old behaviour); PDF truncation is reported on free and paid paths. macOS: quarantine cleared on installed browser bundles, longer first launch, pinned SHA-256 on the Camoufox fallback download, nodriver reported as optional. Blind set 3 results and caveats: benchmarks/2026-10-12-search/README.md.

v0.38.0

v0.38.0 Pre-release
Pre-release

Choose a tag to compare

@yail259 yail259 released this 12 Oct 05:00
ea6796e

Search: windowed searches verify undated results by reading their published date and recognise newsroom/changelog index pages (blind set of 30 new queries: precision 56.7% to 92.0%, announcements 93% vs Exa Only 92%); checks no longer accept homepages or wrong-company results, so the ladder climbs (to paid sources when allowed); specialist verticals fall back to the web engines. Reads: Firecrawl PDF reads are priced per page and capped to the remaining budget; navigation-led markdown (Jina etc.) grades poor so the router climbs. Install: setup asks before installing the agent skill (--install-skill / --no-install-skill, frankensurf skill uninstall); Camoufox on macOS no longer reports installed when its fetch was rate-limited, with a direct-download fallback.

v0.37.0

v0.37.0 Pre-release
Pre-release

Choose a tag to compare

@yail259 yail259 released this 12 Oct 02:30
3245947

First-class search. Every search result is checked (in the date window, on query, an item not a homepage or challenge); the router climbs when results fail and merges what passed, races slow sources, and uses paid search (Exa, new Firecrawl search) only when allowed, cheapest first. New free site_watch source reads a site's feeds and sitemaps. Fixes: Exa search failed whenever --paid was on; arXiv ignored the topic; long exclude lists returned nothing. On 75 held-out queries, free search finds a right result in the top 5 for 96.0% (v0.36.1: 61.3%, p<0.0001; Exa Only 100%, a tie at p=0.25). Details: benchmarks/2026-10-12-search/.

v0.36.1

v0.36.1 Pre-release
Pre-release

Choose a tag to compare

@yail259 yail259 released this 11 Oct 13:23
895134c

Docs only: the free tools read as many sites as the best paid tool on its own (a tie within the noise of 150 sites), corrected from 'more than'. Paid fallbacks: 96.0% against Firecrawl Only 84.7% and Zyte Only 86.0% on 150 sites never read before.

v0.36.0

v0.36.0 Pre-release
Pre-release

Choose a tag to compare

@yail259 yail259 released this 11 Oct 12:32
170e75c

Held-out set 7, 150 sites read once, every tool alone: FrankenSurf 96.0% with paid fallbacks, 88.0% free (more than any paid tool alone), Zyte Only 86.0%, Firecrawl Only 84.7%. A search page that ignores its query now tries the site's own search (receipt.rescued); query words are read from more URL shapes; frankensurf plugins lists disabled plugins.

v0.35.0

v0.35.0 Pre-release
Pre-release

Choose a tag to compare

@yail259 yail259 released this 11 Oct 05:32
4bb6842

Works on fresh Ubuntu 24.04 and macOS: Scrapling no longer aborts where the kernel forbids Chrome's sandbox, Camoufox finds its files in the macOS app bundle, and frankensurf setup checks every browser starts and reads a page (works_here). A nested structured-data image no longer crashes a read. Held-out set 7, read once: 96.0% with paid fallbacks, Firecrawl Only 84.7%.