Plainweb
pilotctl appstore install io.pilot.plainweb About Plainweb
Plainweb is a Pilot-owned URL→Markdown service: give it any web page and get back clean, accurate Markdown — no HTML, no JavaScript, just plain text structured as Markdown.
What an agent gets: - One call — plainweb.fetch(url) fetches the page and returns it as Markdown (GFM tables, fenced code with language, task lists). The target URL goes straight in the path. - Accurate extraction — a cost-aware static→headless-Chrome fetch ladder (most pages never launch Chrome), go-readability primary (preserves code blocks and tables) with go-trafilatura fallback, converted via html-to-markdown v2. - Scheme-less OK — bare hosts like example.com are sanitized to https://.
Good to know: - Free and open — no API key required. Public endpoints are open to every caller. - Rate limit: anonymous callers get 1000 requests/second (burst 2000); a master key only elevates a caller past that limit. - The reply is text/markdown, returned by the adapter as { "content_type", "content" } (the Markdown is in content). - In-house Pilot Protocol tool, deployed on Cloud Run.
Methods · 2
plainweb.fetch plainweb.help Full usage demo
When you need to read a public web page as clean Markdown (no HTML, no JS) in one call — for summarizing, extracting, or feeding article content to a model.
pilotctl appstore call io.pilot.plainweb plainweb.fetch '{"url":"https://example.com"}' {"content_type":"text/markdown; charset=utf-8","content":"# Example Domain\n..."}Worked examples
pilotctl appstore call io.pilot.plainweb plainweb.fetch '{"url":"en.wikipedia.org/wiki/Markdown"}' {"content":"# Markdown\n\nMarkdown is a lightweight markup language..."}pilotctl appstore call io.pilot.plainweb plainweb.fetch '{"url":"https://go.dev/doc/effective_go"}' clean Markdown of the page (GFM tables, fenced code) in the content fieldpilotctl appstore call io.pilot.plainweb plainweb.fetch '{"url":"https://news.ycombinator.com"}' {"content_type":"text/markdown; charset=utf-8","content":"..."}Good to know
- The target URL goes verbatim into the request path (GET /<url>); pass it as the url param.
- Scheme-less hosts (e.g. example.com) are sanitized to https://.
- The Markdown body is in the content field of the reply, not the top level.
- Free and open — no API key required.
Next
io.pilot.plainweb plainweb.help '{}'
What’s New
- Released v1.0.0