社区插件 · Snet 接口 · 分享与复用
🌐 Snet 官网 · 📦 NuGet 插件 · 📦 插件仓库 · 🔌 Daq 工具 · 📚 插件开发规范
简体中文 | 📖 English
Snet.Plugins 是一个面向个人开发者的社区插件仓库,用来分享按照 Snet 插件接口开发的插件实现,方便其他用户查找、学习、复用,并在兼容的 Snet 应用中使用。
本仓库主要收录两类插件:
| 类型 | 接口方向 | 用途 |
|---|---|---|
daq |
IDaq |
数据采集、设备接入或自定义协议实现 |
mq |
IMq |
消息中间件的生产、消费或自定义消息接入 |
插件接口、依赖版本和宿主支持情况可能随 Snet 版本变化。请以插件自己的 README 和对应版本的 PluginDev-Skill 为准。
除本仓库中的源码插件外,Shun 已开发并发布的 Snet 插件及相关生态包也可通过 NuGet 查看和获取:NuGet — Shun。这些 NuGet 包属于 Snet 插件生态;本仓库则用于分享插件源码及其说明。
按 GitHub 用户名 → 插件类型 → 插件名称 组织。每个插件单独一个目录,并且必须在插件目录内提供 README.md。
<GitHub用户名>/
├── daq/
│ └── <插件名称>/
│ ├── README.md # 必须:插件用途、适用场景、配置与使用说明
│ └── src/ # 插件最小必要源码
└── mq/
└── <插件名称>/
├── README.md
└── src/
例如,GitHub 用户 shunnet 可以按下面的方式提交一个 DAQ 插件和一个 MQ 插件:
shunnet/
├── daq/
│ └── TemperatureSensor/
│ ├── README.md
│ └── src/
└── mq/
└── CustomMqtt/
├── README.md
└── src/
<GitHub用户名>使用贡献者的 GitHub 登录名;同一用户的插件集中放在自己的目录下。daq和mq是固定的小写分类目录,请按插件实际实现的接口归类。- 每个插件一个独立目录;目录名使用简洁、稳定、易识别的插件名称。
- 每个插件目录都必须有自己的
README.md。建议插件说明同时提供中文和英文,至少要清楚说明插件做什么、适用于什么场景。
每个插件至少应说明:
- 插件名称与类型:
daq/mq,以及实现的 Snet 接口(如IDaq/IMq)。 - 功能简介:这个插件具体负责什么,支持哪些设备、协议或消息系统。
- 适用场景:什么情况下应该使用它,以及明确不支持的情况。
- 兼容性:目标 .NET 运行时、Snet.Core 版本或范围、已验证的宿主/平台(如适用)。
- 配置与依赖:需要填写的参数、外部依赖、权限、网络或设备前置条件;不得放真实凭据。
- 构建、测试与使用:如何构建、验证和接入;若宿主有额外安装步骤,请注明。
- 限制与已知问题:已知边界、未实现功能及注意事项。
- 作者与许可:维护者 GitHub 用户名;本仓库上传的插件默认采用 MIT 许可证,无需另行选择其他许可。
可参考下面的模板:
# 插件名称
- 类型:daq 或 mq
- 接口:IDaq 或 IMq
- 作者:@GitHub用户名
- 兼容版本:.NET / Snet.Core / 宿主版本
- 许可证:MIT(默认)
## 功能简介
说明插件实现了什么。
## 适用场景
说明适合使用的设备、协议、业务边界或场景。
## 配置与依赖
列出必要参数、依赖和前置条件;不要填写真实密码、Token 或密钥。
## 构建、测试与使用
提供可复现的构建、测试和接入步骤。
## 限制与已知问题
说明已知限制。本仓库收录的是插件实现,不是个人项目或完整业务系统。提交代码必须遵守以下范围:
- 只提交实现 Snet 插件接口及完成该插件功能所必需的最基础代码。 保留必要的协议通信、数据解析、参数定义、生命周期处理和错误处理即可。
- 代码应聚焦于插件本身:例如
IDaq数据采集实现,或IMq消息收发实现。 - 不要上传自己的系统业务代码,包括个人/公司的完整应用、业务流程、业务规则、后台服务、Web/API、UI、用户/权限系统、数据库业务模块,或与插件运行无关的项目代码。
- 不要提交与插件无关的通用框架、部署环境、项目配置、内部工具或私有业务依赖。插件所必需的少量辅助代码可以保留,但应说明用途。
- 不要提交密钥、密码、Token、证书、真实生产连接信息、个人数据或其他机密内容;请使用示例值或环境变量说明。
- 不要提交
bin/、obj/、缓存、临时文件、编译产物或宿主运行数据。默认仅提交源码、必要的项目文件、示例配置(脱敏)和文档。 - 仅提交你有权公开的代码与依赖;第三方依赖仍须遵守其各自许可证并注明来源。
- Fork 本仓库,并在自己的 GitHub 用户名目录下按上述结构添加插件。
- 为每个插件添加完整的
README.md,说明用途、适用场景、兼容性和使用方法。 - 检查提交内容仅包含插件必要实现;移除业务系统代码、机密信息和构建产物。
- 尽可能在本地构建并验证接口实现,注明测试环境和结果。
- 提交 Pull Request,并在描述中列出插件类型、接口、适配场景、依赖及验证结果。提交即表示接受本仓库的 MIT 默认许可规则。
维护者可以要求修改目录、文档、代码范围或兼容性说明。合并不代表对插件安全性、正确性或与所有 Snet 宿主兼容性的保证。
上传到本仓库的所有插件源码默认采用 MIT 许可证。 提交插件即表示你确认拥有提交该代码的权利,并同意按 MIT 许可证授权他人使用、复制、修改、合并、发布、分发、再许可及/或销售该代码的副本;原作者保留其著作权。无法或不愿按 MIT 许可的代码,请勿提交。
本仓库根目录的 LICENSE 文件提供 MIT 许可证全文。第三方依赖的许可证不因本条款而改变,贡献者须遵守并注明其各自许可要求。
| 资源 | 说明 |
|---|---|
| Snet.Iot.Daq | 插件化数据采集工具;可在兼容版本中加载相应插件 |
| Snet.SKILLS — PluginDev-Skill | IDaq / IMq 插件开发契约与指导 |
| NuGet — Shun | Shun 已开发并发布的 Snet 插件及相关生态包 |
| Snet 官网 | Snet 相关信息 |
所有上传内容均须经过管理员审核;审核通过后方可合并或发布。审核主要检查目录结构、文档、代码范围、许可和基本兼容性,不等同于完整安全审计,也不保证插件完全安全或兼容所有 Snet 宿主。插件会在使用者的环境中运行,请在使用前自行检查源码、依赖、权限和网络行为,不要直接加载未经审查的代码。
