MikkoParkkola/nab
GitHub: MikkoParkkola/nab
nab 是一款基于 Rust 开发的 Token 优化网页抓取与多模态分析工具,为 LLM 智能体提供干净的 Markdown 输出、设备端音视频转录及 URL 变化监控。
Stars: 7 | Forks: 0
# nab
[](https://github.com/MikkoParkkola/nab/actions/workflows/ci.yml)
[](https://crates.io/crates/nab)
[](https://crates.io/crates/nab)
[](https://docs.rs/nab)
[](https://www.rust-lang.org)
[](LICENSE.md)
[](https://modelcontextprotocol.io)
[](https://glama.ai/mcp/servers/MikkoParkkola/nab)
[](https://insiders.vscode.dev/redirect/mcp/install?name=nab&config=%7B%22command%22%3A%22nab-mcp%22%7D)
[](cursor://anysphere.cursor-deeplink/mcp/install?name=nab&config=%7B%22command%22%3A%22nab-mcp%22%7D)
Token 优化的 web 抓取器 + 多语言 ASR + URL 监视器。兼容 MCP 2025-11-25 标准。基于 Rust 开发。优先支持 macOS arm64,支持跨平台。

nab 是一个单一的 Rust 二进制程序,它在三个方面做得非常出色:它能将任何 URL **抓取**为干净的 markdown(使用你真实的浏览器 cookies 和反机器人规避机制),它能利用设备端的多语言 ASR 和说话人分离技术**分析**任何音视频文件,并且它能**监视**任何 URL 的变化,并在内容发生变动时推送通知。所有操作均在本地运行。默认情况下无需配置任何 API 密钥。输出格式专为 LLM 上下文窗口量身定制。
## 为什么选择 nab
- **设计上 Token 极简。** nab 只返回 LLM 真正需要的内容 —— 干净的 markdown,基于 BM25-lite 的查询聚焦提取,以及结构感知的 token 预算 —— 从而减少网络研究的 token 成本,而不是将原始 HTML 直接倾倒到你的上下文窗口中。
- **多模态,完全在设备端运行。** 转录并分离任何音视频文件(在 Apple Neural Engine 上运行 FluidAudio / Parakeet TDT v3 —— 在 2 小时的片段上达到 131 倍实时速度,支持 25 种欧盟语言,具备词级时间戳,可选 Qwen3-ASR 以支持 zh/ja/ko/vi),并通过 Apple Vision 进行图像 OCR(15 种语言,约 10–50 毫秒)。无云端,无需 API 密钥。
- **经认证的访问能力。** 真实的浏览器 cookies、支持 TOTP/MFA 的 1Password 自动登录、WebAuthn passkeys、指纹欺骗和 WAF 规避 —— 使用与访问公共 URL 相同的命令,即可访问内部仪表板、SaaS 应用程序和付费研究报告。
- **监视网络。** 通过 MCP 资源订阅任何 URL —— 条件 GET,语义 diff,自适应退避。相当于全网的 RSS。
- **提示注入防御,默认开启。** 隐藏的、针对你的 AI 的指令会展示给你,而不会被你的模型静默执行 —— 参见 [安全性](#security-prompt-injection-defense)。
所有这些都打包在一个单一的本地 Rust 二进制文件中。没有云端后端,默认无需 API 密钥,输出专为 LLM 上下文窗口设计。
## 快速开始
**告诉你的 AI 助手**(推荐):
你的代理将自动安装二进制文件、完成自身配置并开始抓取。适用于 Claude Code、Cursor、Windsurf 以及任何拥有终端访问权限的 AI。
**或者手动安装并尝试:**
```
brew install MikkoParkkola/tap/nab # install
nab fetch https://news.ycombinator.com # fetch as markdown
nab models fetch fluidaudio # download ASR model
nab analyze interview.mp4 --diarize # transcribe + identify speakers
nab watch add https://status.openai.com --interval 5m # subscribe to changes
```
## 功能
| 命令 | 功能描述 |
|---------|--------------|
| `nab fetch
` | 将任何 URL 抓取为干净的 markdown。支持 HTTP/3,浏览器 cookie 注入(Brave / Chrome / Firefox / Safari / Edge / Dia),1Password 自动登录,指纹欺骗,抓取时通过 YARA-X 脱敏处理提示注入/数据泄露签名,包含 12 个站点提供程序。MCP fetch 还支持查询聚焦提取、可读性处理和 token 预算。 |
| `nab browser ` | 对于 JS 重度依赖的页面,通过配置的 Chrome DevTools Protocol WebSocket 端点进行显式选择的浏览器渲染。不内置 Chromium,且默认情况下 `nab fetch` 绝不自动启动浏览器或远程提供程序。 |
| `nab analyze 标签:LLM上下文处理, Markdown, MCP, Rust, 可视化界面, 网络流量审计, 语音识别, 通知系统