服务对象与地域限制
PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。
代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。
本文要点
- 6 MiB按解压后的HTML字节计算,不能用压缩包大小或转换后Markdown大小代替。
- 功能面向Pro、Business、Enterprise及SSL for SaaS客户,转换本身不另收费;已有套餐费用仍需承担。
- 必须由站点启用、来源为HTML、客户端Accept包含text/markdown,才具备转换条件。
- 客户端需自行计数tokens并按流读取;启用方还应核对源站Content-Signal,缺省策略包含ai-train=yes。
上限变成6 MiB,实际多接得住什么?
Cloudflare在10月9日公布,Markdown for Agents改用边缘进程内的流式引擎,HTML到达时就开始处理,不再先缓存完整响应并送到单独服务。转换上限同时由2 MiB提高到6 MiB,即6,291,456字节。
这个数字针对解压后的HTML。下载时的压缩体积很小,也可能解压后超限;反过来,转换结果变短,并不会让超限HTML自动符合条件。公告没有给出各站点具体启用钟点,仍应核对自己的配置。
当前文档列出Pro、Business、Enterprise和SSL for SaaS客户可用,转换功能本身没有额外费用。这不免除原有套餐费用,也不能推断Free套餐具备同样资格。
加上Accept,为什么还可能拿到HTML?
内容协商就是客户端先说希望收到哪种格式。这里需要在请求中让Accept包含text/markdown;站点的Cloudflare zone必须已启用Markdown for Agents,来源响应也必须是HTML。
站点管理员可在Cloudflare控制台选中对应zone,进入AI Crawl Control开启该功能。只想开放某个子域或路径时,可在Configuration Rules设置匹配条件,再把Markdown for Agents设为On。
调用方应检查实际响应的Content-Type是否为text/markdown,而不只确认请求已发出。站点尚未启用、来源不是HTML或访问受限时,单加Accept不能替代站点配置或访问授权。
token计数头没了,成本统计怎么接?
转换响应不再生成x-markdown-tokens和x-original-tokens。原先从这两个头读取计数的客户端,需要改为自行计算;头部缺失不能记成零tokens,也不能直接据此断言转换失败。
在收到完整内容后,用目标模型适用的计数方式统计。若要比较HTML与Markdown的差异,应分别保留实际输入和对应计数依据;新引擎减少转换开销的说明,不等于每个页面都能节省某个固定比例。
没有Content-Length,怎样判断读完了?
流式响应不会预先给出最终Markdown长度,因此Cloudflare移除了Content-Length,而不是重新计算它。客户端应按HTTP库的流读取方式消费数据,在响应正常结束后再处理完整文档。
检查那些“先看长度再分配空间”或“没有长度就报错”的处理逻辑,同时保留读入上限和超时。缺少这个头不能单独当成正文不完整;也不要拿原HTML长度去校验转换后的Markdown。
缓存、Cookie和内容用途策略怎么处理?
转换后Content-Type改为Markdown,Vary会包含Accept,并保留来源已有的其他Vary维度,便于缓存区分HTML与Markdown版本。源站的安全、缓存、Cookie和CORS相关头会保留,接入时仍应按原有权限处理。
ETag、Last-Modified等描述原正文的头会移除,因为转换结果无法按它们履行原来的条件请求。依赖If-None-Match或If-Modified-Since的客户端,不应继续假设Markdown响应可按原HTML校验器获得相同缓存结果。
源站已有content-signal时,转换会保留其内容用途策略;缺失时,默认添加ai-train=yes、search=yes、ai-input=yes,分别涉及训练、搜索与AI输入。启用前应核对是否符合站点意愿,不为GEO效果默认开放训练。
接入前,先用哪一页核对最省事?
一个假设场景:团队让agent读取产品说明页,压缩下载只有几百KiB,解压后却为7 MiB。按新规则它仍超过6 MiB上限;不能因为旧token头为空,就误判成零成本或成功转换。这里没有执行该示例。
先在自己有权配置的zone确认启用范围,再用一份已知HTML页面发出带Accept的请求。核对Content-Type、Vary和实际正文,确认客户端可以完成流读取,并把缺失token头交给本地计数逻辑处理。
随后检查缓存校验和Content-Signal实际值,保留异常响应与原HTML对照。格式转换不会证明模型理解正确、搜索已收录或AI已引用;对结果有要求时,还应核对正文是否保留了任务所需的信息。
资料来源
常见问题
超过6 MiB一定会被截断,还是返回固定错误码?
已读公告和文档明确了上限,但没有在这些段落给出统一错误码、截断或回退承诺。应保留实际响应检查,不自行把某种表现当成所有站点的规则。
PDF或需要JavaScript渲染的页面也能这样转吗?
Markdown for Agents当前只转换HTML。官方另外列出Workers AI的AI.toMarkdown()用于多类文档,以及Browser Run的/markdown用于先在真实浏览器渲染的场景;它们是不同入口,资格与费用不能直接套用本功能。
网页里的JSON-LD会一起丢掉吗?
文档说来源HTML中的JSON-LD会保留到Markdown末尾,其他脚本和样式会剔除。元数据前言也只有来源存在支持的meta字段时才输出,不能靠转换补出原页面没有的标题或描述。