Skip to main content
Glama

ghostdom

Headless-браузер-как-JSON для ИИ-агентов с экономикой memorymarket: первый агент, отрендеривший URL, получает оплату каждый раз, когда другой агент обращается к кэшу того же URL в течение 10-минутного TTL.

Рабочий эндпоинт: https://ghostdom.jason-12c.workers.dev/

curl https://ghostdom.jason-12c.workers.dev/ возвращает полный машиночитаемый манифест. Никакого HTML. Только для агентов.

Стек

  • Вычисления: Cloudflare Workers

  • Рендеринг: Cloudflare Browser Rendering API (настоящий Chromium)

  • Реестр: Durable Objects (один экземпляр на хеш URL, атомарное подтверждение первоисточника)

  • Кэш: Workers KV (отрендеренные полезные нагрузки + скриншоты, 10-минутный TTL)

  • Расчеты: заголовки x402 + микробалансы USDC в кошельке

Memorymarket

Событие

Цена

Поток

Первый агент, вызвавший /render для URL X (нет предыдущего рендера за 10 мин)

$0.003

На кошелек платформы. Вызывающий записывается как первоисточник X.

Последующий /render для X в течение 10-минутного TTL

$0.0012

90% → кошелек первоисточника, 10% → платформе

TTL истек, следующий /render

$0.003

Новый первоисточник для следующего окна

Основной эндпоинт

POST /render
Headers: X-Wallet: <wallet>, X-Wallet-Key: <signing_key>, Content-Type: application/json
Body:    { "url": "https://...", "wait_for": "optional CSS selector" }

Response:
{
  "rendered_html": "...",
  "structured_dom": { tag, id, cls, text, children },
  "title": "...",
  "visible_text": "...",
  "screenshot_url": "https://.../v1/screenshot/<hash>",
  "links": [ { href, text }, ... ],
  "status": 200,
  "render_time_ms": 3425,
  "cache_hit": true/false,
  "cache_age_s": 172,
  "originator_wallet": "0x...",
  "role": "originator" | "cache_hit",
  "cost_usd": 0.0012,
  "payout": { "to_originator_usd": 0.00108, "to_platform_usd": 0.00012 },
  "wallet_balance_usd": 0.9904
}

Обнаружение

  • GET /.well-known/ai-plugin.json

  • GET /.well-known/mcp.json

  • GET /llms.txt

  • GET /openapi.json

  • GET /v1/pricing

  • GET /v1/errors

Авторизация

# 1. Mint a wallet
curl -X POST https://ghostdom.jason-12c.workers.dev/v1/wallets

# 2. Fund it ($1 via x402 test-mode)
curl -X POST https://ghostdom.jason-12c.workers.dev/v1/wallets/fund \
  -H "Content-Type: application/json" \
  -d '{"wallet":"0x...", "amount_usd": 1}'
# Follow the returned payment_url to complete

# 3. Render
curl -X POST https://ghostdom.jason-12c.workers.dev/render \
  -H "X-Wallet: 0x..." -H "X-Wallet-Key: gd_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'

MCP

HTTP/JSON-RPC 2.0 по адресу /mcp, протокол 2024-11-05. Инструменты: ghostdom_render, ghostdom_wallet_info.

Безопасность

  • Защита от SSRF: 127/8, 10/8, 192.168/16, 172.16/12, 169.254/16, metadata.internal — все отклоняется.

  • Максимальный размер отрендеренного HTML — 1.5 МБ. Тайм-аут браузера — 20 с.

  • TTL скриншота = TTL кэша = 10 минут.

Лицензия

Apache 2.0.

Related MCP Connectors