Workstation.UaClient.Dashboard 1.0.0

dotnet add package Workstation.UaClient.Dashboard --version 1.0.0
                    
NuGet\Install-Package Workstation.UaClient.Dashboard -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Workstation.UaClient.Dashboard" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Workstation.UaClient.Dashboard" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Workstation.UaClient.Dashboard" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Workstation.UaClient.Dashboard --version 1.0.0
                    
#r "nuget: Workstation.UaClient.Dashboard, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Workstation.UaClient.Dashboard@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Workstation.UaClient.Dashboard&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Workstation.UaClient.Dashboard&version=1.0.0
                    
Install as a Cake Tool

Workstation.UaClient.Dashboard

NuGet License: MIT

An embedded Swagger-like Web UI dashboard for OPC UA client applications in ASP.NET Core, inspired by UaExpert.

无需在工控机或客户端安装臃肿的桌面软件,只需在任何 ASP.NET Core 8.0+ 应用中以中间件形式注册,即可通过浏览器访问具备经典多面板布局(Inspired by UaExpert)的现代化开发调试工作台。


快速上手 / Quick Start

1. 安装 NuGet 包

dotnet add package Workstation.UaClient.Dashboard

2. 注册服务与中间件

在 Program.cs 中添加配置:

using Workstation.ServiceModel.Ua.Dashboard;

var builder = WebApplication.CreateBuilder(args);

// 注册 Dashboard 服务
builder.Services.AddOpcUaDashboard(options =>
{
    // 配置默认 OPC UA 服务器地址(可选)
    options.DefaultEndpointUrl = "opc.tcp://localhost:4840";
});

var app = builder.Build();

// 启用 OPC UA Dashboard 中间件
app.UseOpcUaDashboard("/opc-dashboard");

app.Run();

3. 打开浏览器访问

启动应用后在浏览器中访问:http://localhost:<port>/opc-dashboard


核心特性 / Features

  • 🌲 地址空间树状浏览(Address Space Browser):按层级动态递归展开,区分 Object、Variable、Method 节点类型。
  • 📊 动态订阅与初始值读取(Data Access View):支持拖拽或快捷按钮添加监控项,订阅即刻主动读取当前值并显示,后续变动通过 Server-Sent Events (SSE) 实时推流。
  • 🔍 节点元数据与属性审查(Attributes Inspector):清晰呈现 NodeId、BrowseName、DisplayName、DataType、ValueRank、AccessLevel、UserAccessLevel 及完整元数据。
  • 📡 实时通信日志(Live Communication Log):结构化日志流式展示,支持日志级别过滤、内容搜索与一键复制。
  • 🎨 现代交互设计:支持面板左右/上下自由拖拽调宽,Light / Dark 主题一键切换,针对工控环境优化视觉对比度。
  • 🔐 工控安全纵深防御:
    • 会话隔离:每个客户端连接拥有独立的会话生命周期,互不干扰。
    • 网络防护:严格白名单与协议校验,阻断非合规地址。
    • 安全响应头:注入 X-Content-Type-Options: nosniff、X-Frame-Options: SAMEORIGIN、Referrer-Policy: strict-origin-when-cross-origin。

架构说明 / Architecture

  • 后端:基于 .NET 8.0 与 ASP.NET Core 中间件架构,利用 Workstation.UaClient 驱动底层 OPC UA 协议通信,通过有界 Channel 与 SSE 保障高吞吐量与内存安全。
  • 前端:采用现代 React + TypeScript SPA 架构,以 Vite 构建并直接嵌入为程序集内部资源(Embedded Resources),生产部署零 Node.js 运行时依赖。

开源协议 / License

本项目采用 MIT 许可证。

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 89 10/16/2026