> For the complete documentation index, see [llms.txt](https://developer.eagle.cool/plugin-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.eagle.cool/plugin-api/zh-cn/plugin-review/criteria/package-contents.md).

# 安装包内容

提交的 `.eagleplugin` 应是干净、可发布且只包含运行所需文件的安装包。审核会盘点可能属于敏感数据、开发环境、不必要产物、嵌套压缩包或二进制程序的内容，再依实际用途判断是否需要修改。

被列入检查不代表文件一定违规。例如，插件确实可能需要本地二进制组件或运行时依赖；开发者必须能够说明其来源、用途与必要性。

## 不要包含开发环境目录

最终安装包通常不应包含与运行无关的版本控制、编辑器、虚拟环境或缓存目录，例如：

* `.git/`、`.svn/`、`.hg/`、`.bzr/`；
* `.idea/`、`.vscode/`；
* `__pycache__/`、`.pytest_cache/`；
* `.venv/`、`venv/`。

不要把完整项目目录原样打包。`node_modules/` 或其他依赖目录如果确实是运行所需，可以保留必要内容；如果插件已经完成构建，建议移除不会在发布版本中使用的开发依赖与重复依赖包。

## 移除敏感数据

安装包不得包含真实凭证或私人密钥。请特别检查：

* `.env` 及其变体；
* `.pem`、`.key`、`.p12`、`.pfx` 等密钥或凭证文件；
* `credentials.json`、`secrets.json`；
* 包含 Token 或私有 Registry 凭证的 `.npmrc`；
* 测试账号、个人数据、内部网址或开发数据库。

如果敏感数据曾经被打包或公开，请不要只删除文件；还应立即停用并更换相关密钥或凭证。

## 清理不必要文件

请移除不会影响插件运行的系统与临时文件，例如：

* `.DS_Store`、`Thumbs.db`、`desktop.ini`；
* `.log`、`.tmp`、`.swp`、`.swo`；
* 测试输出、调试记录、截图草稿与本地缓存；
* 重复的 `dist/`、旧版本构建或同时存在的原始与发布产物。

安装包内容越精简，越容易确认用户最终会安装什么，也能降低意外泄露与供应链风险。

## 避免嵌套压缩包与重复打包

不要在 `.eagleplugin` 内再放入与运行无关的 `.zip`、`.rar`、`.7z`、`.tar`、`.tgz`、`.gz`、`.dmg`、`.iso` 等压缩包或磁盘映像。

如果压缩包是插件功能必需的资源，请在审核说明中解释内容、来源及使用方式。夹带源代码压缩包、旧安装包、备份文件或另一份完整插件，会让审核无法确认实际发布范围，并可能阻挡投稿。

## 二进制文件

`.exe`、`.dll`、`.msi`、`.dylib`、`.so`、`.app`、`.pkg`、`.bin` 等文件会接受额外检查，但不会只因为是二进制格式就自动被拒绝。

插件需要二进制组件时，请确保：

* 文件直接服务于插件宣称的功能；
* 来源可信，并由开发者有权重新发布；
* 支持的平台与架构已清楚说明；
* 不会执行未向用户说明的安装、下载或系统变更；
* 安装包没有同时夹带无关平台或旧版本的重复文件。

## 常见未通过原因

* 安装包包含版本控制目录、编辑器设置或虚拟环境。
* `.env`、私钥或凭证文件被一起打包。
* 包含嵌套源代码压缩包、旧安装包或重复构建产物。
* 夹带大量与运行无关的日志、缓存、测试或系统文件。
* 二进制文件来源与用途无法说明，或会执行未说明的系统操作。

建议从全新的发布目录创建安装包，并在投稿前解开一份副本，逐项确认里面只剩用户实际需要安装的内容。
