← Cloudflare Fundamentals / fundamentals / reference
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:
Content-Typeje nastaveno natext/markdown; charset=utf-8.VaryzahrnujeAccept(libovolnýVaryrozměry, které už deklaroval váš origin server, zůstanou zachovány), takže mezipaměti ukládají samostatné varianty pro Markdown a HTML.Content-Lengthse přepočítá tak, aby odpovídala velikosti odpovědi v Markdownu.- Hlavičky popisující původní tělo se odstraní, protože již neodpovídají převedené odpovědi:
Content-Encoding,Content-Range,Transfer-Encoding,ETag, aLast-Modified.ETagaLast-Modifiedse zahazují, protože podmíněné požadavky (If-None-Match,If-Modified-Since) nelze u převedených odpovědí respektovat.
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í:
- 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. - 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.
- JSON-LD strukturovaná data zachovaná jako ohraničený
jsonblok 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:
- Přihlaste se do Cloudflare dashboard ↗ a vyberte svůj účet (je potřeba plán Pro nebo Business).
- Vyberte zónu, kterou chcete nakonfigurovat.
- Navštivte AI Crawl Control ↗ sekce.
- 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:
- Přihlaste se do Cloudflare dashboard ↗ a vyberte svůj účet.
- Vyberte zónu, kterou chcete nakonfigurovat.
- Přejděte na Pravidla > Přehled a vyberte Vytvořit pravidlo > Configuration Rules.
- 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. - V části Poté jsou nastavení, vyberte Přidat nastavení > Markdown for Agents a nastavte ji na On.
- 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:
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:
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:
- Přihlaste se do Cloudflare dashboard ↗ a vyberte svůj účet.
- Vyberte svou zónu SaaS.
- Hledejte Rychlé akce.
- 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í
- Převádíme pouze z formátu HTML, další typy dokumentů mohou být podporovány v budoucnu.
- Odpověď origin serveru nesmí přesáhnout 2 MB (2 097 152 bajtů).
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:
- Workers AI AI.toMarkdown() podporuje více typů dokumentů a sumarizaci.
- Browser Run /markdown koncový bod podporuje převod do markdownu, pokud potřebujete dynamickou stránku nebo aplikaci před převodem nejprve vykreslit ve skutečném prohlížeči.