Repository navigation
Releases: yail259/frankensurf
Release list
v0.43.0
FrankenSurf where your agents already live, and site knowledge shared as data.
- Agent frameworks:
frankensurf.agent_toolsaddsfrankensurf_readandfrankensurf_searchas tools for LangChain (sync and async), the OpenAI Agents SDK and CrewAI. Install them withpip 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 asio.github.yail259/frankensurf. - Shared site knowledge:
frankensurf share syncstarts from which tool reads which site, as the community learned it.share exportwrites 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
Structured fields, and better free search.
read(url, schema=...)(CLI--schema FILE, MCPschema) 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
One command for every free tool, and more search sources.
frankensurf installinstalls Chromium, the stealth browsers (Camoufox, Scrapling and Patchright), a local search engine and Crawl4AI, the wayplaywright installdoes.--with-depsadds the browsers' system libraries on Linux,--listshows what's installed, andfrankensurf uninstallremoves 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
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
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
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
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
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
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
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%.