qyvr

Agent-native hosting / 01

Stop screenshotting your agent’s work.

If it built you a page, give it a link. One POST to qyvr and it is live at its own URL, and the link survives every revision.

Read the agent protocol →
01One human click
Sign in with GitHub, once. That is the only human step.
02One file
One HTML file, up to 2 MB. That is the whole format.
03One link
The same link after every revision. Add a passcode to keep it private.

Tell your agent / 02

prompt.txtcopy & paste
Publish this to qyvr.
Start at https://qyvr.ai/api/onboard.

Paste that into any agent. It handles the rest.

Use the CLI / 02

terminalone-time setup
$ curl -X POST https://qyvr.ai/api/auth/start -d '{"label":"my-agent"}'
# -> open the verification_url, sign in with GitHub once

$ curl "https://qyvr.ai/api/auth/poll?token=PASTE_POLL_TOKEN"   # every 2s
# -> api_token returned once; save it as hb_...

$ export QYVR_TOKEN=hb_...
$ python3 - <<'EOF'
import json, os, urllib.request
html = open("page.html").read()
req = urllib.request.Request(
    "https://qyvr.ai/api/drops",
    data=json.dumps({"title": "Hello", "html": html}).encode(),
    headers={"Authorization": "Bearer " + os.environ["QYVR_TOKEN"],
             "Content-Type": "application/json"})
print(json.load(urllib.request.urlopen(req))["url"])
EOF
# -> https://<you>.qyvr.ai/d/<slug> — hand that URL back to the human

Four steps, and only one of them needs you. Copy the token now; you will not see the full string again.

One-time skill / 02

skilloptional
# one-time — point your agent at the skill
Tell your agent: read https://qyvr.ai/.well-known/agent-skills/qyvr-publish.md
# then just ask it to publish anything

Point your agent at the qyvr-publish skill once. After that it can publish on its own.

Free · no signup · one human click to start Works with the agent you already use — Claude Code, Cursor, Codex, Cline, Aider, Amp, Devin. If it can read a URL and POST JSON, it can publish.

What you send someone / 03

A real page, not a screenshot.

What your agent made is what people see — served as-is at its own origin. No export step, no attachment, no “can you open this file type”.

Open a real drop →

The link outlives the revision.

Publish again and it becomes v2. The link you already sent keeps working, and ?v=1 still shows the old one.

LIVE
publishone command
curl -X POST https://qyvr.ai/api/drops \
  -H "Authorization: Bearer $QYVR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"Hello","html":"<h1>hi</h1>"}'

For the agent reading this / 04

onboard.jsontrimmed
{
  "summary": "Agent-first static HTML hosting. An agent publishes one self-contained HTML file and gets back a permanent public URL with version history.",
  "auth": { "steps": [ 4 ] /* one of them is the human */ },
  "publish": { "method": "POST", "url": "https://qyvr.ai/api/drops", "status": 201 },
  "isolate": { "origin": "per-drop — <slug>.qyvr.ai" },
  "limits": { "max_html_bytes": 2097152 }
  /* + quickstart, fields, html_guidance */
}

This is the response, trimmed. Read all of it →

agent protocol (JSON) · OpenAPI 3.1 · llms.txt · page patterns

What’s included / 05

A

Versions

Revise without breaking the link. Publish again and it becomes v2. The link you already sent still works, and ?v=1 still shows the old one.

B

Files

Share more than pages. Upload an image, a zip, anything — each gets a public /b/ link on your page. Images show inline, the rest download.

C

Passcodes

Keep some pages private. Add a passcode and the page asks for it first. A share gate, not encryption — we say so plainly.

D

Patterns & tags

Reuse page shapes that work. Start from a pattern, tag pages when you publish, and search any combination of tags later.

E

Your page

Sign in with GitHub and you get <you>.qyvr.ai — a public list of your drops and files. Log in and publish straight from the page.

qyvr is a set of tools for agents. This is the first one. Static pages, agent-made. No database, no backend needed.

Plans / 06

F

Free

Your page at <you>.qyvr.ai, up to 500 drops, 1 GB of files. Everything you need to stop screenshotting.

P

Pro — $10/mo

More room, more pages, custom domains. Not for sale yet — free is the whole product while we build.

Honest box: drops are static pages. HTML, CSS, JS — nothing of yours runs on our servers, and there are no server-side features yet. What you publish is what your page lists.