返回市场
达普引擎

达普引擎

作者:DARPAI10 星标更新:2025-06-26

项目介绍

DARPEngine

DARP的MCP搜索引擎。

X 代码风格:black [![导入:reorder-python-imports][imports-image]][imports-url] [![Pydantic v2][pydantic-image]][pydantic-url] [![pre-commit][pre-commit-image]][pre-commit-url] [![MIT许可证][license-image]][license-url]

DARPEngine存储在线托管的MCP服务器的元数据,并提供智能搜索功能。

功能

  • 简单的命令行界面(CLI)
  • API访问以进行搜索
  • MCP工具用于手动连接时检索搜索结果
  • 基于服务器的路由MCP工具:根据用户请求找到的工具回答任何问题

即将推出

  • 支持 .well-known/mcp.json
  • 爬虫
  • 友好的前端界面
  • 托管版本
  • 验证不同级别的SSL证书并将这些信息智能地集成,使敏感的MCP服务器难以被冒充

安装

export OPENAI_API_KEY=sk-...
docker network create highkey_network
docker compose build
docker compose -f docker-compose.yaml -f docker-compose-debug.yaml up --build --wait

快速开始

你可以使用提供的mcp工具将DARPEngine连接到MCP客户端(例如Claude Desktop或Cursor)。只需选择SSE模式并指定http://localhost:4689/sse作为端点。

直接使用CLI

另一种方法是使用CLI。大多数脚本仅使用标准Python库,但路由工具需要mcp包,你可以这样安装脚本依赖:

conda create -n darp 'python>=3.10'
conda activate darp
pip install -r mcp_server/requirements.txt

安装完成后,我们可以使用脚本。

首先,我们需要向引擎添加一些MCP服务器,例如:

$ python scripts/darp-add.py --url http://memelabs.ai:3006/sse --name code_analysis --description "分析gitlab仓库的质量、主题和包使用情况"

然后我们可以进行请求:

$ python scripts/darp-search.py "分析 https://github.com/BenderV/autochat"
找到1个服务器:
code_analysis

你可以通过路由工具获得更有用的结果:

$ python scripts/darp-router.py "分析 https://github.com/BenderV/autochat"
assistant: [tool_calls]
[tool] ...
[tool] ...
[tool] ...
assistant:
  ### 代码质量
  AutoChat仓库中的代码在**可读性**、**可维护性**以及遵循最佳实践方面展示了良好的质量水平:

  - **可读性**:一致的命名约定明显存在,符合Python的PEP 8样式指南。描述性的函数和变量名称增强了对代码目的的理解。

  - **可维护性**:代码结构允许轻松更新和修改,通过类和处理不同功能的方法观察到明确的关注点分离。

  - **最佳实践**:广泛使用的异常处理、类型注解和文档字符串反映了Python开发的最佳实践。一些TODO注释表明了改进的空间,这表明需要进一步关注。

  ### 代码结构
  代码组织成多个文件和模块,每个都有特定的目的:

  - **模块化设计**:各种类(如`Autochat`、`Image`、`Message`)表明了一个良好的面向对象设计,促进了关注点分离,使得代码更容易导航。

  - **逻辑组织**:文件基于功能逻辑分离。例如,`chat.py`专注于聊天相关的逻辑,而`model.py`处理消息和图像处理。`utils.py`中的实用函数增强了复用性。

  - **测试**:测试文件的存在(如`tests/test_utils.py`)显示了对测试的承诺,这对代码可靠性至关重要。使用`unittest`表示了一种结构化的测试单个组件的方法。

  ### 主要功能
  代码似乎是**AutoChat包**的一部分,提供了构建对话代理的框架。主要功能包括:

  - **聊天管理**:`Autochat`类充当管理对话的主要接口,处理消息历史记录、上下文和交互限制。

  - **消息处理**:像`Message`和`MessagePart`这样的类使结构化消息创建和处理成为可能,支持不同类型的消息,包括文本和图像。

  - **功能扩展**:像`add_tool`和`add_function`这样的方法允许动态添加工具和功能,促进聊天体验的定制化。

  - **提供商集成**:不同的API提供商集成(如OpenAI、Anthropic)封装在各自的类中,允许后端通信的灵活性。

  - **实用功能**:实用函数提供了额外的能力,如CSV格式化和函数解析,支持主要的聊天操作。

  总体而言,代码库组织良好,展示了开发对话AI框架的深思熟虑的方法。还有进一步精炼和增强的空间,特别是在文档和变量名清晰度方面。

  ### 库的使用
  项目使用了**AI库**,由其与对话代理相关联的功能和与AI服务提供商的集成所指示。这支持其高效管理与AI模型互动的能力。

  ### 概述
  AutoChat项目是一个旨在与各种AI模型进行交流的聊天系统,主要通过`Autochat`类来管理对话和支持复杂的消息类型,包括文本和图像。由于与外部API的集成及其通过可扩展方法(如`add_tool`和`add_function`)处理多样互动的能力,代码具有适度的复杂性。代码质量值得称赞,具有良好的结构化模块化设计,促进了可读性和可维护性,尽管某些区域需要进一步的文档和细化,如澄清变量名和增强注释。将模型、实用程序和测试组织成单独的文件有助于开发,但实用函数可以通过更好的分类来提高清晰度。

当然,结果的有用性取决于你连接到引擎的MCP服务器。

获取帮助和支持

请随时通过讨论区联系我们。

贡献

关注我们在X上的动态:https://x.com/DARP_AI

许可证

DARPEngine代码库采用MIT许可证。

<br>

://github.com/psf/black [imports-image]: https://img.shields.io/badge/%20imports-reorder_python_imports-%231674b1?style=flat&labelColor=ef8336 [imports-url]: https://github.com/asottile/reorder-python-imports/ [pydantic-image]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json [pydantic-url]: https://pydantic.dev [pre-commit-image]: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white [pre-commit-url]: https://github.com/pre-commit/pre-commit [license-image]: https://img.shields.io/github/license/DARPAI/darp_engine [license-url]: https://opensource.org/licenses/MIT