node-opcua/node-opcua
GitHub: node-opcua/node-opcua
一个基于 TypeScript 和 Node.js 的完整 OPC UA 协议栈,用于在工业物联网场景中构建 OPC UA 客户端与服务端。
Stars: 1652 | Forks: 516
# node-opcua
适用于 Node.js 和浏览器的最完整的 OPC UA 协议栈,使用 TypeScript 编写。
[](https://www.npmjs.com/package/node-opcua)
[](https://github.com/node-opcua/node-opcua/actions/workflows/workflow.yml)
[](https://coveralls.io/r/node-opcua/node-opcua)
[](https://lernajs.io/)
[](https://leanpub.com/node-opcuabyexample-edition2024)
[](https://www.npmtrends.com/node-opcua-server)
[](https://www.npmtrends.com/node-opcua-server)
[](https://www.npmtrends.com/node-opcua-client)
[](https://www.npmtrends.com/node-opcua-client)
## 为什么选择 node-opcua?
- **完整的 OPC UA 协议栈** — 单一工具包即可实现客户端、服务端、Discovery 和 Aggregation
- **安全至上** — 开箱即用地支持所有 OPC UA 安全策略、加密通信和证书管理
- **跨平台** — 可在 Windows、Linux、macOS 以及浏览器中运行
- **模块化架构** — 按需选择包,涵盖从轻量级客户端到功能完备的服务端
- **久经沙场** — 受到全球工业企业的生产环境信赖
- **文档齐全** — 提供详尽的书籍、API 参考手册、教程和引导式示例
## 快速入门
### 将 node-opcua 作为 npm 包安装
```
$ mkdir myproject
$ cd myproject
$ npm init
$ npm install node-opcua
```
### 尝试示例服务端和客户端
```
$ npm install node-opcua-samples
$ ./node_modules/.bin/simple_server
```
```
$ ./node_modules/.bin/simple_client -e "opc.tcp://opcuademo.sterfive.com:26543"
```
## Node.js 环境要求
- 需使用 **Node.js 20** 或更高版本。
## 文档
[](https://leanpub.com/node-opcuabyexample-edition2024)
**[NodeOPCUA by Example](https://leanpub.com/node-opcuabyexample-edition2024)** — 最佳起点。包含数十个实用、即用且文档完备的示例。
### 教程
- [创建服务端](https://github.com/node-opcua/node-opcua/blob/master/documentation/creating_a_server.md)
- [使用 TypeScript 创建客户端](https://github.com/node-opcua/node-opcua/blob/master/documentation/creating_a_client_typescript.md)
- [基于角色的安全与用户管理 (OPC 10000-18)](https://github.com/node-opcua/node-opcua/blob/master/documentation/role_based_security.md)
- 为 [NodeOPCUA 订阅会员](https://support.sterfive.com)提供更多高级示例和培训资料
### API 参考
- [API 文档](https://node-opcua.github.io/api_doc/index.html)
## 🏢 专业支持
在您的 OPC UA 项目中需要帮助?Sterfive 为 node-opcua 提供专业的支持与咨询服务。
| | **社区** (GitHub) | **专业版** (Sterfive) |
|---------------------------|:------------------------:|:--------------------------:|
| GitHub Issues | ✅ | ✅ |
| CVE 安全通告 | 公开发布后 | **提前获取 — 在公开发布前提供补丁** |
| 私密支持渠道 | — | ✅ |
| 扩展文档 | — | ✅ |
| 保证响应时间 | — | ✅ |
| 咨询与培训 | — | ✅ |
| 可认证构建 | — | ✅ |
[](https://support.sterfive.com)
📧 联系方式:[contact@sterfive.com](mailto:contact@sterfive.com) · 🌐 [sterfive.com](https://www.sterfive.com)
## 生态系统
### 结合 MCP 的 AI 驱动建模
**[node-opcua-modeler-mcp-server](https://www.npmjs.com/package/node-opcua-modeler-mcp-server)** — 一款 [MCP server](https://modelcontextprotocol.io),可让 AI 代理访问 OPC UA 配套规范类型系统。发现类型、解析 namespace 依赖、查阅工程单位——所有这一切均可在您的 AI 编程助手中完成。
```
npx node-opcua-modeler-mcp-server
```
### OPC UA Modeler
**[OPC UA Modeler](https://opcua-modeler.sterfive.com)** — 采用 YAML 优先的工作流,并全面支持配套规范,从而创建、验证和生成 OPC UA 信息模型。
## 支持的功能
node-opcua 实现了全面的 OPC UA 服务、传输协议、安全策略以及服务端/客户端配置文件。
👉 **[查看完整的功能支持矩阵](./supported_features.md)**
## 路线图
- 改进文档并提供更多教程
- 合规性测试与认证 (CTT)
- 支持冗余
- 无会话事务
- JTokens 和 OAuth
想要影响路线图?[联系 Sterfive](mailto:contact@sterfive.com)。
## 贡献
欢迎您的贡献!以下是开始接触源码的方法:
```
$ git clone git://github.com/node-opcua/node-opcua.git
$ cd node-opcua
$ npm install -g pnpm
$ pnpm install
$ pnpm recursive install
$ pnpm build
```
### 从源码运行演示服务端
```
$ node packages/node-opcua-samples/bin/simple_server
```
### 从源码运行演示客户端
```
$ node packages/node-opcua-samples/bin/simple_client.js -e "opc.tcp://opcuademo.sterfive.com:26543"
```
## 开源许可
node-opcua 采用 [MIT 许可协议](./LICENSE)。
- 您可以自由地将其用于开源和商业应用。
- 您必须在软件的所有副本或实质部分中包含版权声明。
- node-opcua 不提供任何形式的保证。
我们强烈建议您加入 [NodeOPCUA 会员](https://support.sterfive.com)以获取额外权益和支持。
## 版权
版权所有 © 2014-2026 Sterfive SAS — 833264583 RCS ORLEANS — 法国 ([sterfive.com](https://www.sterfive.com))
标签:GNU通用公共许可证, MITM代理, Node.js, OPC UA, SIEM, TypeScript, 安全插件, 工业控制, 工业通信协议, 物联网, 自动化攻击