| 组件 |
主要职责 |
形态与边界 |
| Core / Engine |
执行批量任务,管理并发、重试、暂停、恢复、取消、结果与运行事件 |
纯 Java 无界面执行内核,不直接提供网络 API,也不依赖 Service、UI 或具体 Provider |
| Provider SPI / Provider |
定义消息渠道扩展契约,负责账号校验、消息渲染和实际发送 |
Core 只面向 SPI;内置 HTTP 和 8 个标准渠道,另有 CMPP/SMGP/SGIP/SMPP 独立签名插件 |
| Service |
提供配置、调度、运行控制、Secret、Artifact、审计、REST/SSE、OpenAPI 和 Agent 控制面 |
可前台运行或安装为 Linux systemd、macOS launchd、Windows Service;本机模式可内嵌 Core Engine |
| Agent |
在独立主机接收 Lease,使用 Core Engine 执行任务并回传事件、结果和 Artifact |
可独立安装,通过 gRPC 主动连接 Service;本机内嵌执行时不需要 Agent |
| Remote Java SDK |
让 Java 应用通过强类型客户端调用远程 Service API |
已实现;只依赖公开的 service-api 契约,不依赖 Core、Engine 或具体 Provider |
| Embedded Java SDK |
让 Java 应用在自己的进程内直接装配 Core Engine 和选定 Provider,无需启动 Service |
1.1.0 Java SDK 附件包含 HTTP 与标准渠道 Provider;业务应用仍须显式选择 |
| WebUI |
提供可视化配置、任务与调度、运行中心、Agent 观察和动态调试 API 文档 |
TypeScript + Vite + React,可由 Service 直接托管,也可在开发环境独立运行 |
| Desktop UI |
提供与 WebUI 一致的桌面管理体验和安全 Electron 外壳 |
连接并管理已安装的本机 Service,使用系统安全存储保存 Token;不把 Service 内嵌进 UI |
当前典型调用关系为:WebUI / Desktop UI / Remote Java SDK → Service API → Service → 内嵌 Core Engine;远程执行时则由 Service → Agent → Core Engine → Provider 完成发送。进程内集成使用 业务 Java 应用 → Embedded Java SDK → Core Engine → Provider,不经过 Service。
WePush Next 是由用户自行下载、安装、部署和运维的开源产品,不依赖官方公共 SaaS、账号注册、计费订阅或云 KMS/Secret Manager。数据、密钥和运行环境均由用户掌控;完整定位和后续计划见《产品目标、边界与路线图》。