# 第三方组件声明 本包**不打包**任何第三方代码,仅在运行/构建时使用下列组件。声明义务(署名与许可证保留) 由各自的包自行履行;本文件用于说明依赖关系与许可类型,便于使用者做合规审查。 ## 运行期必需(不随本包分发,需另行安装) | 组件 | 用途 | 许可 | 说明 | |---|---|---|---| | `dingtalk-workspace-cli`(命令名 `dws`) | **执行主体**:本插件的全部钉钉数据操作都通过它完成 | 见该包 | 需 `>= 1.0.6`。**不属于本包依赖**,由用户自行安装:`npm i -g dingtalk-workspace-cli`。本插件以子进程方式调用它,不修改也不分发其代码 | | DeepSeek Harness(`@deepseek-ai/*`) | 宿主机运行时 | 见发行方 | 由宿主提供,**本包不声明也不打包**这些包(详见下节) | ## 运行期可选 | 组件 | 用途 | 许可 | 缺失时的行为 | |---|---|---|---| | `qrcode` | 把钉钉设备流深链渲染成二维码(SVG data URL),仅用于面板「扫码绑定」 | MIT | 面板明确降级为「只显示深链 + 授权码」,授权流程仍可完成 | > 声明为 `optionalDependencies`:装不上不影响插件其余功能。 ## 构建期(不进入发布产物) | 组件 | 用途 | 许可 | |---|---|---| | `esbuild` | 把客户端实现打包成 `lib/client.js` | MIT | | `@deepseek-ai/cordis` | 仅用于类型注释(JSDoc),**运行期由宿主提供** | 见发行方 | ## 为什么 `@deepseek-ai/dsh-*` 不出现在依赖里 DSH 的运行时包使用**模块局部 Symbol** 作为 key,安装第二份物理副本会导致 Host 查找失败 (`Symbol.for` 之外的局部 Symbol 无法跨模块实例共享)。因此: - 本包在任何依赖节(含 `peerDependencies`)与 lock 文件中**都不声明** `@deepseek-ai/dsh-*`; - 运行时这些模块由宿主注入解析; - `npm run verify` 会把这条规则当作**断言**校验,CI 强制通过。 ## 无第三方素材 本仓库不含第三方图片、字体、图标或数据集。二维码由 `qrcode` 在本地生成,**不使用任何第三方二维码服务**。 ## 商标 「钉钉」「DingTalk」为钉钉(中国)信息技术有限公司的商标;「DeepSeek」为相应权利人的商标。 本插件为**非官方**第三方集成,与上述公司无隶属或背书关系,仅做事实性指称使用。