# deb-publisher 帮助 Agent 复用项目已有的 DEB 打包与发布方式,完成构建、包检查、上传和发布验证。 ## 什么时候使用 当你希望 Agent 处理以下任务时使用: - “帮我构建这个项目的 DEB 包” - “把 1.2.3 版本的 DEB 发布到包仓库” - “看看项目里的 DEB 发布流程” - “检查这个 DEB 是否可以发布” 只想在本机安装一个 `.deb`,或者要构建 RPM、Docker 镜像时,不需要使用这个 skill。 ## 使用前准备 请准备或确认: - 要构建或发布的版本号。 - 项目已经配置好构建脚本、Make 目标或 `debian/` 目录;上传脚本由 skill 自带, 不需要放进项目。 - 发布所需的令牌已经放入项目约定的环境变量或密钥系统。 - 如果要真实发布,明确告诉 Agent 目标仓库以及是否允许覆盖同版本。 不要把令牌直接粘贴到对话、命令参数或项目文件中。 ## 使用示例 仅分析,不产生或上传包: ```text 看看这个项目的 DEB 是怎么构建和发布的。 ``` 只构建和检查,不上传: ```text 使用 deb-publisher 构建 1.2.3 的 DEB,检查包元数据和内容,不要上传。 ``` 构建并发布: ```text 使用 deb-publisher 构建并发布 1.2.3 的 amd64 DEB 到项目已配置的测试仓库。 ``` 发布已有产物: ```text 使用 deb-publisher 检查并发布 ./dist/example_1.2.3_amd64.deb。 ``` ## Agent 会做什么 Agent 会优先发现和复用项目已有入口,然后: 1. 确认版本、架构、产物路径、目标仓库和授权范围。 2. 构建 DEB,或定位你指定的已有产物。 3. 检查包的元数据、内容和 SHA-256。 4. 在你明确要求发布时,通过 skill 自带的 `scripts/upload_deb.sh` 上传。 5. 检查服务端响应,并在仓库支持时确认该版本已经可见。 ## 如何判断完成 结果中应包含包名、版本、架构、产物路径、SHA-256,以及构建、上传和仓库可见性的 独立状态。异步索引尚未完成时,Agent 应明确说明“上传已接受,索引待更新”。 ## 上传协议 自带脚本适用于接收 multipart 字段 `package`、`token` 和 `repository_name` 的 HTTP DEB 仓库,默认路径是 `/api/v2/upload/package`。使用以下环境变量: - `DEB_SERVER_URL`:仓库服务地址。 - `DEB_TOKEN`:认证令牌。 - `DEB_REPOSITORY`:目标仓库名。 - `DEB_UPLOAD_PATH`:可选的上传路径覆盖。 令牌只从环境变量读取,不作为命令行参数传递。若你的仓库使用其他 API 协议,应先告诉 Agent,不要直接套用该脚本。