web_fetch(T-06;出处 Keelson WebFetchTool.cs,借鉴 coxswain fetch.ss)。
它挡的是「模型要看一页文档只能 exec curl ⇒ 回来整页 HTML,几十 KB 的 <script> 把输出上限吃光、正文一个字都没到」
那一类:抓 → 认 Content-Type → HTML 简化成文本,一步到位。传输走 clj-http(零依赖,JDK java.net.http)。
:allow-url(宿主的网络策略钩子);{:web-fetch {:sensitive false}} 关掉。选项(工作区 :web-fetch)::allow-url (fn [^java.net.URI uri] bool)、:timeout-ms(30000)、
:default-max-chars(40000)、:max-chars(200000)、:max-body-bytes(5 MiB)、:max-redirects(5)、:user-agent、
:client(自带 java.net.http.HttpClient;须不自动跟随重定向,否则中间跳转不过 :allow-url)、
:proxy(没给 :client 时用::env 读 https_proxy / no_proxy …、代理地址串、或 ProxySelector;缺省直连)。
web_fetch(T-06;出处 Keelson `WebFetchTool.cs`,借鉴 coxswain `fetch.ss`)。
它挡的是「模型要看一页文档只能 exec curl ⇒ 回来整页 HTML,几十 KB 的 <script> 把输出上限吃光、正文一个字都没到」
那一类:抓 → 认 Content-Type → HTML 简化成文本,一步到位。传输走 clj-http(零依赖,JDK `java.net.http`)。
- **手动**跟随重定向(≤ :max-redirects),每一跳都过 `:allow-url`(宿主的网络策略钩子);
- 体积上限数**实际读到的**字节(⛔ 信 Content-Length);
- 缺省 Sensitive(它不改盘,但它出网:URL 本身就是一条出口),宿主可 `{:web-fetch {:sensitive false}}` 关掉。
选项(工作区 `:web-fetch`)::allow-url (fn [^java.net.URI uri] bool)、:timeout-ms(30000)、
:default-max-chars(40000)、:max-chars(200000)、:max-body-bytes(5 MiB)、:max-redirects(5)、:user-agent、
:client(自带 java.net.http.HttpClient;须不自动跟随重定向,否则中间跳转不过 :allow-url)、
:proxy(没给 :client 时用:`:env` 读 https_proxy / no_proxy …、代理地址串、或 ProxySelector;缺省直连)。(html->text html)HTML 简化成近似 Markdown 的文本:丢掉 script/style/noscript/svg/head/template 与注释; 有 <main> / <article> 只取它;标题加 #、列表项加 - 、链接写成 文本、块级元素换行;解实体、压空白。
HTML 简化成近似 Markdown 的文本:丢掉 script/style/noscript/svg/head/template 与注释; 有 <main> / <article> 只取它;标题加 #、列表项加 - 、链接写成 [文本](地址)、块级元素换行;解实体、压空白。
(web_fetch {:as args4175 :or {max_chars nil} :keys [url max_chars]})抓一个 URL 的内容给你读:HTML 会抽出正文简化成文本(保留标题、列表与链接),其它文本(Markdown、JSON、纯文本)原样给;图片与二进制不收。URL 必须是完整的 http:// 或 https://。正文超过 max_chars 会截断。看网页优先用这件工具,不要用 exec 跑 curl。
抓一个 URL 的内容给你读:HTML 会抽出正文简化成文本(保留标题、列表与链接),其它文本(Markdown、JSON、纯文本)原样给;图片与二进制不收。URL 必须是完整的 http:// 或 https://。正文超过 max_chars 会截断。看网页优先用这件工具,不要用 exec 跑 curl。
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |