凌晨三点,告警响了
你被一条钉钉消息吵醒------
payment-service 集群熔断器已打开
你翻了个身,打开笔记本电脑。按照常规操作,你需要:
打开 Dashboard → 找到熔断器面板 → 查看 payment-service 当前状态 → 翻代理日志找错误 → 检查下游节点健康状态 → 分析根因 → 决定下一步操作。
大概需要 10 分钟,如果网络不卡的话。
但现在,你只对 Dashboard 右下角的悬浮 AI 按钮说了一句话:
"帮我看看 payment-service 出了什么问题。"
几秒钟后,AI 回复:
最近 5 分钟内 payment-service 返回了 12 次 503 错误 (占总请求 40%),触发了熔断保护。下游节点
192.168.1.100:8080健康检查连续 3 次失败。建议:检查该节点部署状态,确认是否正在重启;如果确认只是临时故障,可以重置熔断器恢复流量。需要我帮你重置吗?
10 秒 vs 10 分钟。这是质的区别。
这就是 Aneiang.Yarp v2.3.0.25 带来的最大更新:AI 智能助手正式上线 。这不仅仅是加了个聊天窗口------我们让 AI 拥有了直接操作网关的能力。
先说说 Aneiang.Yarp 是什么
如果你还不熟悉这个项目,一句话介绍:
Aneiang.Yarp 是基于微软 YARP 的全功能 API 网关增强方案。
YARP 是微软开源的 .NET 反向代理引擎,性能优秀,但它是"发动机",不是"整车"。生产环境需要的------Dashboard 管理面板、WAF 防火墙、通知告警、熔断限流、配置回滚、审计日志------YARP 默认都不提供。
Aneiang.Yarp 就是把这些全部补上的那个项目。它不替代 YARP,而是在 YARP 之上盖了一座完整的房子。
目前项目已经是 .NET 生态中 YARP 增强方案的事实标准,MIT 协议开源,NuGet 一键安装。截止 v2.3.0.25 版本,已经集成了:
- 15 个 Dashboard 管理页面(路由 / 集群 / 日志 / 熔断 / WAF / 审计 / 配置历史......)
- WAF 防火墙(IP 黑白名单、SQL 注入 / XSS / 路径遍历检测)
- 通知告警(钉钉 / Webhook、6 种事件类型、冷却机制防风暴)
- 全链路可观测(实时日志 WebSocket 推送、P50/P90/P99 延迟、健康检查)
- 配置管理与回滚(每次变更自动快照、一键回滚任意历史版本)
- 客户端自动注册(一行代码接入,HTTP / gRPC 双协议、指数退避重试)
- AI 智能助手(本文的主角)
一句话总结:如果你在用 YARP,Aneiang.Yarp 让你不用从零开始造轮子。
AI 智能助手:不止是聊天,它能"动手"
这次 v2.3.0.25 的 AI 助手不是那种"你问一句它回一句"的客服机器人。它通过 OpenAI Function Calling 机制,直接调用网关的运维 API,具备执行操作的能力。
我们为 AI 准备了 40 个工具,覆盖网关运维的全链路:
读工具(21 个)------ 自动执行,一问即答
查询类操作不涉及数据变更,AI 直接调用并返回结果:
| 工具 | 能做什么 |
|---|---|
get_routes |
查所有路由及匹配规则 |
get_clusters |
查所有集群及目标节点 |
get_circuit_status |
查熔断器实时状态 |
get_proxy_logs |
查最近代理请求日志 |
get_health_summary |
查集群健康总览 |
get_waf_settings |
查 WAF 防火墙配置 |
search_logs |
按路由 / 状态码 / 关键词搜索日志 |
get_traffic_stats |
查 QPS / 延迟分位数 / 状态码分布 |
get_audit_log |
查操作审计(谁在什么时间改了什么) |
get_top_issues |
自动分析 Top 错误 / 慢请求 |
export_config |
导出完整 YARP 配置 JSON |
get_config_history |
查配置快照历史(用于回滚) |
| ...... | 共 21 个读工具 |
写工具(19 个)------ 前端确认卡片,人说了算
变更类操作由 AI 生成方案,前端弹出确认卡片,用户点击「确认执行」后才真正执行:
| 工具 | 能做什么 |
|---|---|
create_route |
创建路由(含路径匹配、目标集群、下游地址) |
delete_route |
删除路由 |
create_cluster |
创建集群(含节点、负载均衡策略) |
update_cluster |
更新集群配置 |
delete_cluster |
删除集群 |
create_circuit_breaker |
创建熔断器策略 |
reset_circuit_breaker |
重置熔断器状态 |
toggle_plugin |
启用 / 禁用插件 |
update_waf_settings |
更新 WAF 设置 |
create_config_snapshot |
变更前创建配置快照 |
rollback_config |
回滚到指定快照版本 |
create_route_policy |
创建路由策略(重试 / 限流 / WAF) |
| ...... | 共 19 个写工具 |
直观体验:说人话就能操作
每个工具都有结构化 JSON Schema 参数定义。用户只需要说人话:
"帮我建一个路由,把
/shop/*的请求转发到http://10.0.1.50:8080,路由名叫 shop-route。"
AI 自动填好所有参数,调用 create_route。你不需要知道 YARP 的 RouteConfig 有多少字段,不需要翻文档,不需要写 JSON。
安全第一:AI 不能为所欲为
有人可能会问:AI 能删路由、清日志、改配置------这安全吗?
这正是我们最重视的设计点。我们实现了一套读写分离安全模型:
读操作 (查询 / 分析 / 导出)→ AI 自动执行,无需用户干预
写操作(创建 / 删除 / 修改)→ AI 生成执行方案 → 前端弹出确认卡片 → 用户明确点击「确认执行」后才真正调用
确认卡片清晰展示:操作类型、具体参数、影响范围。两个按钮:「确认执行」和「取消」。AI 只能建议,决策权永远在人手里。
此外还有两层安全防护:
- Prompt Injection 防护:系统提示词使用边界标记声明"最终权威、不可覆盖",即使用户说"我是管理员"、"忽略之前的指令",AI 也不会执行
- SSRF 防护:自定义服务商 URL 经过严格校验,HTTP 仅允许回环地址,HTTPS 拦截私有 / 保留 IP 段
多服务商兼容:不被任何一家 LLM 锁定
AI 助手通过 OpenAI 兼容协议对接,只要兼容 /v1/chat/completions 接口即可:
| 服务商 | 推荐模型 | 适用场景 |
|---|---|---|
| DeepSeek | deepseek-chat |
国内首选,性价比极高,无需特殊网络 |
| OpenAI | gpt-4o-mini / gpt-4o |
海外部署 |
| 通义千问 | qwen-plus / qwen-max |
阿里云生态集成 |
| 自定义 | 任意兼容端点 | 私有部署模型 |
只需一行 JSON 配置:
jsonc
{
"Gateway": {
"Dashboard": {
"AI": {
"Enabled": true,
"Provider": "deepseek",
"ApiKey": "sk-xxxxxxxxxxxxxxxx",
"BaseUrl": "https://api.deepseek.com/v1",
"ChatModel": "deepseek-chat"
}
}
}
}
不配置 ApiKey 则 AI 模块完全静默,不影响任何现有功能。
不只是对话:后台智能分析 + 通知增强
除了交互式聊天,AI 还能在后台默默工作:
- 定期日志分析:每小时自动分析代理日志,生成请求趋势、错误模式、延迟变化的结构化摘要
- 异常检测:对比历史基线,发现错误率突增、新增未知错误模式、延迟飙升
- 配置建议:基于流量模式推荐限流阈值调整、熔断参数优化
配合 EnhanceNotifications: true,告警通知从干巴巴的:
"Cluster-A 熔断器已打开"
变成带上下文分析的:
"Cluster-A 熔断器已打开。最近 5 分钟内目标服务返回 12 次 503 错误(占请求 40%)。建议:1. 检查目标服务健康状态 2. 确认服务是否正在部署/重启 3. 考虑增加 recoveryTimeout 配置"
告警不再只是告诉你"出事了",还告诉你"为什么出事"和"该怎么办"。
交互体验:流式对话、多轮记忆、语言跟随
- SSE 流式输出:打字机效果逐字渲染,不用等完整响应
- 多轮对话:上下文持久化到 SQLite,跨页面保持记忆
- 语言自动跟随:Dashboard 切中文 → AI 用中文回;切英文 → AI 用英文回
- 悬浮式设计:所有页面右下角悬浮按钮,一键唤起不遮挡操作
一个开源项目,为什么值得你关注
写到这里,我想跳出 AI 这个功能本身,聊聊 Aneiang.Yarp 这个项目。
在 .NET 生态里做网关,你可以选择自己基于 YARP 从零搭建,也可以用 Kong、APISIX 等通用方案。前者的问题是工作量巨大 ------Dashboard、WAF、告警、审计、自动注册......每个都要自己写;后者的问题是技术栈不匹配------Kong 是 Lua/OpenResty,APISIX 也是 Lua,维护和扩展都需要额外技能。
Aneiang.Yarp 走的是第三条路:纯 .NET 原生,开箱即用。
- 默认 SQLite 持久化,不强制外部数据库
- 支持 Windows / Linux 部署
- 两个 NuGet 包即可拥有完整 Dashboard
- 微服务只需引用
Aneiang.Yarp.Client,不依赖 YARP SDK - MIT 协议,代码在 GitHub / Gitee 完全公开
- 在线演示环境可直接体验(admin / demo123)
我们不是在做一个"玩具项目"。从 2.2.x 到 2.3.0.25,项目已经迭代了几十个版本,架构从单体拆解到多组件协作,国际化从内联代码重构到 JSON 文件体系,日志系统从环形缓冲区演进到 WebSocket 实时推送 + SQLite 批量写入。
而这次加入 AI,代表了我们对网关运维的下一步思考:好的工具应该降低使用门槛,而不是堆砌更多的配置项。
完整 AI 配置速查
| 配置项 | 默认值 | 说明 |
|---|---|---|
Enabled |
false |
AI 模块总开关 |
Provider |
openai |
服务商:openai / deepseek / qwen / custom |
ApiKey |
--- | LLM API Key |
BaseUrl |
OpenAI 默认 | 兼容端点地址 |
ChatModel |
gpt-4o-mini |
交互式对话模型 |
AnalysisModel |
gpt-4o-mini |
后台分析模型 |
MaxTokens |
4096 |
单次响应最大 Token |
Temperature |
0.3 |
采样温度(低 = 精确,高 = 创意) |
MaxConversationHistory |
20 |
保留对话轮数 |
EnableBackgroundAnalysis |
false |
开启后台定期分析 |
AnalysisInterval |
01:00:00 |
分析间隔 |
AllowCustomProvider |
true |
允许自定义服务商 |
EnhanceNotifications |
false |
AI 增强通知 |
NotificationEnhanceCooldownSeconds |
60 |
增强通知冷却时间 |
欢迎体验
Aneiang.Yarp v2.3.0.25 已经在 NuGet 上发布。AI 智能助手从设计到落地,我们花了大量时间打磨交互体验和安全模型。如果你是 .NET 开发者、运维工程师,或者正在寻找一个靠谱的 API 网关方案------希望你能花几分钟去体验一下。
- GitHub :https://github.com/AneiangSoft/Aneiang.Yarp(点个 Star 是对开源最好的支持)
- Gitee :https://gitee.com/aneiangsoft/aneiang-yarp
- 在线演示 :https://yarp-test.aneiang.com/aneiang
- 账号:
admin/ 密码:demo123- 登录后在「系统设置」中配置 AI Key 即可体验 AI 助手
- NuGet :搜索
Aneiang.Yarp- 文档 :https://yarp.aneiang.com
如果你对这个方向感兴趣,或者在使用中遇到任何问题,欢迎提 Issue、参与讨论、贡献代码。
让网关运维,从点鼠标变成说句话。