mcp-gateway

GitHub
572 60 困难 1 次阅读 今天MIT开发框架图像语言模型插件Agent
AI 解读 由 AI 自动生成,仅供参考

mcp-gateway 是专为 Model Context Protocol (MCP) 服务器设计的反向代理与管理层,旨在帮助开发者在 Kubernetes 环境中高效构建可扩展的 AI 应用。它主要解决了 MCP 服务在规模化部署时面临的流量路由复杂、会话状态难以保持以及生命周期管理繁琐等痛点。通过提供统一的数据网关和控制平面,mcp-gateway 能够自动处理服务的部署、更新与删除,并确保带有特定会话 ID 的请求始终被精准路由到同一服务器实例,从而维持对话上下文的连贯性。

这款工具特别适合需要在生产环境中部署多租户 AI 代理平台的后端工程师、DevOps 专家及架构师。其核心技术亮点在于“会话感知的有状态路由”机制,这在无状态的云原生环境中尤为珍贵,能有效保障复杂交互场景下的稳定性。此外,mcp-gateway 还内置了企业级的身份验证、访问控制及可观测性接口,支持与现有监控体系无缝集成。无论是管理单一的 MCP 服务,还是协调成百上千个动态工具节点,mcp-gateway 都能提供清晰的管理视图和稳健的运行支撑,让团队更专注于业务逻辑而非基础设施运维。

使用场景

某金融科技公司正在构建基于 Kubernetes 的企业级 AI 助手平台,需动态调度数十个处理敏感数据的 MCP 服务器以支持多轮对话分析。

没有 mcp-gateway 时

  • 会话状态断裂:用户在进行多轮复杂查询时,请求被随机分发到不同 Pod,导致上下文记忆丢失,AI 无法连贯回答。
  • 运维管理混乱:每次新增或更新一个数据分析工具,都需要手动修改 K8s 配置和路由规则,部署周期长达数小时且易出错。
  • 安全管控缺失:缺乏统一的鉴权层,难以对内部不同团队访问特定 MCP 服务器实施细粒度的权限控制(RBAC)。
  • 扩展能力受限:面对突发流量,无法自动实现基于会话的负载均衡,常因单点过载导致服务响应超时。

使用 mcp-gateway 后

  • 会话精准保持:利用 Session-Aware 路由机制,确保同一用户的所有请求始终指向同一个 MCP 实例,完美维持多轮对话上下文。
  • 生命周期自动化:通过控制平面 API 即可一键完成工具的注册、扩容与升级,将新工具上线时间从小时级缩短至分钟级。
  • 统一安全网关:内置数据面与控制面双重鉴权,轻松集成企业现有身份系统,实现对每个工具调用的精细化访问控制。
  • 弹性高可用:自动感知后端 Pod 状态并智能分流,在流量高峰期间无缝横向扩展,保障核心业务零中断。

mcp-gateway 通过将复杂的分布式会话管理与运维逻辑标准化,让企业能够像管理微服务一样高效、安全地规模化运营 AI 工具生态。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes该工具是基于 .NET 8 开发的 Kubernetes 原生应用,非 Python 项目。运行本地开发环境需安装 .NET 8 SDK、Docker Desktop 并启用 Kubernetes。部署依赖 Kubernetes 集群(支持 StatefulSets 和无头服务),可选择一键部署到 Azure 或在本地通过 kubectl 部署。认证支持 Azure Entra ID。
python未说明
.NET 8 SDK
Docker Desktop
Kubernetes
Azure Entra ID (可选)
mcp-gateway hero image

快速开始

MCP 网关

MCP 网关模型上下文协议 (MCP) 服务器的反向代理和管理层,能够在 Kubernetes 环境中实现可扩展的、基于会话感知的路由、授权以及 MCP 服务器的生命周期管理。

目录

概述

本项目提供:

  • 用于将流量路由到具有会话亲和性的 MCP 服务器的数据网关。
  • 用于管理 MCP 服务器生命周期(部署、更新、删除)的控制平面。
  • 企业级集成点,包括遥测、访问控制和可观性。

关键概念

  • MCP 服务器:实现模型上下文协议的服务器,通常是一个可流式传输的 HTTP 端点。
  • 适配器:在网关中表示 MCP 服务器的逻辑资源,在 /adapters 范围内进行管理。设计用于与其他资源类型(例如 /agents)共存于统一的人工智能开发平台中。
  • 工具:注册了 MCP 工具定义的资源,可通过工具网关路由器动态路由。每个工具都包含有关其执行端点和输入模式的元数据。
  • 工具网关路由器:作为智能路由器的 MCP 服务器,根据工具定义将工具执行请求定向到适当的已注册工具服务器。为了实现会话亲和性,网关后方可以运行多个路由器实例。
  • 基于会话的状态感知路由:确保具有给定 session_id 的所有请求始终路由到同一 MCP 服务器实例。

架构

flowchart LR
    subgraph 客户端[" "]
        direction TB
        数据客户端["🔌 代理/MCP<br>数据客户端"]
        管理客户端["⚙️ 管理<br>客户端"]
    end

    subgraph 网关["MCP 网关"]
        direction TB
        
        subgraph 认证1["身份验证与授权"]
            认证["🔐 数据平面认证<br>Bearer Token / RBAC"]
            认证2["🔐 控制平面认证<br>Bearer Token / RBAC"]
        end
        
        subgraph 数据平面["数据平面"]
            路由["🔀 适配器路由<br>/adapters/{name}/mcp"]
            工具路由["🔀 工具网关路由器<br>/mcp"]
        end

        subgraph 控制平面["控制平面"]
            direction LR
            适配器管理["📦 适配器管理<br>/adapters CRUD"]
            工具管理["🔧 工具管理<br>/tools CRUD"]
        end
        
        subgraph 管理["后台服务"]
            部署管理["☸️ 部署管理器"]
            元数据管理["📋 元数据管理器"]
        end
    end

    subgraph 集群["Kubernetes 集群"]
        direction TB
        
        subgraph 服务器行[" "]
            direction LR
            
            subgraph MCP服务器["MCP 服务器"]
                direction TB
                PodA["mcp-a-0"]
                PodA1["mcp-a-1"]
                PodB["mcp-b-0"]
            end
            
            subgraph 工具路由器["工具网关路由器"]
                direction TB
                Router1["toolgateway-0"]
                Router2["toolgateway-1"]
            end
        end
        
        subgraph 工具服务器["已注册工具服务器"]
            direction LR
            Tool1["tool-1-0"]
            Tool2["tool-2-0"]
        end
    end

    元数据[("💾 元数据存储<br>服务器与工具信息")]

    数据客户端 -->|"MCP 请求"| 认证
    管理客户端 -->|"API 调用"| 认证2
    
    认证 --> 路由
    认证 --> 工具路由
    认证2 --> 适配器管理
    认证2 --> 工具管理
    
    适配器管理 & 工具管理 --> 部署管理
    适配器管理 & 工具管理 --> 元数据管理
    
    路由 -.->|"会话亲和性"| MCP服务器
    工具路由 -.->|"会话亲和性"| 工具路由器
    工具路由器 ==>|"动态路由"| 工具服务器
    
    部署管理 -->|"部署 & 监控"| 集群
    元数据管理 <-->|"读/写"| 元数据

    style 网关 fill:#e1f5ff
    style 集群 fill:#fff4e1
    style 元数据 fill:#f0f0f0

特性

控制平面 – 用于 MCP 服务器管理的 RESTful API

MCP 服务器管理(适配器)

  • POST /adapters — 部署并注册一个新的 MCP 服务器。
  • GET /adapters — 列出用户可访问的所有 MCP 服务器。
  • GET /adapters/{name} — 获取特定适配器的元数据。
  • GET /adapters/{name}/status — 检查部署状态。
  • GET /adapters/{name}/logs — 访问服务器的运行日志。
  • PUT /adapters/{name} — 更新部署。
  • DELETE /adapters/{name} — 删除服务器。

工具注册与管理

  • POST /tools — 注册并部署一个带有 MCP 工具定义元数据的工具。
  • GET /tools — 列出用户可访问的所有已注册工具。
  • GET /tools/{name} — 获取特定工具的元数据和工具定义。
  • GET /tools/{name}/status — 检查工具部署状态。
  • GET /tools/{name}/logs — 访问工具服务器的运行日志。
  • PUT /tools/{name} — 更新工具的部署和定义。
  • DELETE /tools/{name} — 删除已注册的工具。

数据平面 – MCP 服务器的网关路由

直接访问 MCP 服务器

  • POST /adapters/{name}/mcp — 建立可流式传输的 HTTP 连接。

通过工具网关路由器的动态工具路由

  • POST /mcp — 将请求路由到工具网关路由器,该路由器会根据工具定义动态路由到已注册的工具。路由器本身是 MCP 服务器,网关后方托管了多个实例以实现可扩展性。

身份验证与授权支持

网关为 MCP 服务器和工具提供 Entra ID 身份验证以及基本的应用程序角色授权:

  • 读取权限授予资源创建者、被分配了配置角色值(例如 mcp.engineer)的主体,以及持有强制性管理员角色 mcp.admin 的任何人。
  • 写入权限仅限于资源创建者或持有 mcp.admin 角色的主体。

有关配置 Azure Entra ID(创建 mcp.admin 和其他角色值、将其分配给用户或服务主体,并在适配器/工具负载中提供这些值)的分步指南,请参阅 docs/entra-app-roles.md

其他功能

  • 新增:支持 代理本地及远程 MCP 服务器。请参阅 示例与使用方法
  • 带有分布式会话存储的状态无感知反向代理(生产模式)。
  • 使用 StatefulSets 和 Headless Services 的 Kubernetes 原生部署。

工具注册与动态路由

MCP 网关现在支持 工具注册 及其动态路由功能,从而实现管理和执行 MCP 工具的可扩展架构。

工作原理

  1. 工具注册:开发者通过 /tools API 端点注册工具,需提供:

    • 容器镜像详情(名称和版本)
    • MCP 工具定义(名称、描述、输入模式)
    • 执行端点配置(端口和路径)
    • 部署配置(副本数、环境变量)
  2. 工具网关路由器:一个作为智能路由的专用 MCP 服务器:

    • 在网关后以多个实例运行,确保高可用性
    • 维护所有已注册工具及其定义的实时信息
    • 动态将工具执行请求路由到相应的工具服务器
    • 通过 POST /mcp 端点访问(无需指定适配器名称)
  3. 动态路由:当客户端向 /mcp 发送 MCP 请求时:

    • 网关会将请求以会话亲和性路由到可用的工具网关路由器实例
    • 路由器会分析请求中的工具调用信息
    • 根据工具定义,将执行请求转发到正确的已注册工具服务器
    • 执行结果通过路由器返回给客户端

快速入门 - 本地部署

1. 准备本地开发环境

2. 运行本地 Docker 注册表

docker run -d -p 5000:5000 --name registry registry:2.7

3. 构建并发布 MCP 服务器镜像

将 MCP 服务器镜像构建并推送到本地注册表(localhost:5000)。

docker build -f sample-servers/mcp-example/Dockerfile sample-servers/mcp-example -t localhost:5000/mcp-example:1.0.0
docker push localhost:5000/mcp-example:1.0.0

4. 构建并发布 MCP 网关和工具网关路由器

(可选)使用 Visual Studio 打开 dotnet/Microsoft.McpGateway.sln

发布 MCP 网关镜像:

dotnet publish dotnet/Microsoft.McpGateway.Service/src/Microsoft.McpGateway.Service.csproj -c Release /p:PublishProfile=localhost_5000.pubxml

发布工具网关路由器镜像:

dotnet publish dotnet/Microsoft.McpGateway.Tools/src/Microsoft.McpGateway.Tools.csproj -c Release /p:PublishProfile=localhost_5000.pubxml

5. 将 MCP 网关部署到 Kubernetes 集群

应用部署清单文件:

kubectl apply -f deployment/k8s/local-deployment.yml

6. 启用端口转发

转发网关服务端口:

kubectl port-forward -n adapter svc/mcpgateway-service 8000:8000

7. 测试 API - MCP 服务器管理

  • openapi/mcp-gateway.openapi.json 中的 OpenAPI 定义导入到 Postman、Bruno 或 Swagger Editor 等工具中。

  • 发送请求以创建新的适配器资源:

    POST http://localhost:8000/adapters
    Content-Type: application/json
    
    {
       "name": "mcp-example",
       "imageName": "mcp-example",
       "imageVersion": "1.0.0",
       "description": "test"
    }
    

8. 测试 API - MCP 服务器访问

  • 部署 MCP 服务器后,使用 VS Code 等客户端测试连接。参考指南:在 VS Code 中使用 MCP 服务器

    注意:请确保 VSCode 是最新版本,以便使用最新的 MCP 功能。

    • 要连接到已部署的 mcp-example 服务器,使用:
      • http://localhost:8000/adapters/mcp-example/mcp(流式 HTTP)

    示例 .vscode/mcp.json 文件,用于连接到 mcp-example 服务器:

    {
      "servers": {
        "mcp-example": {
          "url": "http://localhost:8000/adapters/mcp-example/mcp",
        }
      }
    }
    
  • 对于其他服务器:

    • http://localhost:8000/adapters/{name}/mcp(流式 HTTP)

9. 测试工具注册与动态路由

构建并发布工具服务器镜像

首先,构建并推送工具服务器镜像到本地注册表:

docker build -f sample-servers/tool-example/Dockerfile sample-servers/tool-example -t localhost:5000/weather-tool:1.0.0
docker push localhost:5000/weather-tool:1.0.0

注册工具

发送请求以注册工具及其定义:

POST http://localhost:8000/tools
Content-Type: application/json
{
  "name": "weather",
  "imageName": "weather-tool",
  "imageVersion": "1.0.0",
  "description": "天气工具,用于获取当前天气信息",
  "toolDefinition": {
    "tool": {
      "name": "weather",
      "title": "天气信息",
      "description": "获取指定地点的当前天气。",
      "type": "http",
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "城市和州,例如旧金山, CA"
          }
        },
        "required": ["location"]
      }
    },
    "port": 8000
  }
}

验证工具部署

检查工具部署状态:

GET http://localhost:8000/tools/weather/status

通过工具网关路由器测试工具路由

使用 MCP 客户端(如 VS Code)连接到工具网关路由器:

示例 .vscode/mcp.json 文件,用于连接到工具网关路由器:

{
  "servers": {
    "tool-gateway": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

路由器会根据 MCP 请求中的工具名称,自动将工具调用路由到相应的已注册工具服务器。

10. 清理环境

要移除所有已部署的资源,删除 Kubernetes 命名空间:

kubectl delete namespace adapter

快速入门 - 部署到 Azure

云基础设施

架构图

1. 准备云开发环境

2. 设置 Entra ID(Azure Active Directory)

云端部署的服务需要使用 Azure Entra ID 进行承载令牌身份验证。请按照以下步骤配置应用程序注册。

创建并配置应用程序注册

  1. 前往 应用注册

  2. 单击 + 新建注册

    • 名称:选择一个有意义的名称,例如 mcp-gateway
    • 支持的帐户类型:选择 单一租户
    • 单击 注册
  3. 转到应用程序注册的 概述 页面,复制:

    • 应用程序(客户端)ID — 这是您用于部署的 API 客户端 ID

公开 API(定义范围)

  1. 在左侧菜单中,转到 公开 API

  2. 单击 应用程序 ID URI 旁边的 添加,并将其保留为默认值:

    api://<your-client-id>
    
  3. 单击 + 添加范围

    • 范围名称access
    • 管理员同意显示名称Access MCP Gateway
    • 管理员同意描述:任意简短描述
    • 单击 添加范围

授权 Azure CLI 和 VS Code 作为客户端应用程序

以允许 Azure CLI 和 VS Code 作为获取令牌的客户端。

  1. 仍在 公开 API 中,向下滚动至 已授权的客户端应用程序
  2. 单击 + 添加客户端应用程序
    • 客户端 ID04b07795-8ddb-461a-bbee-02f9e1bf7b46(Azure CLI)
    • 客户端 IDaebc6443-996d-45c2-90f0-388ff96faa56(VS Code)
    • 在已授权范围中,选择范围 access
    • 单击 添加

配置应用程序角色以进行授权

docs/entra-app-roles.md

3. 部署服务资源

部署到 Azure

参数

名称 描述
resourceGroup 资源组的名称。必须仅包含小写字母和数字(字母数字)。
clientId 您的应用程序注册中的 Entra ID(Azure AD)客户端 ID。
location (可选) 将部署资源的 Azure 区域。
默认为资源组所在的位置。
resourceLabel (可选) 用于命名资源后缀以及 DNS 标签的小写字母数字字符串。
如果未提供,则将使用资源组名称。
建议: 将此值设置为与资源组名称相同的默认值,并确保资源组名称仅包含小写字母数字字符。

部署将:

  • 通过 Bicep 模板部署 Azure 基础设施

    资源名称 资源类型
    mgreg<resourceLabel> 容器注册表
    mg-storage-<resourceLabel> Azure Cosmos DB 账户
    mg-aag-<resourceLabel> 应用程序网关
    mg-ai-<resourceLabel> 应用程序洞察
    mg-aks-<resourceLabel> Kubernetes 服务 (AKS)
    mg-identity-<resourceLabel> 托管标识
    mg-pip-<resourceLabel> 公共 IP 地址
    mg-vnet-<resourceLabel> 虚拟网络
  • 将 Kubernetes 资源(包括 mcp-gateway)部署到已 provisioned 的 AKS 集群

注意: 建议使用托管标识进行无凭据身份验证。本次部署遵循该设计。

4. 构建并发布 MCP 服务器镜像

网关服务在部署期间会从新 provisioned 的 Azure 容器注册表 (ACR) 中拉取 MCP 服务器镜像。

在 ACR 中构建 MCP 服务器镜像:

az acr build -r "mgreg$resourceLabel" -f sample-servers/mcp-example/Dockerfile sample-servers/mcp-example -t "mgreg$resourceLabel.azurecr.io/mcp-example:1.0.0"

5. 测试 API - MCP 服务器管理

  • 将 OpenAPI 规范从 openapi/mcp-gateway.openapi.json 导入到 PostmanBrunoSwagger Editor

  • 在本地获取承载令牌:

    az account get-access-token --resource $clientId
    
  • 发送 POST 请求以创建适配器资源:

    POST http://<resourceLabel>.<location>.cloudapp.azure.com/adapters
    Authorization: Bearer <token>
    Content-Type: application/json
    
    {
      "name": "mcp-example",
      "imageName": "mcp-example",
      "imageVersion": "1.0.0",
      "description": "test",
      "requiredRoles": [] // 添加 entra id 应用程序角色以限制访问
    }
    

6. 测试 API - MCP 服务器访问

  • 部署 MCP 服务器后,可以使用像 VS Code 这样的客户端来测试连接。请参考指南:在 VS Code 中使用 MCP 服务器

    注意: 确保 VSCode 是最新版本,以便访问最新的 MCP 功能。

    • 要连接到已部署的 mcp-example 服务器,请使用:
      • http://<resourceLabel>.<location>.cloudapp.azure.com/adapters/mcp-example/mcp(可流式传输的 HTTP)

    示例 .vscode/mcp.json 文件,用于连接到 mcp-example 服务器

    {
      "servers": {
        "mcp-example": {
          "url": "http://<resourceLabel>.<location>.cloudapp.azure.com/adapters/mcp-example/mcp",
        }
      }
    }
    

    注意: 访问 MCP 服务器仍需身份验证,VS Code 将帮助处理身份验证过程。

  • 对于其他服务器:

    • http://<resourceLabel>.<location>.cloudapp.azure.com/adapters/{name}/mcp(可流式传输的 HTTP)

7. 测试工具注册与动态路由

构建并发布工具服务器镜像

构建并将工具服务器镜像推送到 ACR:

az acr build -r "mgreg$resourceLabel" -f sample-servers/tool-example/Dockerfile sample-servers/tool-example -t "mgreg$resourceLabel.azurecr.io/weather-tool:1.0.0"

注册工具

获取承载令牌:

az account get-access-token --resource $clientId

发送请求以使用其定义注册工具:

POST http://<resourceLabel>.<location>.cloudapp.azure.com/tools
Authorization: Bearer <token>
Content-Type: application/json
{
  "name": "weather",
  "imageName": "weather-tool",
  "imageVersion": "1.0.0",
  "useWorkloadIdentity": true,
  "description": "用于获取当前天气信息的天气工具",
  "requiredRoles": [], // 添加 Entra ID 应用程序角色以限制访问
  "toolDefinition": {
    "tool": {
      "name": "weather",
      "title": "天气信息",
      "description": "获取指定位置的当前天气。",
      "type": "http",
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "城市和州,例如旧金山,加州"
          }
        },
        "required": ["location"]
      },
      "annotations": {
        "readOnly": true
      }
    },
    "port": 8000
  }
}

验证工具部署

检查工具部署状态:

GET http://<resourceLabel>.<location>.cloudapp.azure.com/tools/weather/status
Authorization: Bearer <token>

通过工具网关路由器测试工具路由

使用 MCP 客户端(如 VS Code)连接到工具网关路由器:

示例 .vscode/mcp.json 文件,用于连接到工具网关路由器:

{
  "servers": {
    "tool-gateway": {
      "url": "http://<resourceLabel>.<location>.cloudapp.azure.com/mcp"
    }
  }
}

注意: 需要进行身份验证。VS Code 将自动处理身份验证过程。

路由器会根据 MCP 请求中的工具名称,自动将工具调用路由到相应的已注册工具服务器。

8. 清理环境

要删除所有已部署的资源,请在 Azure 门户中删除资源组,或运行以下命令:

az group delete --name <resourceGroupName> --yes

9. 生产环境上线

  • TLS 配置
    使用有效的 TLS 证书在 Azure 应用程序网关 (AAG) 监听器上设置 HTTPS。

  • 网络安全
    限制虚拟网络内的入站流量,并配置专用终结点以增强网络安全。

  • 遥测
    启用高级遥测、详细指标和警报,以支持生产环境中的监控和故障排除。

  • 扩展性
    根据预期负载调整 mcp-gateway 服务和 MCP 服务器的扩展策略。

  • 身份验证与授权
    设置使用 Azure Entra ID (AAD) 的 OAuth 2.0 身份验证。 实施基于 RBAC 或自定义 ACL 的细粒度访问控制,以实现 adapter 级别的权限管理。

贡献

本项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议 (CLA),声明您有权且确实授予我们使用您贡献的权利。有关详情,请访问 https://cla.opensource.microsoft.com。

当您提交拉取请求时,CLA 机器人会自动确定您是否需要提供 CLA,并相应地标记 PR(例如状态检查、评论)。只需按照机器人提供的指示操作即可。对于使用我们 CLA 的所有仓库,您只需执行此操作一次。

本项目已采用 微软开源行为准则。有关更多信息,请参阅 行为准则常见问题解答,或如有任何其他疑问或意见,请联系 opencode@microsoft.com

商标

本项目可能包含项目、产品或服务的商标或徽标。未经授权使用微软商标或徽标须遵守并遵循 微软商标与品牌指南。在本项目的修改版本中使用微软商标或徽标不得造成混淆或暗示微软的赞助。任何第三方商标或徽标的使用均受该第三方政策的约束。

数据收集

本软件可能会收集有关您及您使用本软件的信息,并将其发送给微软。微软可能会利用这些信息来提供服务并改进我们的产品和服务。您可以按照仓库中的说明关闭遥测功能。此外,本软件中的一些功能也可能使您和微软能够从您的应用程序用户处收集数据。如果您使用这些功能,则必须遵守适用法律,包括向您的应用程序用户提供适当的通知以及微软隐私声明的副本。我们的隐私声明位于 https://go.microsoft.com/fwlink/?LinkID=824704。您可以在帮助文档和我们的隐私声明中了解更多关于数据收集和使用的相关信息。您使用本软件即表示您同意这些做法。

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|4天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|5天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

149.5k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|今天
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|昨天
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|4天前
插件开发框架