# 插件产物目录 每个直接子目录放一份完整发布物:`incoming/my-plugin/manifest.json` 与该清单引用的全部 tgz。不要只放 zip/tgz,不要多嵌套一层解压目录;框架只读取直接子目录中的清单,不递归猜测入口。目录名可自定,插件身份以清单为准。 incoming 表示部署后期望保留的完整插件集合。新增时保留其他目录;更新时整体替换对应目录,不合并新旧文件。同一个插件 ID 或包名不能出现在两份清单中,框架不会自动选择较新的版本。 旧站点仍启用的插件不能漏掉产物;移走文件不等于停用。先按根 README 的停用步骤成功部署,再移走该产物。配置、数据、备份和临时解压目录放在 incoming 外。 放好后回到部署根运行 `bash build.sh`,Windows 用 `.\build.ps1`。首次配置、认证、完整目录替换和恢复步骤见[根 README](../README.md);源码仓库的根 README 会导向对应部署指南。本说明随部署包保留,实际产物不提交框架 Git。