MCPcopy Index your code
hub / github.com/higress-group/higress

github.com/higress-group/higress @v2.2.3 sqlite

repository ↗ · DeepWiki ↗ · release v2.2.3 ↗
9,845 symbols 35,075 edges 982 files 2,522 documented · 26%
README

Higress AIゲートウェイ

AIネイティブAPIゲートウェイ

Build Status license CNCF Sandbox OpenSSF Best Practices

公式サイト   |   ドキュメント   |   ブログ   |   電子書籍   |   開発ガイド   |   AIプラグイン  

English | 中文 | 日本語

Higressとは?

Higressは、IstioとEnvoyをベースにしたクラウドネイティブAPIゲートウェイで、Go/Rust/JSなどを使用してWasmプラグインを作成できます。数十の既製の汎用プラグインと、すぐに使用できるコンソールを提供しています(デモはこちら)。

主な使用シナリオ

HigressのAIゲートウェイ機能は、国内外のすべての主要モデルプロバイダーをサポートし、vllm/ollamaなどに基づく自己構築DeepSeekモデルにも対応しています。また、プラグインメカニズムを通じてMCP(Model Context Protocol)サーバーをホストすることもでき、AI Agentが様々なツールやサービスを簡単に呼び出せるようにします。openapi-to-mcpツールを使用すると、OpenAPI仕様を迅速にリモートMCPサーバーに変換してホスティングできます。HigressはLLM APIとMCP APIの統一管理を提供します。

🌟 今すぐhttps://mcp.higress.ai/で体験してください。HigressがホストするリモートMCPサーバーを直接体験できます:

Higress MCP Server Platform

企業での採用

Higressは、Tengineのリロードが長時間接続のビジネスに影響を与える問題や、gRPC/Dubboの負荷分散能力の不足を解決するために、Alibaba内部で誕生しました。Alibaba Cloud内では、HigressのAIゲートウェイ機能がTongyi Qianwen APP、Tongyi Bailian Model Studio、機械学習PAIプラットフォームなどの中核的なAIアプリケーションをサポートしています。また、国内の主要なAIGC企業(例:ZeroOne)やAI製品(例:FastGPT)にもサービスを提供しています。Alibaba Cloudは、Higressを基盤にクラウドネイティブAPIゲートウェイ製品を構築し、多くの企業顧客に99.99%のゲートウェイ高可用性保証サービスを提供しています。

目次

クイックスタート

HigressはDockerだけで起動でき、個人開発者がローカルで学習用にセットアップしたり、簡易サイトを構築するのに便利です。

# 作業ディレクトリを作成
mkdir higress; cd higress
# Higressを起動し、設定ファイルを作業ディレクトリに書き込みます
docker run -d --rm --name higress-ai -v ${PWD}:/data \
        -p 8001:8001 -p 8080:8080 -p 8443:8443  \
        higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:latest

リスンポートの説明は以下の通りです:

  • 8001ポート:Higress UIコンソールのエントリーポイント
  • 8080ポート:ゲートウェイのHTTPプロトコルエントリーポイント
  • 8443ポート:ゲートウェイのHTTPSプロトコルエントリーポイント

HigressのすべてのDockerイメージは専用のリポジトリを使用しており、Docker Hubの国内アクセス不可の影響を受けません

K8sでのHelmデプロイなどの他のインストール方法については、公式サイトのクイックスタートドキュメントを参照してください。

使用シナリオ

  • AIゲートウェイ:

Higressは、国内外のすべてのLLMモデルプロバイダーと統一されたプロトコルで接続でき、豊富なAI可観測性、多モデル負荷分散/フォールバック、AIトークンフロー制御、AIキャッシュなどの機能を備えています。

  • MCP Server ホスティング:

Higressは、EnvoyベースのAPIゲートウェイとして、プラグインメカニズムを通じてMCP Serverをホストすることができます。MCP(Model Context Protocol)は本質的にAIにより親和性の高いAPIであり、AI Agentが様々なツールやサービスを簡単に呼び出せるようにします。Higressはツール呼び出しの認証、認可、レート制限、可観測性などの統一機能を提供し、AIアプリケーションの開発とデプロイを簡素化します。

Higressを使用してMCP Serverをホストすることで、以下のことが実現できます: - 統一された認証と認可メカニズム、AIツール呼び出しのセキュリティを確保 - きめ細かいレート制限、乱用やリソース枯渇を防止 - 包括的な監査ログ、すべてのツール呼び出し行動を記録 - 豊富な可観測性、ツール呼び出しのパフォーマンスと健全性を監視 - 簡素化されたデプロイと管理、Higressのプラグインメカニズムを通じて新しいMCP Serverを迅速に追加 - 動的更新による無停止:Envoyの長時間接続に対する友好的なサポートとWasmプラグインの動的更新メカニズムにより、MCP Serverのロジックをリアルタイムで更新でき、トラフィックに完全に影響を与えず、接続が切断されることはありません

  • Kubernetes Ingressゲートウェイ:

HigressはK8sクラスターのIngressエントリーポイントゲートウェイとして機能し、多くのK8s Nginx Ingressの注釈に対応しています。K8s Nginx IngressからHigressへのスムーズな移行が可能です。

Gateway API標準をサポートし、ユーザーがIngress APIからGateway APIにスムーズに移行できるようにします。

ingress-nginxと比較して、リソースの消費が大幅に減少し、ルーティングの変更が10倍速く反映されます。

  • マイクロサービスゲートウェイ:

Higressはマイクロサービスゲートウェイとして機能し、Nacos、ZooKeeper、Consul、Eurekaなどのさまざまなサービスレジストリからサービスを発見し、ルーティングを構成できます。

また、DubboNacosSentinelなどのマイクロサービス技術スタックと深く統合されています。Envoy C++ゲートウェイコアの優れたパフォーマンスに基づいて、従来のJavaベースのマイクロサービスゲートウェイと比較して、リソース使用率を大幅に削減し、コストを削減できます。

  • セキュリティゲートウェイ:

Higressはセキュリティゲートウェイとして機能し、WAF機能を提供し、key-auth、hmac-auth、jwt-auth、basic-auth、oidcなどのさまざまな認証戦略をサポートします。

主な利点

  • プロダクションレベル

Alibabaで2年以上のプロダクション検証を経た内部製品から派生し、毎秒数十万のリクエストを処理する大規模なシナリオをサポートします。

Nginxのリロードによるトラフィックの揺れを完全に排除し、構成変更がミリ秒単位で反映され、ビジネスに影響を与えません。AIビジネスなどの長時間接続シナリオに特に適しています。

  • ストリーム処理

リクエスト/レスポンスボディの完全なストリーム処理をサポートし、Wasmプラグインを使用してSSE(Server-Sent Events)などのストリームプロトコルのメッセージをカスタマイズして処理できます。

AIビジネスなどの大帯域幅シナリオで、メモリ使用量を大幅に削減できます。

  • 拡張性

AI、トラフィック管理、セキュリティ保護などの一般的な機能をカバーする豊富な公式プラグインライブラリを提供し、90%以上のビジネスシナリオのニーズを満たします。

Wasmプラグイン拡張を主力とし、サンドボックス隔離を通じてメモリの安全性を確保し、複数のプログラミング言語をサポートし、プラグインバージョンの独立したアップグレードを許可し、トラフィックに影響を与えずにゲートウェイロジックをホットアップデートできます。

  • 安全で使いやすい

Ingress APIおよびGateway API標準に基づき、すぐに使用できるUIコンソールを提供し、WAF保護プラグイン、IP/Cookie CC保護プラグインをすぐに使用できます。

Let's Encryptの自動証明書発行および更新をサポートし、K8sを使用せずにデプロイでき、1行のDockerコマンドで起動でき、個人開発者にとって便利です。

機能紹介

AIゲートウェイデモ展示

OpenAIから他の大規模モデルへの移行を30秒で完了

Higress UIコンソール

  • 豊富な可観測性

すぐに使用できる可観測性を提供し、Grafana&Prometheusは組み込みのものを使用することも、自分で構築したものを接続することもできます。

  • プラグイン拡張メカニズム

公式にはさまざまなプラグインが提供されており、ユーザーは独自のプラグインを開発し、Docker/OCIイメージとして構築し、コンソールで構成して、プラグインロジックをリアルタイムで変更できます。トラフィックに影響を与えずにプラグインロジックをホットアップデートできます。

  • さまざまなサービス発見

デフォルトでK8s Serviceサービス発見を提供し、構成を通じてNacos/ZooKeeperなどのレジストリに接続してサービスを発見することも、静的IPまたはDNSに基づいて発見することもできます。

  • ドメインと証明書

TLS証明書を作成および管理し、ドメインのHTTP/HTTPS動作を構成できます。ドメインポリシーでは、特定のドメインに対してプラグインを適用することができます。

  • 豊富なルーティング機能

上記で定義されたサービス発見メカニズムを通じて、発見されたサービスはサービスリストに表示されます。ルーティングを作成する際に、ドメインを選択し、ルーティングマッチングメカニズムを定義し、ターゲットサービスを選択してルーティングを行います。ルーティングポリシーでは、特定のルーティングに対してプラグインを適用することができます。

コミュニティ

行動規範(Code of Conduct)

Higress コミュニティは CNCF Code of Conduct に従っています。プロジェクトが採用している行動規範は CODE_OF_CONDUCT.md に記載されていますので、コミュニティに参加する前にご確認ください。

ガバナンスとメンテナー

プロジェクトのガバナンス、メンテナー一覧、コントリビューションモデルについては GOVERNANCE.mdMAINTAINERS.md を参照してください。 初めて貢献される方は CONTRIBUTING_EN.md からお読みください。

セキュリティ

セキュリティに関する脆弱性は SECURITY.md に記載された手順に従って報告してください。

感謝

EnvoyとIstioのオープンソースの取り組みがなければ、Higressは実現できませんでした。これらのプロジェクトに最も誠実な敬意を表します。

交流グループ

image

技術共有

WeChat公式アカウント:

関連リポジトリ

  • Higressコンソール:https://github.com/higress-group/higress-console
  • Higress(スタンドアロン版):https://github.com/higress-group/higress-standalone
  • Higress Plugin Server:https://github.com/higress-group/plugin-server
  • Higress Wasm Plugin Golang SDK:https://github.com/higress-group/wasm-go

貢献者

contributors

スターの歴史

スターの歴史チャート


Cloud Native Computing Foundation

Cloud Native Computing Foundation

Higress は Cloud Native Computing Foundation のサンドボックスプロジェクトです。

The Linux Foundation® (TLF) は登録商標を所有し使用しています。LF の商標一覧については Trademark Usage をご参照ください。

Copyright Higress a Series of LF Projects, LLC. ウェブサイトの利用規約、商標ポリシー、 その他のプロジェクトポリシーについては https://lfprojects.org/policies/ をご参照ください。

<a href="#readme-top" style="text-decoration: none; color: #007bff; font-weight: bold;">
    ↑ トップに戻る ↑
</a>

Extension points exported contracts — how you extend this code

TransformRequestBodyHeadersHandler (Interface)
TransformRequestBodyHeadersHandler allows to transform request headers based on the request body. Some providers (e.g. g [10 …
plugins/wasm-go/extensions/ai-proxy/provider/provider.go
VectorDBProviderInitializer (Interface)
VectorDBProviderInitializer defines the interface for vector database provider initializers [58 implementers]
plugins/golang-filter/mcp-server/servers/rag/vectordb/provider.go
Parser (Interface)
(no doc) [25 implementers]
pkg/ingress/kube/annotations/interface.go
Asker (Interface)
(no doc) [8 implementers]
hgctl/pkg/plugin/install/asker.go
HttpContext (Interface)
(no doc) [6 implementers]
plugins/wasm-assemblyscript/assembly/plugin_wrapper.ts
RoundTripper (Interface)
RoundTripper is an interface used to make requests within conformance tests. This can be overridden with custom implemen [1 …
test/e2e/conformance/utils/roundtripper/roundtripper.go
ServerInterface (Interface)
(no doc) [2 implementers]
pkg/bootstrap/server.go
Watcher (Interface)
(no doc) [1 implementers]
registry/watcher.go

Core symbols most depended-on inside this repo

Equal
called by 4986
hgctl/pkg/helm/object/objects.go
Run
called by 1788
plugins/wasm-go/extensions/traffic-editor/pkg/command.go
Errorf
called by 1205
plugins/wasm-go/pkg/mcp/utils/log.go
Get
called by 1107
plugins/wasm-go/extensions/ai-proxy/provider/bedrock.go
String
called by 1072
hgctl/pkg/plugin/install/asker.go
New
called by 731
pkg/ingress/kube/common/model.go
Debugf
called by 565
hgctl/pkg/plugin/utils/debugger.go
Exists
called by 394
pkg/cert/storage.go

Shape

Function 4,510
Method 3,578
Struct 1,432
Interface 130
TypeAlias 100
FuncType 49
Class 41
Enum 3
Route 2

Languages

Go98%
TypeScript2%
Python1%

Modules by API surface

plugins/wasm-go/extensions/ai-proxy/provider/bedrock.go133 symbols
pkg/ingress/kube/gateway/istio/conversion.go95 symbols
api/extensions/v1alpha1/wasmplugin.pb.go87 symbols
plugins/wasm-go/extensions/ai-proxy/provider/vertex.go83 symbols
api/networking/v1/mcp_bridge.pb.go80 symbols
plugins/wasm-go/extensions/ai-proxy/provider/provider.go71 symbols
plugins/wasm-go/extensions/transformer/main.go70 symbols
plugins/wasm-go/extensions/ai-security-guard/main_test.go68 symbols
plugins/wasm-go/extensions/traffic-tag/main_extra_test.go65 symbols
api/networking/v1/http_2_rpc.pb.go63 symbols
plugins/wasm-go/extensions/ai-proxy/provider/model.go62 symbols
plugins/wasm-go/extensions/ai-proxy/provider/gemini.go61 symbols

Dependencies from manifests, versioned

4d63.com/gochecknoglobalsv0.1.0 · 1×
cel.dev/exprv0.24.0 · 1×
cloud.google.com/gov0.120.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/loggingv1.13.0 · 1×
cloud.google.com/go/longrunningv0.6.7 · 1×
dario.cat/mergov1.0.2 · 1×
github.com/Abirdcfly/dupwordv0.0.7 · 1×
github.com/AdaLogics/go-fuzz-headersv0.0.0-2024080614160 · 1×
github.com/AlecAivazis/survey/v2v2.3.7 · 1×

Datastores touched

mydbDatabase · 1 repos

For agents

$ claude mcp add higress \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact