Token导航 LogoToken导航TokenDH.com
doctor (Sisig AI) logo
搜索检索未说明官方级别未说明来源级核验

doctor (Sisig AI)

MCP Server

Doctor是一个用于发现、爬取和索引网页的工具,通过MCP服务器为LLM代理提供最新数据支持,提升推理和代码生成能力。

工具数

0

提示词数

0

GitHub Stars

465

资源数

0
网页爬取PythonCursorCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sisig-ai

提供方

sisig-ai

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🩺 Doctor

](https://github.com/sisig-ai/doctor) ![License](LICENSE.md) ![Python Tests](https://github.com/sisig-ai/doctor/actions/workflows/pytest.yml) ![codecov](https://codecov.io/gh/sisig-ai/doctor)

一种用于发现、抓取和索引网站的工具,这些网站将作为LLM代理的MCP服务器公开,以实现更好、更及时的推理和代码生成。

______________________________________________________________________

🔍 概述

医生提供了一个完整的堆栈:

  • 使用带有层次跟踪的crawl4ai抓取网页
  • 使用LangChain对文本进行分块
  • 通过litellm使用OpenAI创建嵌入
  • 在支持向量搜索的DuckDB中存储数据
  • 通过FastAPI web服务公开搜索功能
  • 通过MCP服务器向LLM提供这些功能
  • 使用分层站点地图导航已爬网站点

______________________________________________________________________

🏗️ 核心基础设施

🗄️ DuckDB

  • 用于存储文档数据和具有矢量搜索功能的嵌入的数据库
  • 由统一的数据库类管理

📨 雷迪斯

  • 用于异步任务处理的消息代理

🕸️ 爬行工人

  • 处理爬网作业
  • 文本块
  • 创建嵌入

🌐 Web服务器

  • FastAPI服务公开端点
  • 获取、搜索和查看数据
  • 暴露MCP服务器

______________________________________________________________________

💻 设置

⚙️ 先决条件

  • Docker和Docker Compose
  • Python 3.10+
  • uv(Python包管理器)
  • OpenAI API密钥

📦 安装

  1. 克隆此存储库
  2. 设置环境变量:
   export OPENAI_API_KEY=your-openai-key
  1. 运行堆栈:
   docker compose up

______________________________________________________________________

👁 用法

  1. 首选http://localhost:9111/docs查看OpenAPI文档
  2. 寻找 /fetch_url 端点,并通过提供URL启动爬网作业
  3. 使用 /job_progress 查看当前作业状态
  4. 配置编辑器以使用 http://localhost:9111/mcp 作为MCP服务器

______________________________________________________________________

☁️ Web API

核心终点

  • POST /fetch_url:开始抓取URL
  • GET /search_docs:搜索索引文档
  • GET /job_progress:检查爬网作业进度
  • GET /list_doc_pages:列出索引页面
  • GET /get_doc_page:获取页面的全文

网站地图功能

地图功能提供了抓取网站的分层视图,使导航和探索索引网站的结构变得容易。

终点:

  • GET /map查看所有抓取网站的索引
  • GET /map/site/{root_page_id}:查看特定站点的层次树结构
  • GET /map/page/{page_id}:查看具有导航功能的特定页面(父级、兄弟级、子级)
  • GET /map/page/{page_id}/raw:获取页面的原始降价内容

特征:

  • 分层导航:页面保持父子关系,允许您浏览网站结构
  • 域分组:单独抓取的同一域中的页面会自动分组在一起
  • 自动标题提取:页面标题从HTML或markdown内容中提取
  • 面包屑导航:导航简单,面包屑显示从根到当前页面的路径
  • 兄弟姐妹导航:快速访问层次结构中同一级别的页面
  • 传统页面支持:在层次结构跟踪之前抓取的页面按域分组,以便于访问
  • 无需JavaScript:所有导航都使用纯HTML和CSS,以实现最大兼容性

使用示例:

  1. 使用 /fetch_url 端点
  2. 访问 /map 查看所有已爬网的网站
  3. 点击网站查看其层次结构
  4. 使用提供的链接浏览页面

______________________________________________________________________

🔧 MCP集成

确保Docker Compose堆栈已启动,然后添加到Cursor或VSCode MCP服务器配置中:

"doctor": {
    "type": "sse",
    "url": "http://localhost:9111/mcp"
}

______________________________________________________________________

🧪 测试

运行测试

要运行所有测试,请执行以下操作:

# Run all tests with coverage report
pytest

要运行特定的测试类别:

# Run only unit tests
pytest -m unit

# Run only async tests
pytest -m async_test

# Run tests for a specific component
pytest tests/lib/test_crawler.py

测试覆盖率

该项目配置为自动生成覆盖率报告:

# Run tests with detailed coverage report
pytest --cov=src --cov-report=term-missing

测试结构

  • tests/conftest.py:所有测试的通用夹具
  • tests/lib/:库组件测试

- test_crawler.py:爬虫模块测试 - test_crawler_enhanced.py:对具有层次跟踪功能的增强型爬虫的测试 - test_chunker.py:分块器模块测试 - test_embedder.py:嵌入式模块测试 - test_database.py:统一数据库类的测试 - test_database_hierarchy.py:数据库层次结构操作测试

  • tests/common/:通用模块测试
  • tests/services/:服务层测试

- test_map_service.py:地图服务测试

  • tests/api/:API端点测试

- test_map_api.py:映射API终结点的测试

  • tests/integration/:集成测试

- test_processor_enhanced.py:对具有层次结构的增强型处理器的测试

______________________________________________________________________

🐞 代码质量

预提交钩子

该项目配置了在每次提交之前自动运行的预提交挂钩:

  • ruff check --fix:Lints代码并自动修复问题
  • ruff format:根据项目样式格式化代码
  • 删除尾随空格
  • 文件修复结束
  • YAML验证
  • 大文件检查

设置预提交

要设置预提交挂钩,请执行以下操作:

# Install pre-commit
uv pip install pre-commit

# Install the git hooks
pre-commit install

手动运行预提交

您可以在所有文件上手动运行预提交挂钩:

# Run all pre-commit hooks
pre-commit run --all-files

或者仅适用于暂存文件:

# Run on staged files
pre-commit run

______________________________________________________________________

⚖️ 许可证

此项目根据MIT许可证获得许可-请参阅 许可证.md 文件以获取详细信息。

目录标签

目录标签

网页爬取PythonCursor本地部署文本索引向量搜索LLM支持层次结构导航

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP