# 第三方开源与许可声明

本文件用于履行第三方软件的归属、许可和源码可得性义务，不表示任何第三方为 Xmao 背书。根目录 `LICENSE`、各依赖包随附的许可文件以及锁文件共同构成本发行版的许可记录；若本摘要与许可原文不一致，以许可原文为准。

## 上游 MIT 基线

Xmao 包含基于 [Hermes Agent](https://github.com/nousresearch/hermes-agent)（Nous Research）修改的开源软件部分。上游基线为 `v2026.7.7.2`，commit `9de9c25f620ff7f1ce0fd5457d596052d5159596`，依据 MIT License 发布。上游版权声明与 MIT 许可全文保留在根目录 `LICENSE` 中。

## 仓库内嵌组件

- `plugins/security-guidance/` 包含来自 Anthropic `claude-plugins-official` 的 Apache License 2.0 内容；原始来源、commit 和修改范围见该目录的 `NOTICE` 与 `LICENSE`。
- `skills/creative/humanizer/` 依据 MIT License 发布，版权与许可全文保留在该目录的 `LICENSE`。
- `plugins/xmao-achievements/` 依据 MIT License 发布，许可全文保留在该目录的 `LICENSE`。

## JavaScript / npm

精确版本与完整依赖图见 `package-lock.json`。

- DOMPurify `3.4.11` 的表达式为 `MPL-2.0 OR Apache-2.0`；Xmao 对该版本明确选择 Apache License 2.0。源码：<https://github.com/cure53/DOMPurify/tree/3.4.11>。
- Lightning CSS `1.32.0` 及其 `1.32.0` 平台二进制包依据 MPL-2.0 发布。源码：<https://github.com/parcel-bundler/lightningcss/tree/v1.32.0>。
- `@vscode/codicons` `0.0.45` 的图标/字体由 Microsoft Corporation 及贡献者依据 CC BY 4.0 提供（代码另依 MIT）；来源：<https://github.com/microsoft/vscode-codicons/tree/0.0.45>，许可：<https://creativecommons.org/licenses/by/4.0/>。
- `caniuse-lite` `1.0.30001799` 由 Ben Briggs 及贡献者依据 CC BY 4.0 提供；来源：<https://github.com/browserslist/caniuse-lite>，许可：<https://creativecommons.org/licenses/by/4.0/>。
- `khroma` `2.1.0` 的锁文件缺少 license 字段；发布闸门会核验本机已安装包内的 MIT 许可原文。版权：2019 至今 Fabio Spampinato、Andrew Maney。来源：<https://github.com/fabiospampinato/khroma>。

## Rust / Cargo

精确依赖图见 `apps/bootstrap-installer/src-tauri/Cargo.lock`。下列组件依据 MPL-2.0 发布，并在引导安装器中保持未修改的第三方依赖形态：

- `cssparser` `0.36.0`：<https://crates.io/crates/cssparser/0.36.0>
- `cssparser-macros` `0.6.1`：<https://crates.io/crates/cssparser-macros/0.6.1>
- `dtoa-short` `0.3.5`：<https://crates.io/crates/dtoa-short/0.3.5>
- `option-ext` `0.2.0`：<https://crates.io/crates/option-ext/0.2.0>
- `selectors` `0.36.1`：<https://crates.io/crates/selectors/0.36.1>

对应版本的源码可从上述 crates.io 页面下载。MPL-2.0 许可原文：<https://www.mozilla.org/MPL/2.0/>。

## Python

核心与可选依赖的精确版本见 `pyproject.toml` 和 `uv.lock`；实际发行环境还必须通过 `scripts/check_licenses.py` 对已安装分发包再次核验。

- `certifi` `2026.5.20`：MPL-2.0，<https://pypi.org/project/certifi/2026.5.20/>
- `pathspec` `1.1.1`：MPL-2.0，<https://pypi.org/project/pathspec/1.1.1/>
- `tqdm` `4.67.3`：包元数据为 `MPL-2.0 AND MIT`，<https://pypi.org/project/tqdm/4.67.3/>
- 可选语音依赖 `edge-tts` `7.2.7`：LGPL-3.0-only，<https://pypi.org/project/edge-tts/7.2.7/>。如发行物不安装此可选项，则它不构成该发行物的一部分；如安装，须随附 LGPL 许可并满足其重新链接、修改及源码可得性要求。

## 源码与许可副本

MPL/LGPL 覆盖组件的对应版本源码可通过上方固定版本链接以及锁文件中的来源地址取得。构建/发布人员必须将本文件和根目录 `LICENSE` 放入发行物，并确保包管理器随依赖安装的许可文件不被移除。若对 MPL/LGPL 覆盖文件作出修改，或改变静态/动态链接和重新链接条件，必须在发布前重新进行人工复核。
