NetcoreKevin:.NET 企业级智能体管理框架

NetcoreKevin:.NET 企业级智能体管理框架

1. 框架简介

NetcoreKevin 是一款基于 .NET 8 的企业级智能体(AI Agent)管理框架 ,为团队提供智能体 Skill 与工具的可视化编排能力 ,并通过细粒度的角色权限体系实现智能体的安全授权与合规使用。框架完全开源,采用 Apache 2.0 协议,致力于降低企业构建、治理和运营 AI 智能体的复杂度。

GitHub:https://github.com/junkai-li/NetCoreKevin

gitee:https://gitee.com/netkevin-li

2. 核心特性

  • 智能体 Skill 可视化编排:提供 Web 管理面板,用拖拽方式设计 Skill 流程,支持条件、循环、并行等节点。
  • 工具集市与动态注册:内置 HTTP API、SQL 查询、Python 脚本、代码解释器等多种工具,支持动态上传 OpenAPI 规范自动生成工具。
  • 用户-角色-权限三维授权:基于 RBAC + 策略授权的模型,精细控制谁可以创建、编辑、调用某个智能体。
  • 多智能体协作:支持智能体间的消息路由和上下文共享,构建多 Agent 协作流程。
  • 企业级观测:集成 OpenTelemetry,提供 Skill 执行追踪、工具调用耗时、Token 用量等仪表板。
  • 插件化架构:Skill、Tool、Permission Provider 均可通过 NuGet 包或本地 DLL 热插拔。
  • 多租户隔离:天然支持 SaaS 场景,租户间数据、智能体、工具完全隔离。

3. 整体架构

NetcoreKevin 采用清晰的分层架构与微内核设计,核心模块如下图所示(文字描述):

复制代码
┌──────────────────────────────────────────────┐
│             NetcoreKevin.Studio              │
│         (Blazor WebAssembly 管理端)          │
├──────────────────────────────────────────────┤
│           NetcoreKevin.AgentHub              │
│   (智能体运行时,Skill引擎,工具调度器)       │
├──────────────┬───────────────┬───────────────┤
│ NetcoreKevin.│ NetcoreKevin. │ NetcoreKevin. │
│   Skills     │   Tools       │   Auth        │
├──────────────┴───────────────┴───────────────┤
│      基础设施(EF Core, Redis, RabbitMQ)      │
└──────────────────────────────────────────────┘
  • NetcoreKevin.Studio:面向管理员和开发者的可视化操作面板,管理智能体、Skill、工具和权限。
  • NetcoreKevin.AgentHub:智能体运行时核心,负责 Skill 流程执行、工具动态调用、上下文管理。
  • NetcoreKevin.Skills:Skill 定义、加载、编排引擎,支持 YAML/JSON 描述的 Skill 图。
  • NetcoreKevin.Tools:工具注册中心,提供标准化接口对接各类外部能力。
  • NetcoreKevin.Auth:权限与授权模块,提供策略评估、角色解析和令牌签发。

4. 智能体 Skill 与工具可视化管理

4.1 Skill 可视化设计器

在 Studio 中,用户可以通过拖拽节点创建智能体 Skill。Skill 节点分为:

  • 入口节点:接收用户输入或上游智能体消息。
  • LLM 节点:配置 Prompt 模板、绑定模型(OpenAI / 本地模型)。
  • 工具节点:从工具集市选择工具,自动映射输入输出。
  • 逻辑控制节点:条件判断、循环、并行。
  • 输出节点:定义最终返回的结构化数据。

示例 Skill 定义(YAML):

yaml 复制代码
name: customer_complaint_analysis
entry:
  type: llm
  prompt: "分析以下客户投诉的情感倾向和紧急程度:{{input}}"
  model: gpt-4
  output: complaint_info
tools:
  - name: create_jira_ticket
    when: complaint_info.urgency == 'high'
    parameters:
      summary: "投诉: {{complaint_info.summary}}"
      priority: "High"
output:
  type: json
  template: |
    {
      "sentiment": "{{complaint_info.sentiment}}",
      "ticket_id": "{{create_jira_ticket.id}}"
    }

通过画布编排,上述 YAML 可直观拖拽生成,并实时调试运行。

4.2 工具集市

工具集市内置了常用连接器,并支持自定义工具上传

  • OpenAPI 工具:上传 Swagger JSON,系统自动生成工具卡片及参数表单。
  • 数据库工具:配置连接串和 SQL 模板,生成参数化查询工具。
  • 代码工具:在线编写 C#/Python 脚本,由沙箱执行并返回结果。
  • 第三方服务工具:预集成 Azure AI Services、AWS Lambda 等。

所有工具均通过 IToolExecutor 接口接入,运行时提供链路跟踪和速率限制。

5. 用户角色权限与智能体授权

NetcoreKevin 的权限模型基于 RBAC + 智能体策略,实现"谁能用、能怎么用、能用哪个智能体"的精准控制。

5.1 权限模型核心概念

  • 用户 (User):系统登录实体,可关联多个角色。
  • 角色 (Role):权限的集合,如 "AgentDeveloper"、"AgentUser"、"Admin"。
  • 智能体权限项 (AgentPermission) :按智能体划分的细粒度权限,包括:
    • agent.read -- 查看智能体信息
    • agent.invoke -- 调用智能体
    • agent.edit -- 编辑 Skill/工具绑定
    • agent.delete -- 删除智能体
    • agent.manage_auth -- 管理智能体授权
  • 授权策略 (Policy):根据角色+智能体+资源标签动态评估访问请求。

5.2 权限配置可视化

在 Studio 的权限管理页面,管理员可以:

  1. 为每个智能体定义所需权限级别。
  2. 向角色授予指定智能体的权限(支持批量操作)。
  3. 查看某个用户的最终权限集合(角色叠加)。
  4. 设置临时授权(如外部合作方限制调用次数和时间窗口)。

示例授权场景:

  • 客服智能体 cs_agent 仅允许 Support_Role 的成员调用,并限制每小时最大 100 次请求。
  • 智能体工厂智能体 factory_analyst 允许 Engineering_Role 编辑 Skill,但仅 Maintenance_Role 可调用其中"传感器读取"工具。

5.3 技术实现要点

后端使用 .NET 的 IAuthorizationHandler 结合自定义 AgentRequirement 进行授权检查:

csharp 复制代码
public class AgentAuthorizationHandler : AuthorizationHandler<AgentRequirement, Agent>
{
    protected override Task HandleRequirementAsync(AuthorizationHandlerContext context,
        AgentRequirement requirement, Agent resource)
    {
        if (context.User.HasClaim("agent_permission", $"{resource.Id}:{requirement.Operation}"))
            context.Succeed(requirement);
        return Task.CompletedTask;
    }
}

所有对 Agent Hub 的 API 调用都经过 ASP.NET Core 的 Policy 中间件,确保未授权用户无法访问任何智能体资源。

6. 可视化界面展示(部分页面描述)

  • 智能体列表:卡片式展示,可快速看到每个智能体的状态(上线/下线)、拥有 Skill 版本、已授权角色数量。
  • Skill 编辑器:全功能拖拽编排器,支持断点调试、上下文预览、版本管理和回滚。
  • 工具集市:类"插件市场"界面,工具状态、请求次数一目了然,一键启用/禁用。
  • 权限管理中心:左侧用户/角色树,右侧智能体-权限矩阵,支持 Excel 导入导出授权关系。
相关推荐
light blue bird2 小时前
工序路径主子表单工序组装图表组件
前端·数据库·信息可视化·.net·web端·razor page
SEO-狼术2 小时前
Visualize Trends with Bar Charts
pdf·.net
步步为营DotNet3 小时前
解锁.NET 11:Native AOT 在高性能后端服务的深度实践与剖析
.net
望晨空忧14 小时前
Avalonia 制作复杂布局动画
.net·avalonia
唐青枫19 小时前
C#.NET YARP 服务发现实战:接入 Consul 和 Kubernetes 动态发现后端服务
c#·.net
largecode19 小时前
座机号码认证如何操作?申请热线实名名片,树立统一官方客服形象
linux·sql·华为·c#·.net·wpf·harmonyos
小满Autumn1 天前
WPF 入门:XAML 语法、布局与数据绑定
microsoft·c#·.net·wpf
光泽雨1 天前
ADO.NET 进阶知识与实战坑位深度解析
性能优化·架构·.net
步步为营DotNet1 天前
解密.NET 11:C# 14 在客户端响应式编程的突破与实践
microsoft·c#·.net