# 第三方组件与署名(NOTICE) OpenWorkBuddy 自身 Copyright (c) 2026 开发者猫叔 (DeveloperCatUncle),按 [PolyForm Noncommercial 1.0.0](LICENSE) 发布, 公司使用和个人商用需要商业授权,见 [COMMERCIAL-LICENSE.md](COMMERCIAL-LICENSE.md)。 但打包出去的桌面版里还住着一批别人的代码和资源,它们各自的许可照旧有效。这份文件就是把它们一条条写清楚—— 谁、哪个版本、什么许可、去哪拿源码。**发版前如果动了依赖,记得回来改这里。** 按协议「Notices」一节,复制或分发本软件的任何部分,都要原样带上 [LICENSE](LICENSE) 开头所有以 `Required Notice:` 开头的行: ``` Required Notice: Copyright (c) 2026 开发者猫叔 (DeveloperCatUncle) Required Notice: https://github.com/CatCatUncle/openworkbuddy Required Notice: Any use not permitted by the PolyForm Noncommercial License 1.0.0 or by the additional permissions in COMMERCIAL-LICENSE.md requires a separate commercial license; for example, a company using this software in its real business needs one — see COMMERCIAL-LICENSE.md ``` ## 一、前端(直接放进 `public/`,跟着页面一起发出去) | 组件 | 版本 | 许可 | 出处 | 我们怎么用的 | |---|---|---|---|---| | Lucide 图标 | sprite 子集 | ISC | https://lucide.dev | 挑用到的图标做成 `` sprite,内联进 `public/index.html`。内联是为了断网也能开,且图标跟着 `currentColor` 变色 | | @file-viewer/doc | 3.3.0 | MIT | https://github.com/flyfish-dev/docjs | 保留 core、msdoc、render 源码及 LICENSE;仅在隔离预览中按需加载 | | PDF.js | 6.4.299 | Apache-2.0 | https://github.com/mozilla/pdfjs-dist | 本地文字提取;保留主库、worker、CMap 与各自许可证 | | SheetJS CE | 0.20.3 | Apache-2.0 | https://docs.sheetjs.com/docs/getting-started/installation/standalone | 从官方 CDN 固定版本分发,内置 XLS / ET 兼容读取,在工作线程内解析 | | ofdjs | 0.1.0 | Apache-2.0 | https://github.com/isee15/ofdjs | `public/vendor/ofd/` 保留原始 JS 源码及 LICENSE;OFD 文件在隔离预览框中本机解析,不进行签章验证 | > 内联 sprite 只取了用到的那些图标,路径数据原样保留,没有改形。 ## 二、运行时依赖(`node_modules`,Electron 包里 `asar: false` 一并带出) | 包 | 版本 | 许可 | 出处 | |---|---|---|---| | @anthropic-ai/sdk | 0.125.0 | MIT | https://github.com/anthropics/anthropic-sdk-typescript | | @dagrejs/dagre | 1.1.8 | MIT | https://github.com/dagrejs/dagre | | @larksuiteoapi/node-sdk | 1.72.0 | MIT | https://github.com/larksuite/node-sdk | | @viz-js/viz | 3.29.0 | MIT | https://github.com/mdaines/viz-js | | @joint/core | 4.3.3 | MPL-2.0 | https://github.com/clientIO/joint | | docx | 9.7.1 | MIT | https://github.com/dolanmiu/docx | | docx-preview | 0.4.1 | Apache-2.0 | https://github.com/VolodymyrBaydalka/docxjs | | echarts | 6.1.0 | Apache-2.0 | https://github.com/apache/echarts | | electron-updater | 6.8.9 | MIT | https://github.com/electron-userland/electron-builder | | exceljs | 4.4.0 | MIT | https://github.com/exceljs/exceljs | | express | 4.22.2 | MIT | https://github.com/expressjs/express | | jszip | 3.10.1 | MIT | https://github.com/Stuk/jszip | | mermaid | 11.17.0 | MIT | https://github.com/mermaid-js/mermaid | | nodemailer | 9.1.1 | MIT-0 | https://github.com/nodemailer/nodemailer | | pptxgenjs | 3.12.0 | MIT | https://github.com/gitbrent/PptxGenJS | | qrcode | 1.5.4 | MIT | https://github.com/soldair/node-qrcode | | Electron | 43.x | MIT | https://github.com/electron/electron | Apache-2.0 的那条(echarts)要求保留它自己的 NOTICE 和许可头——我们没有改它的源码, 安装出来的包里原样带着,这一条就算尽到了。 桌面安装包里,mermaid 和 echarts 只带运行时真正读的那个打包好的单文件(`dist/mermaid.min.js`、`dist/echarts.js`), 外加各自的 package.json、LICENSE 和 NOTICE。单文件里打进了它们依赖的代码(d3、cytoscape、zrender 等), 这些依赖不再单独附带,许可证原文由打包脚本汇总写进 `node_modules/mermaid/THIRD-PARTY-LICENSES.txt` 和 `node_modules/echarts/THIRD-PARTY-LICENSES.txt`(见 `scripts/slim-deps.js`)。源码安装和 Docker 照常全量安装,不受影响。 短剧画布通过 `/vendor/joint/joint.min.js` 使用 `@joint/core` 的原文件,不改源码。 短剧画布使用 `@dagrejs/dagre` 计算节点的有向无环图(DAG)布局,不改源码。 ## 三、外部服务(不随包发布,用户自己配) PlantUML 渲染在本机没装 `plantuml` 命令时,会把图源发给用户配置的 PlantUML 服务器或 kroki。 这是一次网络请求,不是分发别人的代码,因此不涉及许可,但涉及隐私—— **图里有敏感内容就别用远端渲染**,装个本机 `plantuml` 更稳妥。 [toolward](https://github.com/CatCatUncle/toolward) 是**可选**的外部命令行工具:不随包发布、不在 `package.json` 里、 运行时也不会自动下载(不走 `npx`)。只有用户自己 `npm i -g toolward` 装到本机,装技能和存 MCP 连接器时 才会作为子进程调用一次;没装、崩了、超时一律当它没跑过,功能一个字不变。 它是 PolyForm Noncommercial 1.0.0 授权——个人、教学、学术、公益、政府免费,**公司里用要单独授权**, 所以装不装、要不要买授权由用户自己决定,本项目不替用户承担、也不替用户附加这项义务。 调用时递过去的连接器配置已经脱敏:`env` / `headers` 的值全换成 `***`、URL 剪到路径为止,密钥不出本机。 ## 四、我们借鉴但没有复制代码的项目 写下来是为了讲清楚边界——**看过、学过、没抄**: - [Toonflow-app](https://github.com/HBAI-Ltd/Toonflow-app)(Apache-2.0):短剧技能包与分镜提示词的组织方式; - [LocalMiniDrama](https://github.com/xuanyustudio/LocalMiniDrama)(MIT):分镜数据表结构与切分流程。 将来如果真的搬了它们的文件进来,会在上面第一节里按条登记,并保留原始许可头。