INTEGRITY Dokumentace

Markdown for Agents

Co je Markdown for Agents

Markdown se rychle stal univerzálním jazykem agentů a systémů AI jako celku. Explicitní struktura formátu je díky tomu ideální pro zpracování pomocí AI, což vede k lepším výsledkům a zároveň minimalizuje plýtvání tokeny.

Síť Cloudflare podporuje konverzi obsahu v reálném čase přímo u zdroje, a to pro povolené zóny pomocí vyjednávání obsahu hlaviček. Když si systémy AI vyžádají stránky z libovolného webu, který používá Cloudflare a má povolený Markdown for Agents, mohou vyjádřit preferenci pro text/markdown v požadavku a naše síť za provozu automaticky a efektivně převede HTML do Markdownu, pokud je to možné.

Přečtěte si oznámení v našem blogu pro další informace.

Jak používat

Chcete-li načíst verzi Markdown libovolné stránky ze zóny s povoleným Markdown for Agents, musí klient přidat Accept vyjednávací hlavičku s text/markdown jako jednu z možností. Cloudflare to rozpozná, načte původní verzi HTML z originu a před odesláním klientovi ji převede do Markdownu.

Zde je příklad příkazu curl s Accept vyjednávací hlavičku požadující tuto stránku z naší vývojářské dokumentace:

curl https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/ \
  -H "Accept: text/markdown"

Nebo pokud budujete AI agenta pomocí Workers, můžete použít TypeScript:

const r = await fetch(
	`https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/`,
	{
		headers: {
			Accept: "text/markdown",
		},
	},
);
const tokenCount = r.headers.get("x-markdown-tokens");
const originalTokenCount = r.headers.get("x-original-tokens");
const markdown = await r.text();
const r = await fetch(
	`https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/`,
	{
		headers: {
			Accept: "text/markdown",
		},
	},
);
const tokenCount = r.headers.get("x-markdown-tokens");
const originalTokenCount = r.headers.get("x-original-tokens");
const markdown = await r.text();

Odpověď na tento požadavek je nyní formátována v markdownu:

HTTP/2 200
date: Wed, 11 Feb 2026 11:44:48 GMT
content-type: text/markdown; charset=utf-8
content-length: 2899
vary: accept
cache-control: public, max-age=3600
strict-transport-security: max-age=63072000; includeSubDomains
x-markdown-tokens: 725
x-original-tokens: 12345
content-signal: ai-train=yes, search=yes, ai-input=yes

---
title: Markdown for Agents · Cloudflare Agents docs
---

## What is Markdown for Agents

Markdown has quickly become the lingua franca for agents and AI systems
as a whole. The format’s explicit structure makes it ideal for AI processing,
ultimately resulting in better results while minimizing token waste.
...

Hlavičky odpovědi

Markdown for Agents zachovává hlavičky z odpovědi vašeho origin serveru i v převedené odpovědi, takže hlavičky důležité pro zabezpečení a ukládání do mezipaměti konverzí neztratíte. Patří mezi ně hlavičky jako Strict-Transport-Security (HSTS), Content-Security-Policy (CSP), X-Frame-Options, Set-Cookie, hlavičky CORS (například Access-Control-Allow-Origin), a hlavičky ukládání do mezipaměti (Cache-Control, Expires, Age).

Protože je tělo nahrazeno převedeným Markdownem, dochází k následujícím změnám:

Markdown for Agents také přidává níže popsané hlavičky s počtem tokenů.

Hlavičky s počtem tokenů

Mějte na paměti, že do převedené odpovědi zahrnujeme hlavičky s počtem tokenů. x-markdown-tokens udává odhadovaný počet tokenů v dokumentu Markdown a x-original-tokens udává odhadovaný počet tokenů v původním dokumentu HTML před převodem. Tyto hodnoty můžete využít ve svém workflow, například k výpočtu velikosti kontextového okna, odhadu úspory tokenů díky převodu do Markdownu nebo k rozhodnutí o strategii dělení dat na části.

Content Signals Policy

Content Signals je rámec, který každému umožňuje vyjádřit své preference ohledně toho, jak lze jeho obsah po zpřístupnění použít.

Pokud váš origin již nastavuje content-signal hlavičku, Markdown for Agents zachová tuto hodnotu v převedené odpovědi: rozhodující je zásada nastavená na vašem origin serveru. To vám umožňuje definovat vlastní zásady Content Signal nastavením content-signal hlavičku na vašem origin serveru.

Když odpověď origin serveru neobsahuje content-signal hlavičku, Markdown for Agents přidá výchozí Content-Signal: ai-train=yes, search=yes, ai-input=yes, což signalizuje, že obsah lze použít pro AI Training, Search results a AI Input, což zahrnuje i agentické použití.

Formát výstupu

Markdown for Agents vrací dokument Markdown s jednotnou a předvídatelnou strukturou, takže se na něj systémy AI mohou spolehnout bez nutnosti vlastní parsovací logiky pro každý web. Odpověď má vždy následující uspořádání:

  1. YAML frontmatter s metadaty extrahovanými ze stránky <meta> tagů. Generuje se pouze v případě, že je přítomen alespoň jeden podporovaný meta tag.
  2. Body Markdown převedený z těla dokumentu. Prvky, které nejsou obsahem (například záhlaví, zápatí, navigace, skripty a styly), se odstraňují během předzpracování. Úplný seznam odstraňovaných prvků najdete v Předzpracování HTML v dokumentaci Workers AI Markdown Conversion.
  3. JSON-LD strukturovaná data zachovaná jako ohraničený json blok kódu na konci dokumentu. Generuje se pouze v případě, že zdrojové HTML obsahuje JSON-LD.

YAML frontmatter

Když zdrojový kód HTML obsahuje podporované <meta> tagů Markdown for Agents připojí na začátek odpovědi blok YAML frontmatter. Tento blok používá následující pole:

Pole Zdroj <meta> tag
title <meta name="title">, se záložní hodnotou <meta property="og:title">
description <meta name="description">, se záložní hodnotou <meta property="og:description">
image <meta property="og:image">

Generují se pouze pole, která mají hodnotu. Pokud zdrojové HTML neobsahuje žádnou z podporovaných meta značek, blok frontmatter se úplně vynechá.

Pro title a description, standardní <meta name="..."> forma má vždy přednost před Open Graph <meta property="og:..."> forma, bez ohledu na pořadí, ve kterém se v HTML objevují. Hodnoty Open Graph se používají pouze jako záložní řešení, pokud standardní forma chybí.

Příklad výstupu:

---
title: My Page Title
description: A short summary of the page.
image: https://example.com/cover.png
---

# Page heading

...

JSON-LD

JSON-LD je formát strukturovaných dat, který vyhledávače a systémy AI používají k interpretaci sémantického obsahu stránky. Markdown for Agents zachovává veškeré <script type="application/ld+json"> ze zdrojového HTML tak, že je připojí na konec převedeného Markdownu do jediného ohraničeného bloku json blok kódu.

Pokud zdrojové HTML obsahuje více skriptů JSON-LD, všechny se spojí do stejného bloku kódu, každý na samostatném řádku.

JSON-LD je jediný <script> obsah zůstává ve výstupu zachován, veškerý ostatní <script> a <style> obsah se odstraňuje během Předzpracování HTML.

Příklad výstupu:

... main markdown content ...

```json
{
	"@context": "https://schema.org",
	"@type": "Article",
	"headline": "Article Title",
	"author": { "@type": "Person", "name": "Jane Doe" }
}
```

Jak povolit

Chcete-li povolit Markdown for Agents pro svou zónu v dashboardu:

  1. Přihlaste se do Cloudflare dashboard a vyberte svůj účet (je potřeba plán Pro nebo Business).
  2. Vyberte zónu, kterou chcete nakonfigurovat.
  3. Navštivte AI Crawl Control sekce.
  4. Povolit Markdown for Agents.

Povolení pro konkrétní subdomény nebo cesty

Chcete-li povolit Markdown for Agents jen pro konkrétní subdomény nebo cesty místo celé zóny, vytvořte konfigurační pravidlo:

  1. Přihlaste se do Cloudflare dashboard a vyberte svůj účet.
  2. Vyberte zónu, kterou chcete nakonfigurovat.
  3. Přejděte na Pravidla > Přehled a vyberte Vytvořit pravidlo > Configuration Rules.
  4. V části Když příchozí požadavky odpovídají, vytvořte výraz odpovídající vaší subdoméně (například http.host eq "docs.example.com") nebo cestu.
  5. V části Poté jsou nastavení, vyberte Přidat nastavení > Markdown for Agents a nastavte ji na On.
  6. Vyberte Nasadit.

Chcete-li povolit Markdown for Agents pro svou zónu pomocí API, odešlete PATCH na /client/v4/zones/{zone_tag}/settings/content_converter s obsahem (payload) {"value": "on"} do Cloudflare API.

Budete muset vytvořit token API s povoleným oprávněním Zone Settings edit.

Příklad:

Povolení Markdown for Agents
curl -X PATCH 'https://api.cloudflare.com/client/v4/zones/{zone_tag}/settings/content_converter' \
  --header 'Content-Type: application/json' \
  --header "Authorization: Bearer {api_token}" --data-raw '{"value": "on"}'

Povolení pro konkrétní subdomény nebo cesty

Chcete-li povolit Markdown for Agents jen pro konkrétní subdomény nebo cesty místo celé zóny, vytvořte konfigurační pravidlo:

Povolení Markdown for Agents pro subdoménu
curl --request PUT \
  --url "https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_config_settings/entrypoint" \
  --header "Authorization: Bearer {api_token}" \
  --header "Content-Type: application/json" \
  --data '{
    "rules": [{
      "expression": "http.host eq \"docs.example.com\"",
      "action": "set_config",
      "action_parameters": {
        "content_converter": true
      },
      "description": "Enable Markdown for Agents for docs subdomain"
    }]
  }'

Použít můžete také výrazy založené na cestě, například starts_with(http.request.uri.path, "/blog/"). Další informace o sestavování výrazů najdete v Rules language.

Pokud používáte Cloudflare for SaaS a chcete povolit Markdown pro agenty pro své vlastní názvy hostitelů, máte dvě možnosti:

Povolení pro všechny vlastní hostitelské názvy

Chcete-li povolit Markdown for Agents pro všechny vlastní hostitele ve své zóně SaaS:

  1. Přihlaste se do Cloudflare dashboard a vyberte svůj účet.
  2. Vyberte svou zónu SaaS.
  3. Hledejte Rychlé akce.
  4. Přepněte Markdown for Agents tlačítko pro povolení.

Povolení pro konkrétní vlastní hostitelské názvy

Povolení Markdown for Agents pro konkrétní vlastní hostitelské názvy vyžaduje pokročilé předplatné s přístupem k vlastní metadata.

Krok 1: Nastavte vlastní metadata pro vlastní hostname

Při vytváření nebo aktualizaci vlastního názvu hostitele přes API přidejte content_converter do custom_metadata objekt:

curl --request PATCH \
  --url "https://api.cloudflare.com/client/v4/zones/{zone_id}/custom_hostnames/{custom_hostname_id}" \
  --header "Authorization: Bearer {api_token}" \
  --header "Content-Type: application/json" \
  --data '{
    "custom_metadata": {
      "content_converter": "enabled"
    }
  }'

Krok 2: Vytvořte Configuration Rule

Ve své zóně SaaS vytvořte Configuration Rule, které bude vlastní názvy hostitelů párovat s metadaty a povolí konverzi obsahu:

curl --request PUT \
  --url "https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_config_settings/entrypoint" \
  --header "Authorization: Bearer {api_token}" \
  --header "Content-Type: application/json" \
  --data '{
    "rules": [{
      "expression": "lookup_json_string(cf.hostname.metadata, \"content_converter\") eq \"enabled\"",
      "action": "set_config",
      "action_parameters": {
        "content_converter": true
      },
      "description": "Enable content converter for opted-in custom hostnames"
    }]
  }'

Tím se funkce zapne u vlastních hostname, které mají content_converter sadu vlastních metadatových značek.

Dostupnost a ceny

Markdown for Agents je bezplatně k dispozici pro plány Pro, Business a Enterprise a pro zákazníky SSL for SaaS.

Vyzkoušejte to s Cloudflare

Tuto funkci jsme povolili v naší Dokumentace pro vývojáře a naše Blog, a zve tak všechny AI prohledávače a agenty, aby náš obsah zpracovávali ve formátu Markdown místo HTML.

curl https://blog.cloudflare.com/markdown-for-agents/ \
  -H "Accept: text/markdown"

Omezení

Další API pro konverzi Markdown

Pokud vytváříte AI systémy, které vyžadují libovolnou konverzi dokumentů mimo Cloudflare, nebo pokud Markdown for Agents není u zdroje obsahu dostupný, nabízíme pro vaše aplikace další způsoby, jak dokumenty převést do Markdown: