AI News HubLIVE
站內改寫1 分鐘閱讀

面向AI代理的高完整性HTML提取工具(支持原生MCP)

Mission是一款用Rust編寫的快速、健壯的HTML解析器和CSS選擇器引擎,具有零依賴、無網絡層、崩潰免疫等特點,並內置MCP工具支持,可讓AI代理高效提取結構化數據。

來源Hacker News AI作者: MerlijnW70

Mission 是一款用 Rust 語言編寫的、以健壯性和性能為核心的 HTML 解析器與 CSS 選擇器引擎。它的設計目標是在不崩潰的前提下處理任何糟糕的 HTML,並從中提取乾淨文本或結構化數據。該工具完全零依賴,單個二進制文件即可運行,且默認不發起任何網絡請求——輸入僅來自文件、管道或標準輸入,極大降低了攻擊面。

Mission 的核心功能包括:將 HTML 渲染為可讀文本、通過 CSS 選擇器提取元素、輸出屬性值或 JSON 格式數據,並支持流式 NDJSON 管道模式(--filter)。其 CSS 選擇器引擎覆蓋了大部分標準選擇器,包括 :has():not():nth-child() 等組合器。

對於 AI 代理場景,Mission 提供了 mission-mcp 工具——一個符合 Model Context Protocol(MCP)的服務器。通過將 mission-mcp 接入任何兼容 MCP 的編輯器或環境,代理即可獲得 selectselect_textrenderattributes 四個工具,在本地對 HTML 進行確定性提取,無需將整個頁面內容塞入上下文窗口。配置方式簡單,例如在客户端配置中添加:

{
  "mcpServers": {
    "mission": { "command": "mission-mcp" }
  }
}

性能方面,Mission 在單核無 SIMD 條件下可以達到 ~50 MB/s 的解析吞吐量,而 CSS 選擇器的匹配速度超過 1 GB/s。整個代碼庫使用 #![forbid(unsafe_code)],並經過突變測試(mutation testing)驗證行為正確性。

Mission 本身作為開源項目(MIT 或 Apache-2.0 許可)免費提供,是 Mission Cloud 平台的核心組件。Mission Cloud 是一個託管平台,在 Mission 引擎之上增加了自愈策略、回退選擇器、高吞吐傳輸等功能,適用於大規模、持續運行的提取任務。開發者可先用 Mission 進行本地開發和原型驗證,當需求增長時再無縫遷移到 Mission Cloud。