# WePush Next 1.2.0 — AI Assistant Access and Java 25 `1.2.0` 是兼容 `1.1.0` 的稳定 Minor 发行版。它让 Codex 等 AI 助手通过用户自己的 WePush 完成查询、准备和授权发送,并把 Java 运行基线升级到 25。WePush 仍然只提供用户自部署软件,不提供托管控制面、遥测或强制自动更新。 ## 主要更新 - Desktop 可在 **设置 → AI 助手接入** 一键安装 Codex MCP 与 Skill,也可只安装 Skill,或导出通用 stdio MCP 配置。WebUI 和完整发行包提供同一个 `ai/wepush-ai.mjs`,用 Node.js 24+ 安装。 - MCP 由 AI 客户端通过 stdio 启动,再调用本机或用户指定的 WePush REST API。它不新开服务端口,也不把请求转到官方公共平台。 - 助手可以发现 Provider Schema、查询资源、创建消息/受众/任务、执行 Dry Run、在用户授权后提交正式发送,并查询结果或暂停、恢复、取消运行。正式发送继续使用预览确认令牌、Idempotency-Key 和 Workspace RBAC。 - 安装器不读取或复制登录 Token。启用认证时,在 AI 客户端环境中设置 `WEPUSH_API_TOKEN`。 - Java 构建与运行基线由 21 升级到 25。完整安装包携带 Java 25 运行时;精简包、分组件部署和 Java SDK 需要系统 Java 25+。 ## 数据与兼容性 - REST/SSE 保持 `/api/v1`,本版本不新增路径或必填字段。 - 不新增 Flyway 迁移,数据库版本保持 V17。 - Provider SPI 与 Agent 协议 Major 仍为 `1`。`1.1.0` 与 `1.2.0` 的 Service/Agent 可在滚动升级窗口内短期混合运行。 - 运营商插件实现版本更新为 `1.2.0`。新 Run 应安装同一 Release 的签名插件,并使用该 Release 的信任公钥文件。 ## 升级步骤 1. 使用精简包或 Java SDK 时,先安装 Java 25+。完整包用户使用包内运行时。 2. 下载 `1.2.0` 对应平台发行包和 `SHA256SUMS`,先校验 SHA-256。 3. 使用发行包内升级脚本。脚本会在切换前创建完整备份,并在切换后检查 Readiness、Flyway V17 和本地 Provider Dry Run。 4. 确认 `GET /api/v1/system/info` 返回 `1.2.0`,原资源、历史 Run 和 Artifact 可读取,Agent 已重连。 5. 需要 AI 助手时重新安装 MCP/Skill。`1.1.0` 安装包没有 `wepush-ai.mjs`。 6. 安装运营商插件前,校验 `wepush-provider-trusted-key-1.2.0.env`、它的旁路 `.sha256` 和统一 `SHA256SUMS`,再把其中的 `WEPUSH_PLUGIN_TRUSTED_KEYS` 原样加入 Agent 环境并重启。 完整流程见[《升级与回滚指南》](../upgrade-guide.md);接入步骤见[《AI 助手接入指南》](../ai-integration.md)。 ## 回滚 `1.2.0` 不新增数据表。受支持的回滚目标是 `1.1.0`,且必须恢复升级前完整备份,不要只替换 JAR。若环境曾经升级过 `1.1.0`,数据库中已有 V15–V17,不能把当前数据直接交给 `1.0.0`。 ## 发行边界 - macOS、Windows Desktop 和安装包继续不使用商业代码签名;只从项目 GitHub Release 获取文件,并验证 `SHA256SUMS` 与 CycloneDX SBOM。 - 运营商 Provider 插件仍必须经过 Ed25519 签名和 Agent 内置生产校验器验签。 - AI 桥接器只允许回环地址使用 HTTP,拒绝 URL 中的密码或查询参数,并拒绝跟随 API 重定向。它不是远程 HTTP MCP,也不提供 OAuth。