ADC 后端与前端第三方开源组件清单
ADC 后端与前端第三方开源组件清单
盘点日期:2026-10-16
盘点范围:\\wsl.localhost\Ubuntu-22.04\home\ADC下的后端微服务、前端 monorepo、技术文档站及本地开发基础设施。
证据来源:各仓库的composer.json、composer.lock、package.json、pnpm-lock.yaml、Docker Compose 配置。
1. 结论摘要
ADC 当前采用 PHP 8.1/8.2 + Hyperf 3.1 的后端微服务体系,以及 Vue 3 + Vite + TypeScript + pnpm/Turbo 的前端体系。
本清单分为三类:
- 运行时/业务依赖:会进入生产服务或前端构建产物。
- 开发与质量工具:测试、静态分析、格式化、构建及调试工具。
- 本地基础设施:通过 Docker Compose 提供数据库、缓存、消息、配置中心、对象存储和任务调度能力。
重要边界:
tgkw-adc/*、@adc/*属于 ADC 内部包或工作区包,不应直接当作第三方开源组件计入。本文件仅将它们单独列出,便于后续补充内部包的许可证和源码归属。
2. 仓库范围
2.1 后端仓库
本次扫描到以下后端仓库:
adc-approval、adc-calendar、adc-contract、adc-crm、adc-email、adc-finance、adc-hr、adc-knowledge、adc-log、adc-merchant、adc-message、adc-project、adc-public、adc-req、adc-revisit、adc-sas、adc-scm、adc-tools-letter、adc-user、adc-work-hour、adc-work-order、adc-work-task。
2.2 前端及文档仓库
adc-apps:前端 pnpm monorepo,包含主应用、多个业务子应用和@adc/*公共包。docs-adc:VuePress 技术文档站。
3. 后端第三方开源组件
3.1 核心框架与运行时
| 组件 | 声明版本/版本线 | 主要用途 | 证据/使用范围 |
|---|---|---|---|
| Hyperf | 3.1.x | 协程 PHP 应用框架、DI、HTTP、数据库、缓存、配置中心等 | 各后端 composer.lock;大量 hyperf/* 包 |
| Swoole 生态 | hyperf/engine 2.15.x、swoole/ide-helper ^5.0 | 协程运行时及 IDE 辅助 | 各后端 composer.lock、composer.json |
| Symfony Components | 随 Hyperf 间接引入 | Console、Event Dispatcher、Translation、String 等基础能力 | 各后端 composer.lock |
| PSR 标准组件 | 随 Hyperf/Guzzle 间接引入 | HTTP、容器、日志、缓存等接口标准 | 各后端 composer.lock |
3.2 数据库、缓存与基础设施访问
| 组件 | 声明版本/版本线 | 主要用途 | 直接使用的仓库 |
|---|---|---|---|
| Doctrine DBAL | 锁定版本示例 3.10.6 | 数据库抽象、Schema/数据库能力 | 后端公共依赖链;以各服务锁文件为准 |
| Guzzle | 锁定版本示例 7.15.5 | HTTP 客户端、外部服务调用 | 多个后端服务的依赖链 |
| Flysystem | Hyperf 适配包 hyperf/flysystem-oss | 文件系统抽象、OSS 对象存储适配 | 后端公共依赖链 |
| Alibaba Cloud OSS SDK | aliyuncs/oss-sdk-php v2.7.3 | 阿里云 OSS 文件上传、下载及管理 | 多个后端锁文件 |
| AWS SDK for PHP | aws/aws-sdk-php 3.395.4 | S3 兼容对象存储及云服务访问 | 多个后端锁文件 |
| Elasticsearch PHP Client | ^7.17 / ^8.11 | 搜索与全文检索 | adc-crm、adc-work-hour |
hyperf/elasticsearch | ~3.1.0 | Elasticsearch 的 Hyperf 集成 | adc-merchant |
3.3 服务治理、消息和异步任务
| 组件 | 声明版本/版本线 | 主要用途 | 直接使用的仓库 |
|---|---|---|---|
| Nacos / Hyperf Nacos | hyperf/config-nacos、hyperf/nacos 3.1.x | 配置中心、服务发现 | 后端公共依赖链;本地环境由 Nacos 容器提供 |
| AMQP | hyperf/amqp 3.1.x | RabbitMQ/AMQP 消息通信 | 后端公共依赖链 |
| Async Queue | hyperf/async-queue ^3.1 | 异步队列任务 | adc-message |
| WebSocket Server | hyperf/websocket-server ^3.1 | WebSocket 长连接、实时消息 | adc-message |
| DTM Client | dtm/dtm-client v0.3.7 | 分布式事务/跨服务事务协调 | 后端锁文件 |
| XXL-JOB Admin | xuxueli/xxl-job-admin:3.2.0 | 定时任务调度 | docs-adc/docker-compose |
3.4 安全、鉴权与数据处理
| 组件 | 声明版本/版本线 | 主要用途 | 直接使用的仓库 |
|---|---|---|---|
| Casbin | casbin/casbin v3.25.1 | RBAC/策略鉴权 | 后端公共依赖链 |
| Hyperf Casbin Adapter | donjan-deng/hyperf-casbin 3.23.3 | Casbin 与 Hyperf 集成 | 后端公共依赖链 |
| Firebase PHP-JWT | v6.11.1 | JWT 签发与校验 | 后端锁文件 |
| Egulias Email Validator | 3.2.6 | 邮箱格式校验 | 后端锁文件 |
| Jieba PHP | ^0.42.2 | 中文分词 | adc-work-hour |
| Google Protobuf | v3.25.9 | Protobuf 编解码 | 后端锁文件 |
| Alibaba Cloud OCR/Captcha SDK | OCR 3.1.3、Captcha 1.1.3 等 | OCR、验证码等云服务能力 | 后端锁文件 |
3.5 业务能力组件
| 组件 | 声明版本/版本线 | 主要用途 | 直接使用的仓库 |
|---|---|---|---|
| PhpSpreadsheet | 5.8.0 | Excel/CSV 读写与导入导出 | adc-scm |
| PHP Mailer Swoole | yurunsoft/phpmailer-swoole ^1.0 | 协程邮件发送 | adc-message |
| Hyperf SMS | tgkw-adc/hyperf-sms ^1.0 | 短信发送适配 | adc-message;内部/组织包属性待确认 |
| Elasticsearch 官方客户端 | ^7.17、^8.11 | CRM、工时等搜索场景 | adc-crm、adc-work-hour |
3.6 后端开发、测试与质量工具
| 组件 | 版本约束 | 用途 |
|---|---|---|
| PHPUnit / Hyperf Testing | hyperf/testing ~3.1.0 | 单元测试、框架测试 |
| Mockery | ^1.0 | Mock/Stub 测试替身 |
| PHPStan | ^1.0 / ^2.1 / ^2.2 | PHP 静态分析 |
| PHPStan PHPUnit/Symfony 扩展 | ^2.0 | PHPStan 框架识别增强 |
| PHP CS Fixer | ^3.0 | PHP 代码格式化 |
| Hyperf DevTool | ~3.1.0 | 开发脚手架与命令行工具 |
| Hyperf Watcher | ^3.1 | 开发环境文件变更监听 |
| Swoole IDE Helper | ^5.0 | IDE 类型提示 |
4. 前端第三方开源组件
前端依赖主要分布在 adc-apps/apps/*/package.json 与 adc-apps/packages/*/package.json。由于多个子应用存在不同版本线,下面的版本是仓库当前声明的版本范围,不代表所有包最终安装的单一版本;最终版本应以 adc-apps/pnpm-lock.yaml 为准。
4.1 前端框架、构建与工程化
| 组件 | 声明版本/版本线 | 主要用途 |
|---|---|---|
| Vue | ^3.2.47 至 ^3.5.x | 前端 UI 框架 |
| Vue Router | 4、^4.2.x、部分子包 ^5.x | 路由管理 |
| Pinia | ^2.0 / ^2.1.3 / ^3.0.4 | 状态管理 |
| Pinia Persisted State | ^4.7.1 | Pinia 状态持久化 |
| Vite | ^4.5.0、^7.1.11 及更高版本线 | 开发服务器和构建工具 |
| TypeScript | ^4.9.5、5.9.2、~5.9.3 等 | 类型系统 |
| pnpm | 根工程 12.4.1 | 包管理 |
| Turborepo | ^2.6.0 | monorepo 任务编排与缓存 |
| Vue Devtools Vite Plugin | ^8.0.3 | 开发调试 |
| Prettier | ^3.6.2 | 代码格式化 |
| ESLint 生态 | eslint ^9.x、Vue/React/Turbo 插件 | 代码检查 |
4.2 UI、表格和公共交互
| 组件 | 声明版本/版本线 | 主要用途 |
|---|---|---|
| Element Plus | ^2.11.x 至 ^2.14.x | Vue 组件库 |
| Element Plus Icons Vue | ^2.3.2 | Element Plus 图标 |
| Arco Design Vue | ^2.53.2 | 部分子应用 UI 组件库 |
| VXE Table | ^4.17.22 / ^4.17.48 | 高级表格、编辑和虚拟滚动 |
| VXE PC UI | ^4.10.40 / ^4.12.34 | VXE 相关 PC 端 UI |
| FormCreate | @form-create/designer、@form-create/element-ui ^3 | 动态表单设计与渲染 |
| SortableJS | ^1.15.7 | 拖拽排序 |
| Vue Draggable | ^4.1.0 | Vue 拖拽列表 |
| NProgress | ^0.2.0 | 页面加载进度条 |
| Vue3 Dragscroll | ^1.0.2 | 拖拽滚动 |
| Vue3 Print NB | ^0.1.4 | 打印能力 |
| Swiper | ^14.0.7 | 轮播/滑动交互 |
4.3 微前端、编辑器、图表和可视化
| 组件 | 声明版本/版本线 | 主要用途 |
|---|---|---|
| Micro App | 1.0.0-rc.32 | 微前端子应用加载与隔离 |
| WangEditor | @wangeditor/editor ^5.1.23、Vue 适配器 ^5.1.12 | 富文本编辑 |
| WangEditor Attachment Plugin | ^1.1.0 | 富文本附件上传 |
| Vue Flow | core ^1.48.0,controls/background/minimap 配套 | 流程图、节点图编辑 |
| ECharts | ^5.4.3 | 图表可视化 |
| ECharts Wordcloud | ^2.1.0 | 词云图 |
| ECharts Liquidfill | ^3.1.0 | 水球图 |
| Chart.js | ^4.5.1 | 轻量图表 |
| Simple Mind Map | 0.14.0-fix.1 | 思维导图 |
| DayPilot Lite Vue | ^5.4.1 | 日历/排班类交互 |
| Vue Ganttastic | ^2.3.2 | 甘特图 |
| AMap JSAPI Loader | ^1.0.1 | 高德地图 JS API 加载 |
4.4 网络、日期、工具和文件处理
| 组件 | 声明版本/版本线 | 主要用途 |
|---|---|---|
| Axios | ^1.4.0 至 ^1.18.1 | HTTP 请求 |
| Day.js | ^1.11.19 | 日期时间处理 |
| Moment | ^2.29.4 | 旧子应用日期时间处理 |
| Lodash / Lodash-es | ^4.17.21 | 工具函数 |
| Mitt | ^3.0.1 | 轻量事件总线 |
| JS Cookie | ^3.0.5 | Cookie 操作 |
| Validator | ^13.11.0 | 表单/字符串校验 |
| QRCode | ^1.5.4 | 二维码生成 |
| jsrsasign | ^10.3.0 | 浏览器端签名/证书相关处理 |
| Pinyin Pro | ^3.28.1 | 中文拼音处理 |
| DOMPurify | ^3.4.12 | HTML 清洗,降低 XSS 风险 |
| Highlight.js | ^11.11.1 | 代码高亮 |
| html2canvas | ^1.4.1 | DOM 截图 |
| html2pdf.js | ^0.14.0 | HTML 转 PDF |
| jsPDF | ^4.2.1 | PDF 生成 |
| pdfjs-dist | ^5.4.449 | PDF 浏览/解析 |
| Signature Pad / Vue3 Signature | signature_pad ^5.0.10、vue3-signature ^0.2.4 | 电子签名 |
4.5 前端构建插件和样式工具
| 组件 | 声明版本/版本线 | 主要用途 |
|---|---|---|
| Tailwind CSS | 3.4.x | 原子化 CSS |
| Sass / Less | Sass ^1.93.x、Less ^4.1.3 / ^4.4.2 | CSS 预处理 |
| PostCSS | ^8.5.6 | CSS 转换管线 |
| Autoprefixer | ^10.4.22 | CSS 浏览器前缀 |
| unplugin-auto-import | ^0.16.6 / ^20.x | 自动导入 |
| unplugin-vue-components | ^0.25.1 / ^30.x | 自动组件注册 |
| unplugin-element-plus | ^0.11.2 | Element Plus 按需引入 |
| vite-plugin-svg-icons | ^2.0.1 | SVG 图标雪碧/注册 |
| vite-plugin-html | ^3.2.0 | HTML 模板注入 |
| vite-plugin-runtime-env | ^1.0.0 | 运行时环境变量 |
| Rollup Plugin Visualizer | ^6.0.5 | 构建产物分析 |
5. 文档站第三方开源组件
docs-adc 本身是 ADC 技术文档站,不属于业务前端,但也使用了以下开源组件:
| 组件 | 版本 | 用途 |
|---|---|---|
| VuePress | 2.0.0-rc.24 | 静态文档站生成 |
| VuePress Vite Bundler | 2.0.0-rc.24 | Vite 构建适配 |
| VuePress Default Theme | 2.0.0-rc.115 | 默认主题组件 |
| vuepress-theme-hope | 2.0.0-rc.98 | 文档主题增强 |
| vuepress-theme-plume | 1.0.0-rc.179 | 文档主题/样式扩展 |
| Vue | ^3.5.22 | 文档站运行时 |
| Mermaid | 11.12.0 | 流程图、时序图、架构图 |
| Sass Embedded | ^1.93.2 | 文档样式构建 |
| Algolia Search 相关包 | 由主题间接引入 | 文档搜索 |
| KaTeX / markdown-it | 由主题间接引入 | 数学公式与 Markdown 扩展 |
6. 本地开发基础设施中的开源组件
以下组件不是 PHP/JavaScript 依赖,但属于 ADC 本地开发、测试环境实际使用的第三方开源软件。版本依据 docs-adc/docker-compose/{dev,test} 下的 Compose 文件。
| 组件 | 镜像/版本 | 用途 | 当前风险/备注 |
|---|---|---|---|
| MySQL | mysql:8.0 | 关系型数据库 | 建议补充精确 patch 版本 |
| Redis | redis:7.2 | 缓存、会话、队列辅助 | 建议补充精确 patch 版本 |
| RabbitMQ | rabbitmq:3-management | 消息队列 | 3-management 未锁定 patch 版本 |
| Nacos | nacos/nacos-server:v2.5.1 | 配置中心、服务发现 | 已锁定小版本 |
| MinIO | minio/minio:RELEASE.2024-01-11T07-46-16Z | S3 兼容对象存储 | 已锁定发行版本 |
| RustFS | rustfs/rustfs:latest | 对象存储/文件服务测试替代 | latest 会导致环境不可复现,应改为固定版本 |
| XXL-JOB Admin | xuxueli/xxl-job-admin:3.2.0 | 定时任务管理 | 已锁定版本 |
| Nginx | 仓库根目录 nginx.conf 及部署配置 | 反向代理、静态资源服务 | 镜像版本需在部署文件中进一步确认 |
7. ADC 内部包与工作区包(不计入第三方开源组件)
7.1 后端内部/组织包
tgkw-adc/helpertgkw-adc/hyperf-smsTgkwAdc\\*命名空间相关包
这些包出现在多个后端服务的 Composer 依赖中,但当前清单未将其判定为公共开源组件。应在内部制品仓库或对应源码仓库中补充:源码地址、版权所有者、许可证、发布范围和版本策略。
7.2 前端工作区包
@adc/constants@adc/icons@adc/locales@adc/plugins@adc/request@adc/stores@adc/styles@adc/types@adc/ui@adc/utils
这些包通过 workspace:* 相互引用,属于 ADC 自有公共包,不应与 npm 第三方包混淆。
8. 许可证与开源协议矩阵
说明:下表将“协议类型”和“合规要求”分开记录。协议类型来自 Composer 锁文件、npm 包元数据、项目 LICENSE 或组件官方许可证信息;未能从当前仓库直接确认的项目标记为“待复核”。最终发布前仍应以实际安装版本携带的 LICENSE/NOTICE 文件为准。
“许可证要求”是工程合规摘要,不是法律意见。常见要求中的“保留版权和许可证文本”通常意味着发布包、镜像或安装介质中应保留对应文件;“披露修改”适用于 Apache-2.0 等要求说明改动的协议;“源代码开放/同许可证分发”则是强约束,应由法务或开源办公室复核。
8.1 后端组件
| 组件 | 协议类型 | 许可证要求 |
|---|---|---|
| Hyperf 全家桶 | MIT | 保留版权和 MIT 许可证文本;按原样或修改后分发均可,不承担担保义务 |
Swoole / hyperf/engine | Apache-2.0 / MIT 适配层 | 保留 LICENSE/NOTICE;Apache 部分应标识修改并保留专利授权及免责声明 |
| Symfony Components | MIT | 保留版权和许可证文本 |
| PSR 标准组件 | MIT | 保留版权和许可证文本 |
| Doctrine DBAL | MIT | 保留版权和许可证文本 |
| Guzzle | MIT | 保留版权和许可证文本 |
Flysystem / hyperf/flysystem-oss | MIT | 保留版权和许可证文本 |
| Alibaba Cloud OSS SDK | Apache-2.0(SDK 主仓库)/ MIT(部分依赖) | 保留 LICENSE/NOTICE;分发时保留第三方依赖许可清单 |
| AWS SDK for PHP | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;遵守专利条款和免责声明 |
| Elasticsearch PHP Client | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;注意 Elasticsearch 商标和服务条款不等同于代码许可证 |
hyperf/elasticsearch | MIT | 保留版权和许可证文本 |
Nacos / hyperf/nacos | Apache-2.0 / MIT 适配层 | Nacos 部分保留 LICENSE/NOTICE;修改需说明;保留免责声明 |
AMQP / hyperf/amqp | MIT | 保留版权和许可证文本 |
hyperf/async-queue | MIT | 保留版权和许可证文本 |
hyperf/websocket-server | MIT | 保留版权和许可证文本 |
| DTM Client | MIT | 保留版权和许可证文本 |
| XXL-JOB Admin | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留专利授权和免责声明 |
| Casbin | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明 |
donjan-deng/hyperf-casbin | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明 |
| Firebase PHP-JWT | BSD-3-Clause | 保留版权、许可证和免责声明;不得使用作者/组织名称背书 |
| Egulias Email Validator | MIT | 保留版权和许可证文本 |
| Jieba PHP | MIT | 保留版权和许可证文本 |
| Google Protobuf | BSD-3-Clause | 保留版权、许可证和免责声明;不得暗示官方背书 |
| Alibaba Cloud OCR/Captcha SDK | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明 |
| PhpSpreadsheet | MIT | 保留版权和 MIT 许可证文本 |
| PHP Mailer Swoole | MIT(当前依赖声明) | 保留版权和许可证文本;发布前复核具体版本 LICENSE |
tgkw-adc/hyperf-sms | 内部包,协议待确认 | 在未确认许可证前,不应对外发布源码或二进制;补充版权人、许可证和分发边界 |
| PHPUnit / Hyperf Testing | BSD-3-Clause / MIT(组件及适配层) | 分别保留 BSD/MIT 文本和免责声明;通常仅进入开发依赖,不应误打入运行时镜像 |
| Mockery | BSD-3-Clause | 保留版权、许可证和免责声明;不得使用作者背书 |
| PHPStan | MIT | 保留版权和许可证文本 |
| PHPStan PHPUnit/Symfony 扩展 | MIT | 保留版权和许可证文本 |
| PHP CS Fixer | MIT | 保留版权和许可证文本 |
| Hyperf DevTool | MIT | 保留版权和许可证文本 |
| Hyperf Watcher | MIT | 保留版权和许可证文本 |
| Swoole IDE Helper | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;通常仅开发环境使用 |
8.2 前端组件
| 组件 | 协议类型 | 许可证要求 |
|---|---|---|
| Vue | MIT | 保留版权和 MIT 许可证文本 |
| Vue Router | MIT | 保留版权和 MIT 许可证文本 |
| Pinia | MIT | 保留版权和 MIT 许可证文本 |
| Pinia Persisted State | MIT | 保留版权和 MIT 许可证文本 |
| Vite | MIT | 保留版权和 MIT 许可证文本 |
| TypeScript | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明 |
| pnpm | MIT | 保留版权和许可证文本;仅作为构建工具时通常不进入运行时产物 |
| Turborepo | MIT | 保留版权和许可证文本 |
| Vue Devtools Vite Plugin | MIT | 保留版权和 MIT 许可证文本 |
| Prettier | MIT | 保留版权和 MIT 许可证文本 |
| ESLint 生态 | MIT | 保留版权和 MIT 许可证文本;各插件应分别保留许可证 |
| Element Plus | MIT | 保留版权和 MIT 许可证文本 |
| Element Plus Icons Vue | MIT | 保留版权和 MIT 许可证文本 |
| Arco Design Vue | MIT | 保留版权和 MIT 许可证文本 |
| VXE Table | MIT | 保留版权和 MIT 许可证文本;注意组件商业服务/增值内容与代码协议分开判断 |
| VXE PC UI | MIT | 保留版权和 MIT 许可证文本;复核具体版本授权范围 |
| FormCreate | MIT | 保留版权和 MIT 许可证文本 |
| SortableJS | MIT | 保留版权和 MIT 许可证文本 |
| Vue Draggable | MIT | 保留版权和 MIT 许可证文本 |
| NProgress | MIT | 保留版权和 MIT 许可证文本 |
| Vue3 Dragscroll | MIT | 保留版权和 MIT 许可证文本 |
| Vue3 Print NB | MIT | 保留版权和 MIT 许可证文本;复核具体版本 LICENSE |
| Swiper | MIT | 保留版权和 MIT 许可证文本 |
| Micro App | MIT | 保留版权和 MIT 许可证文本 |
| WangEditor | MIT | 保留版权和 MIT 许可证文本 |
| WangEditor Attachment Plugin | MIT | 保留版权和 MIT 许可证文本;复核插件独立 LICENSE |
| Vue Flow | MIT | 保留版权和 MIT 许可证文本 |
| ECharts | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明和专利条款 |
| ECharts Wordcloud | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改 |
| ECharts Liquidfill | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改 |
| Chart.js | MIT | 保留版权和 MIT 许可证文本 |
| Simple Mind Map | MIT | 保留版权和 MIT 许可证文本;复核 0.14.0-fix.1 发行包 LICENSE |
| DayPilot Lite Vue | Apache-2.0(Lite 版本) | 保留 LICENSE/NOTICE;商业版和 Pro 功能不适用于该开源协议,禁止混用授权结论 |
| Vue Ganttastic | MIT | 保留版权和 MIT 许可证文本 |
| AMap JSAPI Loader | MIT(npm loader 包)/ 高德地图 API 服务条款 | 保留 npm 包许可证;地图数据和在线 API 另受高德服务条款、配额和商用授权约束 |
| Axios | MIT | 保留版权和 MIT 许可证文本 |
| Day.js | MIT | 保留版权和 MIT 许可证文本 |
| Moment | MIT | 保留版权和 MIT 许可证文本 |
| Lodash / Lodash-es | MIT | 保留版权和 MIT 许可证文本 |
| Mitt | MIT | 保留版权和 MIT 许可证文本 |
| JS Cookie | MIT | 保留版权和 MIT 许可证文本 |
| Validator | MIT | 保留版权和 MIT 许可证文本 |
| QRCode | MIT | 保留版权和 MIT 许可证文本 |
| jsrsasign | BSD-3-Clause | 保留版权、许可证和免责声明 |
| Pinyin Pro | MIT | 保留版权和 MIT 许可证文本;复核具体版本 LICENSE |
| DOMPurify | Apache-2.0 / MPL-2.0 双许可证 | 可按项目政策选择一种兼容许可证;保留相应 LICENSE/NOTICE,发布前确认选择记录 |
| Highlight.js | BSD-3-Clause | 保留版权、许可证和免责声明 |
| html2canvas | MIT | 保留版权和 MIT 许可证文本 |
| html2pdf.js | MIT | 保留版权和 MIT 许可证文本;复核其依赖链许可证 |
| jsPDF | MIT | 保留版权和 MIT 许可证文本 |
| pdfjs-dist | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明 |
| Signature Pad | MIT | 保留版权和 MIT 许可证文本 |
| Vue3 Signature | MIT | 保留版权和 MIT 许可证文本;复核具体版本 LICENSE |
| Tailwind CSS | MIT | 保留版权和 MIT 许可证文本 |
| Sass / Sass Embedded | MIT | 保留版权和 MIT 许可证文本 |
| Less | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明 |
| PostCSS | MIT | 保留版权和 MIT 许可证文本 |
| Autoprefixer | MIT | 保留版权和 MIT 许可证文本 |
| unplugin-auto-import | MIT | 保留版权和 MIT 许可证文本 |
| unplugin-vue-components | MIT | 保留版权和 MIT 许可证文本 |
| unplugin-element-plus | MIT | 保留版权和 MIT 许可证文本 |
| vite-plugin-svg-icons | MIT | 保留版权和 MIT 许可证文本 |
| vite-plugin-html | MIT | 保留版权和 MIT 许可证文本 |
| vite-plugin-runtime-env | MIT | 保留版权和 MIT 许可证文本;复核具体版本 LICENSE |
| Rollup Plugin Visualizer | MIT | 保留版权和 MIT 许可证文本 |
8.3 文档站组件
| 组件 | 协议类型 | 许可证要求 |
|---|---|---|
| VuePress | MIT | 保留版权和 MIT 许可证文本 |
| VuePress Vite Bundler | MIT | 保留版权和 MIT 许可证文本 |
| VuePress Default Theme | MIT | 保留版权和 MIT 许可证文本 |
| vuepress-theme-hope | MIT | 保留版权和 MIT 许可证文本 |
| vuepress-theme-plume | MIT(当前包元数据) | 保留版权和 MIT 许可证文本;复核具体 RC 版本 LICENSE |
| Vue | MIT | 同前端 Vue 要求,保留版权和许可证文本 |
| Mermaid | MIT | 保留版权和 MIT 许可证文本 |
| Sass Embedded | MIT | 保留版权和 MIT 许可证文本 |
| Algolia Search 相关包 | MIT / Apache-2.0,按实际子包区分 | 必须按锁文件中的具体包逐项保留许可证;Algolia 在线服务另受服务条款约束 |
| KaTeX | MIT | 保留版权和 MIT 许可证文本 |
| markdown-it | MIT | 保留版权和 MIT 许可证文本 |
8.4 本地开发基础设施
| 组件 | 协议类型 | 许可证要求 |
|---|---|---|
| MySQL 8.0 | GPLv2(社区版)/ 商业许可双轨 | 社区版分发需遵守 GPLv2;如果不希望承担 GPL 义务,应评估商业许可或仅使用内部服务而不再分发软件 |
| Redis 7.2 | RSALv2 / SSPLv1(以具体发行包和版本为准) | 不应再简单标注为 BSD;对外分发或提供托管服务前必须确认具体 Redis 版本协议及商业限制 |
| RabbitMQ | MPL-2.0 | 保留 LICENSE/NOTICE;修改 RabbitMQ 本体时按 MPL 要求提供对应修改源码;独立插件/业务代码需单独判断 |
| Nacos | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明和专利条款 |
| MinIO | AGPL-3.0(当前项目发行版) | 若分发或提供网络服务,需重点评估 AGPL 源码开放义务;不能仅按普通 MIT/Apache 组件处理 |
| RustFS | Apache-2.0(当前项目声明) | 保留 LICENSE/NOTICE;说明修改;以实际镜像版本为准 |
| XXL-JOB Admin | Apache-2.0 | 保留 LICENSE/NOTICE;说明修改;保留免责声明 |
| Nginx | BSD-2-Clause | 保留版权、许可证和免责声明;动态模块及第三方模块另行核查 |
8.5 ADC 内部包与工作区包
| 组件 | 协议类型 | 许可证要求 |
|---|---|---|
tgkw-adc/helper | 未确认 | 在取得内部制品仓库或源码仓库许可证证据前,不应对外分发或宣称为开源组件 |
tgkw-adc/hyperf-sms | 未确认 | 同上;补充版权人、授权范围、源码地址和发布边界 |
@adc/* 工作区包 | 仓库内自有包;各包声明不完全一致 | 按每个包的 package.json、LICENSE 和发布策略分别确认;不能因为使用 workspace:* 就默认属于 MIT |
9. 许可证审计落地要求
- 构建产物保留清单:前端静态资源、后端镜像和发布压缩包应提供
THIRD-PARTY-NOTICES或等价的第三方许可证目录。 - 直接依赖优先:每次修改
composer.json、composer.lock、package.json或pnpm-lock.yaml时,重新生成许可证清单。 - 禁止只看包名判断许可证:同名生态包、fork、插件和适配层可能使用不同协议;必须以安装版本的
LICENSE、NOTICE、包元数据和官方仓库为证据。 - GPL/AGPL/SSPL/RSAL 单独审批:MySQL、MinIO、Redis 等组件涉及强 copyleft 或服务限制,生产分发、SaaS 托管、镜像发布前应由法务/开源合规负责人确认。
- Apache-2.0 的 NOTICE 不能遗漏:尤其是后端镜像、前端 source map、文档站静态资源和包含第三方源码的发布包。
- 开发依赖与运行时依赖分开:PHPStan、PHP CS Fixer、Prettier、ESLint、Vite 等通常不进入运行时,但如果被打包进构建镜像,仍需保留其许可证信息。
- 锁定版本:许可证结论必须绑定具体解析版本;
^、~、latest和 RC 版本不能作为长期合规证据。
10. 对抗式审查与治理建议
从“依赖链可控、构建可复现、许可证可审计、升级可回滚”四个基本目标出发,当前存在以下风险:
8.1 版本线并存
- 前端同时存在 Vue 3.2、3.4、3.5;Vite 同时存在 4.x、7.x 甚至更高版本声明;Pinia 同时存在 2.x、3.x。
- 这不一定立即造成故障,但会增加共享包、插件兼容和构建缓存失效的概率。
- 建议建立“主应用基线版本”和“遗留子应用版本”,禁止公共包继续扩大版本分叉。
8.2 预发布版本进入文档生产链路
VuePress、主题包和部分前端生态使用 rc 版本。预发布版本可能存在 API 变化、插件兼容性和安全修复滞后问题。建议在文档站升级前增加构建验证和回滚版本。
8.3 不可复现的容器版本
rustfs/rustfs:latest、rabbitmq:3-management、mysql:8.0、redis:7.2 均没有完全锁定到 patch 或 digest。攻击者或上游镜像变更可能使同一配置在不同时间产生不同结果。建议生产及测试环境统一使用固定 tag 或镜像 digest。
8.4 内部包与公共开源包边界不清
tgkw-adc/* 及 @adc/* 应单独维护软件物料清单(SBOM)和许可证信息。否则容易发生:
- 内部包被误发到公共 npm/Composer 仓库;
- 开源许可证义务被遗漏;
- 安全扫描无法判断责任归属;
- 依赖升级时无法确定影响范围。
8.5 前端供应链与 XSS 风险
富文本编辑器、HTML 转 PDF、Markdown/文档主题、运行时环境变量插件都属于高影响构建或渲染链路。建议:
- 生产构建必须使用锁文件,禁止临时
install覆盖锁定版本; - 对富文本输出、Markdown 渲染和 HTML 导出保留
DOMPurify等清洗边界; - 对
pnpm audit、Composer 安全扫描和镜像扫描设置阻断阈值; - 记录第三方组件的引入原因和替代方案,避免重复引入相同能力。
8.6 后端依赖版本不应只看 composer.json
后端服务大量通过 tgkw-adc/helper 和 Hyperf 生态间接获得能力。审计时必须同时检查:
composer.json:声明意图;composer.lock:实际解析版本;- Docker/PHP 扩展配置:运行时能力;
- 代码
use、配置和容器注册:实际使用位置。
只看 composer.json 会漏掉 Casbin、JWT、Nacos、AMQP、OSS、Guzzle 等实际运行依赖。
11. 建议的持续维护方式
建议每次后端或前端依赖变更时同步更新本文件,并在 CI 中自动生成依赖快照:
# 后端
composer show --direct
composer licenses --format=json
# 前端
pnpm list --depth 0
pnpm audit --prod
# 依赖文件变更检查
git diff --name-only -- '**/composer.json' '**/composer.lock' '**/package.json' '**/pnpm-lock.yaml'建议后续补充一份机器可读的 SBOM(CycloneDX 或 SPDX),至少包含:组件名称、生态系统、版本、直接/间接依赖、许可证、仓库地址、来源仓库、部署范围和最后审核日期。
12. 证据文件索引
- 后端声明:各服务根目录
composer.json。 - 后端解析结果:各服务根目录
composer.lock。 - 前端根工程:
adc-apps/package.json、adc-apps/pnpm-lock.yaml。 - 前端应用:
adc-apps/apps/*/package.json。 - 前端公共包:
adc-apps/packages/*/package.json。 - 文档站:
docs-adc/package.json、docs-adc/pnpm-lock.yaml。 - 基础设施:
docs-adc/docker-compose/dev/**/docker-compose.yml、docs-adc/docker-compose/test/**/docker-compose.yml。
本文件是基于仓库依赖声明和锁文件的静态盘点,不等同于法律意义上的许可证意见,也不替代发布前的 SBOM、漏洞扫描和许可证复核。