十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Higress 2.2.0 发布详解:AI 可观测、模型智能路由与网关能力全面升级

Higress 2.2.0 发布详解:AI 可观测、模型智能路由与网关能力全面升级 Higress 2.2.0 发布详解AI 可观测、模型智能路由与网关能力全面升级【免费下载链接】higress AI Gateway | AI Native API Gateway项目地址: https://gitcode.com/GitHub_Trending/hi/higressHigress 2.2.0 是 AI 原生 API 网关AI Gateway演进中的重要版本共包含91 项更新Higress 核心 73 项 Higress Console 18 项覆盖 AI 可观测性、模型智能路由、AI 安全防护、多 Provider 兼容、MCP 生态、Agent/CLI 技能与平台基础设施等方向。阅读本文后你将系统掌握 2.2.0 的核心新特性、关键 Bug 修复与底层源码实现能够结合仓库中 ai-statistics、model-router、traffic-editor 等插件的配置与源码在生产环境中落地 AI 网关的可观测与智能路由能力。一、发布概览本次发布包含73项更新Higress 核心与18项更新Higress Console涵盖了功能增强、Bug 修复、性能优化等多个方面。完整变更日志可在 release-notes/2.2.0/README.md英文与 release-notes/2.2.0/README_ZH.md中文中查阅当前仓库版本号信息位于 VERSION。Higress 核心更新分布类别数量 新功能48 Bug 修复20♻️ 重构优化3 文档更新2Higress Console 更新分布类别数量 新功能7 Bug 修复10 文档更新1从版本节奏看2.2.0 通过 PR #3457 将版本号正式推进到 2.2.0并调整了 Envoy 子模块分支与 Makefile 中的包 URL 模式确保构建的一致性相关重构属于重构优化类别。二、AI 可观测性全面增强ai-statistics 插件演进AI 可观测是 2.2.0 的重点方向多个 PR 围绕 ai-statistics 插件 展开。2.1 Session ID 追踪多轮对话PR #3420贡献者 johnlanni为 AI 统计插件新增了会话 ID 跟踪能力支持通过自定义请求头或默认请求头获取 session_id从而追踪多轮 Agent 对话。结合源码看插件的常量定义中保留了一组默认的 session ID header 查找顺序x-openclaw-session-keyx-clawdbot-session-keyx-moltbot-session-keyx-agent-session同时支持通过session_id_header配置项指定自定义 header 名称。启用后访问日志中会自动出现session_id字段例如{ ai_log: {\session_id\:\sess_abc123\,\model\:\qwen-turbo\,\input_token\:\10\,\output_token\:\69\,\llm_first_token_duration\:\309\,\llm_service_duration\:\1955\} }这一能力为 Agent Session Monitor 技能PR #3426johnlanni奠定了基础——该技能支持实时解析 Higress 访问日志通过 session_id 追踪多轮对话并做 token 用量分析帮助用户监控 LLM 在 Higress 环境中的实时资源消耗。2.2 细粒度 Token 用量reasoning_tokens 与 cached_tokensPR #3424johnlanni为 ai-statistics 插件增加了详细 token 用量信息新增两个内置属性键reasoning_tokens与cached_tokens。从 main.go 源码 的内置属性常量可以看到插件现已内置question、system、answer、tool_calls、reasoning、reasoning_tokens、cached_tokens、input_token_details、output_token_details等一键可用的属性键无需再配置value_source与value。其中reasoning_tokens推理 token 数如 OpenAI o1 等推理模型从output_token_details.reasoning_tokens提取cached_tokens缓存命中的 token 数从input_token_details.cached_tokens提取input_token_details/output_token_details以 JSON 字符串形式记录完整的 token 详情对象OpenAI/Gemini/Anthropic 通用包含缓存、工具使用等详情。配置示例attributes: - key: reasoning_tokens # 推理token数o1等推理模型 apply_to_log: true - key: cached_tokens # 缓存命中的token数 apply_to_log: true - key: input_token_details apply_to_log: true - key: output_token_details apply_to_log: true典型日志输出{ ai_log: {\model\:\gpt-4o\,\input_token\:\100\,\output_token\:\50\,\reasoning_tokens\:\25\,\cached_tokens\:\80\,\input_token_details\:\{\\\cached_tokens\\\:80}\,\output_token_details\:\{\\\reasoning_tokens\\\:25}\,\llm_service_duration\:\2000\} }这些信息对于成本优化了解缓存命中率、优化 prompt caching 策略、性能分析分析推理 token 占比与使用统计细粒度统计各类 token都有直接价值。2.3 一键默认属性集use_default_attributesPR #3427johnlanni新增use_default_attributes配置项允许 ai-statistics 插件使用默认属性集显著简化配置流程。结合 插件 README插件实际提供两套默认配置模式轻量模式推荐生产环境——use_default_response_attributes: true字段说明model模型名称从请求体提取reasoning_tokens推理 token 数cached_tokens缓存命中 token 数input_token_details输入 token 详情output_token_details输出 token 详情轻量模式不缓冲流式响应体在高并发场景下内存占用显著更低例如 100 QPS、10s 延迟场景下完整模式约 1.5GB轻量模式约 1GB。完整模式——use_default_attributes: true自动记录messages、question、system、answer、reasoning、tool_calls等字段适合调试与审计场景但会缓冲完整请求体和流式响应体高并发生产环境需谨慎评估内存。从 main.go 的init()可以看到插件通过wrapper.SetCtx同时挂载了请求头、请求体、响应头、流式响应体、响应体等多阶段处理函数并使用WithRebuildMaxMemBytes200MB设置自动重建触发机制这与此前 PR #3218 中请求计数监控、内存使用监控与自动重建的增强一脉相承。2.4 流式响应观测能力插件对流式SSE响应提供了自动拼接机制是 AI 对话场景的观测基础内容类型拼接方式说明answer文本追加append将各 chunk 的delta.content按顺序拼接成完整回答reasoning文本追加append将各 chunk 的delta.reasoning_content按顺序拼接tool_calls按 index 组装识别每个工具调用的index分别拼接各自的arguments流式场景还额外记录llm_first_token_duration首字延迟与llm_stream_duration_count流式请求次数两个指标可用 PromQL 计算平均首字延迟irate(route_upstream_model_consumer_metric_llm_first_token_duration[5m]) / irate(route_upstream_model_consumer_metric_llm_stream_duration_count[5m])三、模型路由与映射model-router / model-mapper3.1 全新 Wasm-Go 插件model-mapper 与 model-routerPR #3317rinfx新增了model-mapper与model-router两个 Wasm-Go 插件支持基于 LLM 协议中model参数进行映射与路由包括前缀匹配与通配符兜底。结合 model-router 源码插件的核心配置项包括名称数据类型默认值描述modelKeystringmodel请求 body 中 model 参数的位置addProviderHeaderstring-从 model 参数解析出的 provider 名字写入的请求 headermodelToHeaderstring-直接将 model 参数写入的请求 headerenableOnPathSuffix[]string[/completions,/embeddings,/images/generations,/audio/speech,/fine_tuning/jobs,/moderations,/image-synthesis,/video-synthesis,/rerank,/messages]只对特定路径后缀生效可配置*匹配所有路径keepOriginalModelNameboolfalse保留原始 model 字段不改写请求体autoRoutingobject-自动路由配置插件执行阶段为认证阶段优先级 900。典型用法是modelToHeader: x-higress-llm-model将请求中的 model 参数提取到请求头用于路由匹配或addProviderHeader: x-higress-llm-provider把dashscope/qwen-long这种provider/model格式中的 provider 部分dashscope提取到 header 并将请求体改写为qwen-long。3.2 保留原始模型名keepOriginalModelNamePR #3422 修复了 model-router 自动路由模式下请求体 model 字段未更新的问题贡献者 johnlanni保证下游收到的模型名是路由决策后的真实值而非默认的higress/auto。同时针对 AI 模型聚合平台如百炼/DashScope接入的第三方厂商模型名本身包含/如MiniMax/MiniMax-M2.7的场景keepOriginalModelName: true允许在保留 provider header 提取能力的同时不改写请求体 model 字段。3.3 基于消息内容的自动路由autoRoutingPR #3403johnlanni为 model-router 增加了基于用户消息内容的自动路由功能通过正则表达式匹配用户输入决定使用哪个模型。当请求 model 参数为higress/auto时触发autoRouting: enable: true defaultModel: qwen-turbo rules: - pattern: (?i)(画|绘|生成图|图片|image|draw|paint) model: qwen-vl-max - pattern: (?i)(代码|编程|code|program|function|debug) model: qwen-coder - pattern: (?i)(翻译|translate|translation) model: qwen-turbo - pattern: (?i)(数学|计算|math|calculate) model: qwen-math工作原理检测到higress/auto→ 提取messages数组中最后一条role: user的消息内容 → 按规则顺序正则匹配 → 命中则设置x-higress-llm-model请求头 → 全部未命中则回落到defaultModel。自动路由同时支持字符串格式与数组格式多模态提取最后一个text类型内容的消息 content。与自动路由相关的增强还包括 PR #3218johnlanni增强 model mapper/router加入请求计数监控与内存使用监控设置自动重建触发机制并扩展支持的路径后缀PR #3237CH3CHO增大了 model-router 处理 multipart 数据时的请求体缓冲区以支持更大的文件上传。3.4 相关 Bug 修复PR #3370rinfx修复 model-mapper 后缀不匹配时仍处理请求 body 的问题并增加 JSON 校验PR #3380Thomas-Eliot在请求处理函数中设置请求模型上下文确保调用链中可正确访问请求模型数据。四、AI Provider 支持矩阵扩展2.2.0 在 Provider 兼容层投入大量精力尤其是 Vertex AI 与 AWS Bedrock。4.1 Vertex AI Provider 的多模式支持围绕 ai-proxy 插件的 Vertex AI Provider本版本实现了五类能力PR贡献者能力#3324wydreamOpenAI 兼容端点可直接使用 OpenAI SDK 与 API 格式调用 Vertex AI 模型简化从 OpenAI 的迁移#3335wydream图片生成将 OpenAI 图片生成协议转换为 Vertex AI 协议可用标准 OpenAI SDK 调用#3301wydreamExpress Mode简化认证流程用 API Key 即可快速接入无需配置复杂的 Service Account#3375wydreamVertex Raw 模式访问原生 REST API 时启用getAccessTokenOAuth 认证机制#3213rinfx全球区域支持修改请求域名以适配 Gemini-3 系列模型#3236rinfxVertex AI 上支持 Claude 模型并处理 delta 为空等边界情况4.2 认证与通用化PR #3305CZJCCAWS Bedrock Provider 新增 Bearer Token 认证支持保留原 AWS Signature V4 认证方式PR #3394changsci当provider.apiTokens未配置时支持从请求头获取 API Key涉及openai.go与provider.go的配置逻辑PR #3175wydream新增通用 Provider处理未映射路径的请求利用共享 header 与basePath工具PR #3184rinfx豆包插件支持用户自定义域名配置PR #3200YTGhostai-proxy 支持数组类型 content扩展chatToolMessage2BedrockMessage函数能力。4.3 请求处理修复PR #3257sjtuzbk修复 ai-proxy 直接改写 host 的问题改用net/url正确提取 hostnamedifyApiUrl 场景PR #3225wydream修复protocol: original配置下basePathHandling: removePrefix失效的问题调整 27 个 AI 服务提供商的请求头转换逻辑PR #3211CH3CHO将请求体判断逻辑从依赖特定 header 改为新的HasRequestBody逻辑PR #3251rinfx对 jsonpath 提取内容为空的情况以[empty content]替代PR #3168wydream修复正则路径匹配时查询字符串被错误移除的问题——先剥离 query 再匹配、匹配后重新附加。五、AI 安全与内容防护PR #3075rinfx重构了 ai-security-guard 插件支持多模态输入检测增强文本与图片生成场景的安全性并修复部分边界响应异常PR #3206rinfx进一步实现请求体中 prompt 与图片的内容检查强化图像生成请求的内容安全PR #3295rinfx为 ai-security-guard 增加 MCP 支持涵盖标准响应与流式响应的安全检查可保护模型上下文协议MCP相关数据安全。六、AI 网关与 Agent 生态技能Skills、CLI 与集成2.2.0 在AI Agent 网关方向密集发力围绕 Claude/Clawdbot/OpenClaw 生态与 hgctl 命令行工具构建了一整套技能Skills体系。6.1 Claude Code 模式与 Clawdbot/OpenClaw 集成PR #3459johnlanni增加 Claude Code 模式支持允许使用 OAuth Token 认证并模仿 Claude CLI 的请求格式扩展了与 Anthropic Claude API 交互的能力PR #3428johnlanni新增higress-auto-router与higress-clawdbot-integration两个技能支持自然语言配置自动模型路由以及通过 CLI 参数部署 Higress AI GatewayPR #3437johnlanni将higress-ai-gateway插件集成进higress-clawdbot-integration技能迁移并捆绑相关文件简化安装配置PR #3436johnlanni更新 Higress-OpenClaw 集成的服务提供商列表将 OpenClaw 插件包从 higress-standalone 迁移到主仓库PR #3438johnlanni改进 higress-clawdbot-integration 技能文档结构实现 Clawdbot 插件的完全兼容PR #3409johnlanni新增contextCleanupCommands配置项用户消息与清理命令完全匹配时清除此前所有非系统消息实现对话历史的主动管理PR #3462johnlanni移除 Claude Code 模式下自动注入 Bash 工具的功能重构优化简化代码库。6.2 开发与运维技能PR #3402johnlanni新增使用 Go 1.24 开发 Higress WASM 插件的 Claude 技能覆盖 HTTP 客户端、Redis 客户端与本地测试参考文档PR #3404johnlanni新增 Higress 社区治理日报生成技能自动追踪项目 GitHub 活动并生成结构化报告PR #3411johnlanni新增从 ingress-nginx 迁移到 Higress 的技能支持分析现有 Nginx Ingress 资源、生成迁移测试脚本、为不支持的功能创建 Wasm 插件框架PR #3417johnlanni增加关于不支持片段的重要警告与迁移前检查命令帮助用户识别受影响的 Ingress 资源PR #3267erasernoob实现 hgctl agent 模块新增功能与相关服务相关代码位于 hgctl/pkg/agent。6.3 语义化工具搜索PR #3136Wangzy455新增基于 Milvus 向量数据库的工具搜索服务器将工具描述转换为向量实现语义匹配用户可通过自然语言查询找到最相关工具。七、负载均衡与流量管理7.1 智能负载均衡PR #3255nixidexiangjiao改进全局最小请求数负载均衡策略修复异常节点偏好性选择、新节点处理不一致与采样分布不均问题避免流量集中到故障节点PR #3063rinfx新增基于并发数、TTFT、RT 等指标进行跨集群与端点负载均衡的能力PR #3252rinfx跨 Provider 负载均衡增加惩罚机制避免快速错误响应干扰服务选择并优化 debug 日志。7.2 服务发现增强PR #3342Aias00实现 Nacos 实例权重到 Istio WorkloadEntry 权重的映射实现更精确的流量分配PR #3220Aias00修复跳过不健康或禁用的 Nacos 服务并确保AllowTools字段即使为空也能被序列化PR #3384ThxCode-Chen在watcher.go的generateServiceEntry中新增静态 IPv6 地址识别与处理逻辑。7.3 流量编辑与缓存PR #2825CH3CHO新增traffic-editor插件允许对请求/响应进行编辑。结合 traffic-editor 源码 与 配置文档该插件在请求头与响应头处理阶段执行defaultConfig无条件命令集与conditionalConfigs条件命令集支持set、concat、copy、delete、rename五种命令类型与equals、prefix、suffix、contains、regex五种条件类型字段引用Ref支持request_header、request_query、response_header三类目标。配置示例{ defaultConfig: { disableReroute: false, commands: [ { type: set, target: { type: request_header, name: x-user }, value: admin }, { type: delete, target: { type: request_header, name: x-dummy } } ] }, conditionalConfigs: [ { conditions: [ { type: equals, value1: { type: request_query, name: id }, value2: 1 } ], commands: [ { type: set, target: { type: response_header, name: x-id }, value: 1 } ] } ] }PR #3061Jing-ze修复 response-cache 插件的实现问题并补充完整单元测试缓存键提取逻辑、接口不匹配、配置验证尾部空白修正。八、MCP 生态增强PR #3341zth9修复并发 SSE 连接返回错误端点的问题修改 mcp-session 插件配置与过滤器逻辑确保每个过滤器正确创建独立的 SSE 服务器实例PR #3258johnlanni修复 MCP 服务器版本协商问题以符合规范并更新依赖PR #3187CH3CHO绕过 MCP 可流式传输响应体的处理以允许进度通知PR #3148rinfx移除toolcall index字段的omitempty标签确保无 index 时默认值 0 也能正确传递。九、平台与基础设施升级9.1 依赖与子模块升级PR #3066EndlessSeeker升级 Istio 至 1.27.1调整 higress-core 适配新版本修复子模块分支拉取问题并修正集成测试PR #3455EndlessSeeker升级 Envoy 与 go-control-plane 版本Istio 同步使用最新版 go-control-planePR #3160EndlessSeeker升级 Gateway API 至最新版本并适配相关配置PR #3167EndlessSeeker更新多个子模块引用至最新版并简化 Makefile 相关命令PR #3367rinfx更新 wasm-go 依赖引入 Foreign Function 使 Wasm 插件实时感知 Envoy 宿主日志等级优化日志处理减少内存分配与拷贝。9.2 部署与调度PR #3173EndlessSeeker新增全局参数支持推理扩展inference scaling可启用或禁用涉及 Helm 模板与 values 文件PR #3171wilsonwu为 gateway 与 controller 增加 topology spread constraints 支持允许定义更细粒度的 Pod 分布策略PR #3022lwpk110修复 Helm 模板缺失gateway.metrics.labels支持的问题添加podMonitorSelector并设置默认 PodMonitor 选择器标签实现与 kube-prometheus-stack 的无缝自动发现PR #3400johnlanni修复service.yaml中loadBalancerClass字段重复定义导致的 YAML 解析错误PR #3155github-actions[bot]更新 helm 目录 CRD 文件增加routeType字段及枚举值定义PR #3318hanxiantao通过withConditionalAuth中间件将 Istio 原生认证逻辑应用于 debug 端点同时保留基于DebugAuth功能标志的既有行为提升调试端点安全性。9.3 文档与生态PR #3244maplecap在 ADOPTERS.md 中新增快手作为 Higress 采用者PR #3241qshuai删除 ai-token-ratelimit 插件 README 中不存在的配置项show_limit_quota_header条目避免误导PR #3434johnlanni修复技能描述中的 YAML 解析错误为含冒号的值添加双引号。十、Higress Console 2.2.018 项更新Higress Console 同步发布 18 项更新新功能 7 项、Bug 修复 10 项、文档更新 1 项。10.1 新功能PR #621Thomas-Eliot优化 MCP Server 交互能力包括直接路由场景的 header host 重写、支持选择 transport、DB to MCP Server 场景特殊字符支持PR #612zhwaaaaaa将 hop-by-hop 头加入忽略列表解决 Grafana 页面因transfer-encoding: chunked头无法正常工作的问题符合 RFC 2616PR #608Libres-coderAI 路由管理页面支持显示已启用插件及其状态PR #604CH3CHO引入higress.io/rewrite-target注解支持基于正则表达式的路径重写PR #603CH3CHO前端为静态服务源显示固定服务端口 80提升配置透明度PR #602CH3CHOAI 路由配置时支持服务搜索快速定位上游服务PR #566OuterCyrex新增自定义 Qwen 服务支持包括启用互联网搜索、文件 ID 上传。10.2 Bug 修复PR #620CH3CHO修正sortWasmPluginMatchRules逻辑中的拼写错误PR #619CH3CHOAiRoute 转 ConfigMap 时移除数据 JSON 中的版本信息元数据中已有减少冗余PR #618CH3CHO重构 SystemController API 认证逻辑引入新注解并修改 AOP 切面消除安全漏洞PR #617CH3CHO修复前端列表元素缺少唯一 key、图片加载违反 CSP、Consumer.name 字段类型错误PR #614lc0138修正 ServiceSource 类 type 字段类型错误并增加字典值校验PR #613lc0138修复前端 CSP 安全问题document.tsx 增加 15 行代码PR #611qshuai修正 LlmProvidersController.java 中 API 标题拼写错误PR #609CH3CHO修复 Consumer 接口 name 字段类型错误布尔改为字符串PR #605SaladDay调整 AI 路由名称正则校验规则支持点号并统一大小写限制PR #552lcfang新增vport属性适配 mcpbridge解决服务实例端口变化导致的路由配置失效。10.3 文档更新PR #610heimanba调整前端灰度插件配置文档多个字段的必填性更新关联规则并同步中英文文档。十一、发布统计与升级指引11.1 统计数据项目新功能Bug 修复重构优化文档更新总计Higress 核心48203273Higress Console7100118合计5530339111.2 升级与验证建议AI 可观测升级后建议先在 ai-statistics 插件上开启use_default_response_attributes轻量模式配合session_id_header验证多轮对话追踪再按需开启完整属性集智能路由配置 model-router 的autoRouting前建议先以modelToHeader验证模型头注入链路再逐步引入正则规则注意(?i)大小写不敏感与|多关键词写法流量编辑traffic-editor 的命令与条件配置可先在测试路由上验证defaultConfig/conditionalConfigs的生效顺序监控集成确认 Helm 部署时podMonitorSelector默认标签与 kube-prometheus-stack 自动发现是否生效迁移场景从 ingress-nginx 迁移时先运行 PR #3417 提供的迁移前检查命令识别不支持的 Ingress 片段再使用迁移技能生成测试脚本与 Wasm 插件框架。更多版本信息可查阅 release-notes 目录下的历史版本发布说明各插件的完整配置说明见 plugins/wasm-go/extensions 中对应插件的 README 文档。【免费下载链接】higress AI Gateway | AI Native API Gateway项目地址: https://gitcode.com/GitHub_Trending/hi/higress创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表