本地优先的 AI 记忆系统,逐字保存对话历史,并通过语义搜索检索,提供 MCP 服务与命令行工具。
nlweb-ai/NLWeb
NLWeb 的 Python 参考实现,为网站添加自然语言对话接口,并可作为 MCP 服务器使用。
- Star
- 6,258
- Fork
- 695
- 未关闭 Issue
- 65
- 最近提交
- 2个月前
这是什么?
NLWeb 是一组开放协议与示例代码,用于在网站上构建对话式交互界面。它基于网站已有的 Schema.org 和 RSS 结构化标记,让自然语言提问可以直接从页面的结构化数据中获得回答。每个 NLWeb 实例同时作为 MCP 服务器运行,并提供 ask 方法,人和 AI 智能体可以通过同一接口访问网站。
本仓库是其 Python 参考实现。AskAgent 模块负责自然语言查询,可对接 OpenAI、DeepSeek、Gemini、Anthropic 等多家大模型,以及 Qdrant、Milvus、Elasticsearch、Postgres 等向量存储,并附带示例 Web 界面。其他模块包括智能体发现、面向 HubSpot、Dynamics 365、Jira 等企业数据源的自然语言转 SQL、大模型路由以及搜索结果的神经网络打分。支持 Windows、macOS 和 Linux。
项目定位是概念验证而非成品方案。实际生产部署通常会使用自有前端,并将 NLWeb 连接到线上数据库。
核心功能
- 01每个站点可作为 MCP 服务器运行,提供自然语言 ask 方法。
- 02基于网站已有的 Schema.org 结构化数据回答问题。
- 03通过 YAML 配置对接多家大模型和向量数据库。
- 04DataFinder 模块可对 HubSpot、Dynamics 365、Jira 进行自然语言转 SQL 查询。
- 05附带示例 Web 界面和演示数据,便于本地测试。
适用场景
- 为商品目录、菜谱等内容型网站添加对话式搜索框。
- 让 AI 智能体通过标准 MCP 接口查询网站内容。
- 验证企业 CRM 或工单系统数据的自然语言访问方案。
快速上手
- 1
按照笔记本本地运行的入门指南操作(docs/nlweb-hello-world.md)
使用前须知
- 它是概念验证性质的参考实现,README 表示期望社区开发更好的替代方案。
- 运行它需要配置大语言模型提供商和向量数据库,需要一定的自托管工作量。
- README 提到目前尚未包含 CI/CD 流水线。
标签
常见问题
- NLWeb 是什么?
- NLWeb 的 Python 参考实现,为网站添加自然语言对话接口,并可作为 MCP 服务器使用。 NLWeb 是一组开放协议与示例代码,用于在网站上构建对话式交互界面。它基于网站已有的 Schema.org 和 RSS 结构化标记,让自然语言提问可以直接从页面的结构化数据中获得回答。每个 NLWeb 实例同时作为 MCP 服务器运行,并提供 ask 方法,人和 AI 智能体可以通过同一接口访问网站。
- NLWeb 可以免费使用吗?用的什么许可证?
- NLWeb 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- NLWeb 还在维护吗?
- 半年内有更新。NLWeb 最近一次提交是在 2026年8月11日。
- NLWeb 适合用来做什么?
- 为商品目录、菜谱等内容型网站添加对话式搜索框。 让 AI 智能体通过标准 MCP 接口查询网站内容。 验证企业 CRM 或工单系统数据的自然语言访问方案。
- NLWeb 怎么安装和运行?
- 按照笔记本本地运行的入门指南操作(docs/nlweb-hello-world.md)
- 在哪里获取 NLWeb?
- 源代码和安装说明在 GitHub 上:https://github.com/nlweb-ai/NLWeb
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
可自托管的 AI 聊天界面,支持 Ollama 与 OpenAI 兼容 API,内置 RAG、插件和多用户权限管理。
开源 AI 记忆平台,将文档、代码和对话转为自托管知识图谱,供 AI 智能体检索复用。
开箱即用的 Python 智能体框架,基于 LangGraph,适合长链路多步骤任务。
一个极简的 Python 智能体库,让 AI 智能体以代码形式编写并执行动作。