首页
/ Nacos 3.x Console 领域规范:部署模型、Handler/Proxy 边界与独立控制台安全架构详解

Nacos 3.x Console 领域规范:部署模型、Handler/Proxy 边界与独立控制台安全架构详解

2026-09-09 19:07:29作者:温艾琴Wonderful

导读:本文以 Nacos 官方 Console 规范(specs/zh-cn/console/console-spec.md)为主体,结合本仓库 console 模块源码与配置文件,系统讲解 Nacos 3.x 管理面(Console)的职责边界、三种部署模型(merged / server / console)、独立端口与 Context Path 模型、/v3/console/* API 受众规则、Controller → Proxy → Handler 的三层委托架构、独立 Console 部署的成员发现与鉴权透传机制,以及功能开关、错误处理与可观测性约定。读者读完可掌握 Nacos 管理面与数据面分离部署的完整配置方法、独立 Console 的加固要点,以及如何在源码层面追踪 Console 请求的完整调用链。

1. Console 是什么:管理体验层,而非数据拥有者

在 Nacos 3.x 的领域划分中,Console 被明确定义为面向运维人员的管理体验层,它包含三个组成部分:

  • Web UI 入口与静态资源;
  • Console API 后端(/v3/console/*);
  • 让 UI 能够在与 Nacos Server 合并部署独立部署时都能正常工作的部署桥接能力。

规范开篇即划定了严格的职责边界:Console 不拥有任何领域数据。Config 数据生命周期、Naming 实例与订阅语义、AI 资源模型、namespace/cluster member/插件状态、鉴权插件行为与 RBAC、插件扩展契约,分别归属各自的领域规范:

Console 的职责是把这些领域能力适配成 UI 工作流,并且在适配过程中必须保持各领域规范定义的语义不被重新定义。这一原则在源码结构上体现得非常直观:console/src/main/java/com/alibaba/nacos/console/ 下只有 controller、filter、handler、proxy、config 等表现层与桥接层代码,没有任何领域数据存储或一致性逻辑,领域实现全部委托给 confignamingai 等模块。

2. 部署模型:merged / server / console

Nacos 3.x 将 Console 网络入口与 Server HTTP API 网络入口拆分开,部署模型由 nacos.deployment.type 控制。三种模式的含义与预期场景如下:

类型 含义 预期场景
merged 默认模式。Core、Server Web 和 Console 在同一进程中运行。 本地体验、简单部署或兼容场景。
server Server 不带 Console 运行。 生产 Server 集群,尤其是 Console 独立部署时。
console Console 不带本地 Nacos Server 领域服务运行。 独立 UI/backend 部署,用于隔离管理面。

对应的启动规则:

  • merged 必须启动 core context、server web context 和 console context;
  • server 必须启动服务端上下文,不得暴露 Console UI 或 Console API
  • console 只启动 console context,领域数据必须来自远端 Nacos Server 节点;
  • 不支持的 deployment type 必须在 bootstrap 阶段快速失败
  • Console 部署必须被视为内部网络组件,Nacos 定位为 IDC/内部基础设施组件,不应直接暴露在公网

从源码看,部署类型在启动阶段就被强校验。NacosConsoleStartUpconsole/src/main/java/com/alibaba/nacos/console/NacosConsoleStartUp.java)通过 Constants.NACOS_DEPLOYMENT_TYPE_CONSOLE 判断是否为 console 部署,并据此调整工作目录(仅创建 logs 目录)、环境注入、预加载 nacos_application_conf 配置源、初始化 system property(stand-alone 模式、function mode 等)。而 ConsoleDeploymentConfigconsole/src/main/java/com/alibaba/nacos/console/config/ConsoleDeploymentConfig.java)用 @EnabledRemoteHandler 标注,只在 console 部署模式下加载 ControllerMethodsCacheSelectorManagerConsoleAuthPluginInitializer 等 Bean,并为独立部署场景额外声明 ConfigCloneSourceReadPermissionChecker —— 因为独立 Console 的 clone 请求以 server identity 转发到 Server,服务端无法校验请求用户对源 namespace 的读权限,因此该校验保留在 Console proxy 内、以真实用户身份执行。

3. 端口与 Context Path 模型

Nacos 3.x 为服务 API 和 Console 使用独立网络端口

端口 用途
默认 8848 Nacos HTTP Open/Admin API 端口
默认 9848 客户端 gRPC 端口
默认 9849 服务端之间的 gRPC 端口
默认 7848 JRaft 服务端端口
默认 8080 Nacos Console UI 和 Console API 端口

端口与 context path 的配置规则:

  • Console 端口由 nacos.console.port 独立配置;
  • Console context path 由 nacos.console.contextPath 配置;
  • console-only 部署访问远端 Nacos Server 的 context path 由 nacos.console.remote.server.context-path 配置,默认 /nacos
  • Server HTTP API context path 不属于 Controller 映射,其规则见 HTTP API 规范
  • 对外暴露应保持最小化:典型部署中只应向预期的内部调用方暴露 Console 端口客户端 gRPC 端口,服务端之间的端口(9849、7848)应保持私有。

distribution/conf/application.properties 的 "Nacos Console Configurations" 段落(约 243–260 行)中可以看到对应默认值:

### Nacos Console Main port
nacos.console.port=8080
### Nacos Server Web context path:
nacos.console.contextPath=

### Nacos Server context path, which link to nacos server `nacos.server.contextPath`, works when deployment type is `console`
nacos.console.remote.server.context-path=/nacos

### Turn on/off the nacos console ui.
#nacos.console.ui.enabled=true

### Default console UI version: 'next' (new UI) or 'legacy' (old UI)
#nacos.console.ui.default=next

值得注意 nacos.console.remote.server.context-path 的注释特别指出:该配置生效的前提是 deployment type 为 console,且它必须与远端 Server 的 nacos.server.contextPath 保持一致。RemoteServerConnectorconsole/src/main/java/com/alibaba/nacos/console/handler/impl/remote/RemoteServerConnector.java)中 getServerContextPath() 即负责在远程转发时解析该值(默认 "/nacos"),保证独立 Console 发出的 HTTP 请求能命中远端 Server 的正确 context。

4. Console API 受众:UI 后端 API,不是 Open API

Console API 是 UI 后端 API,不是 Open API,也不应作为推荐自动化接口展示。自动化客户端应使用 Admin API 或 Maintainer SDK,除非某能力被明确设计为仅控制台可用。

规则要点:

  • Console API 必须使用 /v3/console/{module}/... 受众前缀;
  • 需要鉴权的 Console API 必须声明 ApiType.CONSOLE_API
  • Console API 可以使用面向 UI 的请求和响应模型,但 JSON 响应仍应遵循共享 Result<T> 规则,除非 响应与错误规范 定义了例外;
  • Console API 可以比 Open API 演进得更快,但文档化行为发生不兼容变更时仍需要迁移说明;
  • Console API 行为不得重新定义 Config、Naming、AI Registry、Core 运维、Auth 或插件规范已拥有的领域语义。

当前 v3 Console API 范围由 V3 API 范围 描述。源码侧的 controller 目录完全按 module 组织:console/src/main/java/com/alibaba/nacos/console/controller/v3/ 下分为 aiconfigcorenaming 四组,加上 ConsoleHealthControllerConsoleServerStateController,例如 ConsoleConfigControllerConsoleServiceControllerConsoleClusterControllerConsoleMcpController 等。测试目录 console/src/test/java/com/alibaba/nacos/console/controller/v3/ 中还有专门的 SecuredMetadataTest,用于校验 Console Controller 的 @Secured 鉴权元数据声明是否符合受众规范。

5. UI 入口与静态资源

Console 负责浏览器入口和静态资源服务行为:

  • / 跳转到默认 UI 版本;
  • nacos.console.ui.default 选择 nextlegacy,默认 next
  • nacos.console.ui.enabled 控制是否开启开源 Console UI;
  • announcementconsole-guide 内容在存在配置文件时作为展示内容读取;
  • 静态资源路径和浏览器资源可以排除鉴权,但该排除范围不得包含领域修改 API

本仓库中的两套 UI 即对应上述两个版本:新版 UI 位于 console-ui-next(React + TypeScript + Vite),旧版 UI 位于 console-ui。而 announcementconsole-guide 的默认配置文件位于 distribution/conf/announcement_zh-CN.confdistribution/conf/announcement_en-US.confdistribution/conf/console-guide.conf

规范特别强调:console guide 和 announcement 内容属于 UI 展示数据,不是标准 Core 服务端状态,也不得作为领域配置使用——这与前面"Console 不拥有领域数据"的定位一脉相承。

6. Handler 与 Proxy 边界:三层委托架构

这是 Console 规范中最核心的架构约束:Console Controller 必须通过 proxy 和 handler interface 进行委托,不应把 UI Controller 直接耦合到某一种部署模式

当前层次如下:

Console Controller
  -> Console Proxy
  -> Console Handler interface
     -> Inner Handler  (merged 部署)
     -> Remote Handler (console 部署)
     -> Noop Handler   (功能禁用)

各层的职责划分:

  • controller 代码负责 HTTP 形态、校验入口、UI 请求适配和 @Secured 声明;
  • proxy 代码负责 UI 工作流编排,并委托给 handler interface;
  • inner handler 可以调用本地域服务,因为 merged 模式下 Console 和 Nacos Server 共享进程;
  • remote handler 必须通过 Maintainer SDK、Admin API 或严格限定的远程 HTTP 转发调用远端 Nacos Server;
  • 功能禁用时应使用 noop handler,让 UI 获得清晰的 unsupported 响应,而不是加载一部分不完整的领域实现;
  • 即使传输路径不同,handler 实现也必须在不同部署模式下返回相同领域语义

源码中这套架构被严格执行。console/src/main/java/com/alibaba/nacos/console/ 下三个目录一一对应:

  • proxy/ConfigProxyServiceProxyInstanceProxyClusterProxyNamespaceProxyPluginProxyMcpProxySkillProxyPromptProxyAgentProxyA2aProxyPipelineProxyHealthProxyServerStateProxy 等;
  • handler/impl/inner/ConfigInnerHandlerServiceInnerHandlerInstanceInnerHandlerClusterInnerHandlerHealthInnerHandlerServerStateInnerHandler 以及全部 AI 类 inner handler;
  • handler/impl/remote/ConfigRemoteHandlerServiceRemoteHandlerInstanceRemoteHandlerHealthRemoteHandlerServerStateRemoteHandler 及 AI 类 remote handler,配套 RemoteServerConnectorNacosMaintainerClientHolderConsoleMaintainerClientAuthPlugin 等基础设施;
  • handler/impl/noop/:每个领域对应一个 XxxNoopHandler,用于功能禁用时返回明确的 unsupported 响应。

每个 Proxy/Handler 都有对应的单元测试(如 console/src/test/java/com/alibaba/nacos/console/proxy/ConfigProxyTest.java.../handler/impl/remote/RemoteServerConnectorTest.java.../handler/impl/noop/config/ConfigNoopHandlerTest.java),从测试层面验证了不同部署模式下 handler 的行为差异与语义一致性。

7. 独立 Console 部署:管理面网关

console 部署模式下,Console 是访问一个或多个远端 Nacos Server 节点的管理面网关。规则如下:

  • 必须先部署不带 Console 的 Server 或 Server 集群(即 server 模式);
  • Console 必须通过标准 member lookup 机制发现远端 Server member,通常使用 cluster.conf 中的 ip:port 记录;
  • 远端 Server member 列表变化时,Console 必须重建远端 maintainer client
  • Console 不得在本地持久化 Config、Naming、AI 或 Core 领域数据;
  • 远端请求必须使用已配置的 remote server context path;
  • 远端操作应优先使用 Maintainer SDK 或 Admin API 契约,而不是依赖私有服务端内部实现;
  • 文件导入导出等大 payload 工作流必须保持和对应 UI 工作流一致的鉴权和大小限制。

需要强调:远端 member lookup 是 Console 进程自己的运维视图,它本身不会改变 Nacos Server 集群成员关系

源码中,RemoteServerMemberManagerconsole/src/main/java/com/alibaba/nacos/console/cluster/RemoteServerMemberManager.java)实现了 NacosMemberManager 接口,并通过 LookupFactory.createLookUp() 创建标准的 MemberLookup(即沿用 Server 端的 member lookup 机制)来发现远端成员;memberChange() 在成员列表变化时更新内部 ConcurrentSkipListMap<String, Member> 并发布 MembersChangeEvent,正是"member 变化时重建 maintainer client"这一规则的实现载体。RemoteServerConnector 则负责远程 HTTP 转发的公共能力:健康成员选择、鉴权身份注入(addAuthIdentity)、远端 context path 解析。

大 payload 的限制同样有据可查:application.properties 中 spring.servlet.multipart.max-file-size=10MBspring.servlet.multipart.max-request-size=10MB(注释明确 "Maximum upload file size for console (e.g. skill zip). Default 10MB. Exceeding returns a clear error."),即 Console 导入导出类工作流的上限默认 10MB。

8. 安全边界:浏览器、Server 与外部系统三个方向

规范定义了 Console 的三个安全方向:

  1. 浏览器或运维人员访问 Console API;
  2. 独立 Console 进程访问 Nacos Server;
  3. Console 进程访问显式配置或由请求选择的外部系统。

8.1 浏览器与运维人员流量

  • 浏览器和运维人员流量必须由 Console 鉴权配置控制,尤其是 nacos.core.auth.console.enabled
  • 修改类 Console API 必须要求对应领域资源或 Console 资源的写权限
  • 只读 Console API 也必须声明读权限,除非它们被明确设计为公开健康检查、静态资源、初始化或展示端点;
  • 进入 Console 的浏览器请求不得被当作 server identity 请求信任

源码层面,NacosConsoleAuthFilterconsole/src/main/java/com/alibaba/nacos/console/filter/NacosConsoleAuthFilter.java)继承 AbstractWebAuthFilter,其 checkServerIdentity() 直接返回 ServerIdentityResult.noMatched()——即 Console 入口永远不会接受 server identity,这正是"浏览器请求不得被当作 server identity 信任"的硬编码实现。NacosConsoleAuthConfigconsole/src/main/java/com/alibaba/nacos/console/config/NacosConsoleAuthConfig.java)以 ApiType.CONSOLE_API 作为鉴权 scope,读取 nacos.core.auth.console.enabled(默认 true)与 server identity 配置。鉴权过滤器在 ConsoleWebConfigconsole/src/main/java/com/alibaba/nacos/console/config/ConsoleWebConfig.java)中以 order=6 注册到 /*,参数校验过滤器 order=8,同时还注册了 XssFilterCorsFilter

CORS 默认策略可以从 ConsoleCorsConfigconsole/src/main/java/com/alibaba/nacos/console/config/ConsoleCorsConfig.java)与 application.properties 中看到默认值:allow-credentials 默认 truemax-age 默认 18000 秒,allowed-headersallowed-methodsallowed-origins 为空时表示全部放行(*)。这正是规范"待处理问题"中提到的"当前默认 CORS 策略偏向易部署,需要定义更严格的生产配置建议",生产环境建议显式配置:

nacos.console.cors.allow-credentials=true
nacos.console.cors.allowed-headers=Content-Type,Authorization
nacos.console.cors.max-age=18000
nacos.console.cors.allowed-methods=GET,POST,PUT,DELETE
nacos.console.cors.allowed-origins=http://localhost:8080,https://console.example.com

8.2 独立 Console → Nacos Server 的身份透传

这是独立部署最精细的一组规则:

  • 独立 Console 代表已认证运维人员调用 Server 时,必须使用当前鉴权插件声明的标准名称,透传 identity builder 记录的全部非空请求身份字段
  • IdentityContext 中的传输层派生字段和鉴权结果元数据不得透传
  • 至少透传一个请求身份字段时不得同时携带配置的 server identity,使目标 Server 能够认证该运维人员并校验其权限;
  • 无可用的非空请求身份字段时,独立 Console 到 Server 的调用在启用 server identity 时必须降级使用配置的 server identity;
  • nacos.core.auth.server.identity.keynacos.core.auth.server.identity.value 必须在独立 Console 和目标 Nacos Server 部署之间保持一致;
  • 使用运维人员身份透传时,目标 Server 必须开启 Admin API 鉴权并使用兼容的鉴权插件;
  • Console 登录和 token 校验所需的 auth plugin token secret 必须与所选鉴权插件行为保持一致。

对应配置在 application.properties 中:

nacos.core.auth.console.enabled=true
nacos.core.auth.server.identity.key=
nacos.core.auth.server.identity.value=

8.3 外部系统访问的 SSRF 防护

Console API 不得把请求选择的 URL 直接变成不受限制的服务端网络目标。规范以 MCP 工具导入为例给出了非常具体的要求:

  • GET /v3/console/ai/mcp/importToolsFromMcp 默认允许公网目标,可通过 nacos.console.ai.mcp.import.enabled 关闭;
  • 目标解析得到的每一个私网或本地地址都必须命中运维通过 nacos.console.ai.mcp.import.allowed-private-addresses 配置的 IP/CIDR 白名单;
  • endpoint 必须保持为已校验 base URL 下的相对地址
  • 非法配置必须按拒绝处理,并且不得跟随重定向

该规则由 McpEndpointAccessValidatorconsole/src/main/java/com/alibaba/nacos/console/config/McpEndpointAccessValidator.java)实现:校验 import 开关(默认开启)、解析私网白名单、校验 base URL 必须是绝对 HTTP/HTTPS 且不含 user info、校验 endpoint 必须是相对 URI 路径且不能覆盖 baseUrl 的 scheme/host,然后对 baseUrl 主机解析出的每一个 IP 地址逐一判断是否为私网/本地地址,若非白名单命中则抛出 SecurityException。它识别私网/本地地址覆盖了 isAnyLocalAddressisLoopbackAddressisLinkLocalAddressisSiteLocalAddressisMulticastAddress 以及 IPv6 ULA(fc00::/7)。对应配置为:

#nacos.console.ai.mcp.import.enabled=true
#nacos.console.ai.mcp.import.allowed-private-addresses=192.168.0.0/16,10.0.0.8

8.4 独立 Console 的本地鉴权插件生命周期

独立部署的 Console 必须在开始接收请求前初始化本地鉴权插件运行环境:

  • 对所有可配置鉴权实现应用 STATIC > DEFAULT 配置,以保证共享鉴权基础设施可用,但只为当前选中实现启动插件持有的运行资源;
  • 选中的实现不存在属于启动错误
  • Console 本地生命周期不得启动 Core 插件管理器,也不得访问由 Server 持有的插件 state、runtime-persisted 配置、local-only override、storage 或集群同步能力;
  • 静态配置刷新可以重新应用声明为 RUNTIME 的鉴权字段;鉴权插件选择、token secret 和其他 RESTART 字段在 Console 重启前保持启动值。

源码对应 ConsoleAuthPluginInitializerconsole/src/main/java/com/alibaba/nacos/console/config/ConsoleAuthPluginInitializer.java)与 ConsoleAuthPluginLifecycleContext(测试见 console/src/test/java/com/alibaba/nacos/console/config/ConsoleAuthPluginLifecycleContextTest.java)。NacosConsoleAuthConfig.refreshAuthSystemType() 也体现了这一约束:在 console 部署模式下,运行时若检测到鉴权插件选择发生变化,只记录 warn 日志并提示"重启 Console 生效",而不会在运行时切换。

Console 鉴权属于共享鉴权模型,完整语义必须遵循 鉴权规范

9. 功能开关:与 runtime capability 对齐

Console 功能可用性必须遵循 Nacos runtime capability 和 function mode 配置:

  • Config console handler 只在 Config 启用时加载;
  • Naming console handler 只在 Naming 启用时加载;
  • AI console handler 需要 AI function mode 和 AI extension 启用;
  • microservice function mode 会开启 Config 和 Naming Console 工作流;
  • 禁用功能应通过 noop handler 或隐藏 UI 入口表达,不应加载不兼容的半套领域服务。

功能开关是展示和可用性控制,不得重新定义 Config、Naming 或 AI Registry 的领域模型。

源码侧,ConsoleFunctionEnabledConfigconsole/src/main/java/com/alibaba/nacos/console/config/ConsoleFunctionEnabledConfig.java)解决了 functionMode 为 config 时 naming 模块 Bean 不加载、但 Console API 仍需要 SelectorManager 做 selector 解析的问题(@ConditionalOnMissingBean 兜底创建)。AI 侧则有 EnabledAiHandlerConditionFunctionEnabledconsole/src/main/java/com/alibaba/nacos/console/handler/ai/EnabledAiHandler.java)等条件装配,未启用时走 XxxNoopHandler 返回 unsupported。NacosConsoleStartUpinitSystemProperty() 也会根据 function mode 预设 nacos.function.mode(All / config / naming / microservice / ai),与部署模型一起决定启动阶段加载哪些上下文。

10. 错误处理与可观测性

Console 应让 UI 用户能读懂错误,同时保持共享 API 契约:

  • v3 JSON Console API 应尽可能使用 Result<T> 和共享 API 异常模型;
  • 健康检查、静态资源和展示端点可以在明确记录时使用更简单的响应形态;
  • 返回给浏览器的错误信息如果可能包含用户可控内容,必须进行转义或清理
  • Console module state 应暴露低基数运维状态,例如 UI 是否开启、默认 UI 版本和 Console auth 状态;
  • Console 指标和日志不得包含密钥、token、完整凭据或大体积用户载荷

源码实现上,ConsoleWebConfig 注册了 NacosApiExceptionHandler(即共享 v3 异常处理器)与 XssFilter(XSS 转义过滤器),同时 ConsoleExceptionHandlerconsole/src/main/java/com/alibaba/nacos/console/exception/ConsoleExceptionHandler.java)作为遗留异常处理器存在——这正是规范"待处理问题"中列出的待办项之一:将遗留 ConsoleExceptionHandler 行为与共享 v3 NacosApiExceptionHandler 和响应错误规则对齐。

11. 待处理问题:规范演进方向

规范末尾明确列出了 Console 领域的待办事项,也是理解该领域当前边界与未来演进的重要信息:

  • 明确并文档化哪些 v3 Console health、server state、announcement 和 guide 端点是有意公开的;
  • 将遗留 ConsoleExceptionHandler 行为与共享 v3 NacosApiExceptionHandler 和响应错误规则对齐;
  • 判断独立 Console 的远程转发是否应在导入导出等大 payload 路径上完全替换为 Maintainer SDK 或 Admin API 调用;
  • console 部署无法解析远端 Server member 时,提供清晰失败信息;
  • 当前默认 CORS 策略偏向易部署,需要定义更严格的生产配置建议;
  • 判断 legacy UI 静态资源和旧 Console 路径的长期兼容边界。

12. 快速上手:三种部署形态的最小配置

结合本仓库 distribution/conf/application.properties,给出三种部署形态的最小配置参考(当前仓库为只读,以下仅为运行/部署时的配置说明):

merged 模式(默认):无需显式设置 nacos.deployment.type,直接启动即可同时提供 Server API(8848)与 Console(8080)。

server 模式(生产 Server 集群)

nacos.deployment.type=server
nacos.console.port=8080        # 该模式下 Console 不加载,此端口不监听
nacos.core.auth.server.identity.key=<共享的 identity key>
nacos.core.auth.server.identity.value=<共享的 identity value>

console 模式(独立管理面):需先部署好 server 集群,再单独启动 Console 进程,并配置远端发现与身份透传:

nacos.deployment.type=console
nacos.console.port=8080
nacos.console.remote.server.context-path=/nacos
# 远端 member 通过 cluster.conf 中的 ip:port 记录发现

# 与目标 Server 保持一致的 identity
nacos.core.auth.server.identity.key=<共享的 identity key>
nacos.core.auth.server.identity.value=<共享的 identity value>

# 独立 Console 本地鉴权插件初始化(token secret 与所选插件行为一致)
nacos.core.auth.console.enabled=true

部署完成后,可通过 NacosConsoleStartUpTestconsole/src/test/java/com/alibaba/nacos/console/NacosConsoleStartUpTest.java)与各 handler/proxy 测试理解各模式下的行为差异。生产环境请务必遵循:Console 端口仅对预期内部调用方开放、服务端间端口保持私有、不将 Console 暴露公网。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
docsdocs
暂无描述
Markdown
900
5.83 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.76 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
860
1.35 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
927
1.85 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.94 K
1.02 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
533
603
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.37 K
1.46 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
396
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.04 K
527