核心用法
Yuboto Omni API 技能是专为 Yuboto/Octapush 消息服务平台设计的开发辅助工具,覆盖 SMS、Viber 等多渠道通信场景的 API 集成需求。
主要功能模块:
1. 消息发送核心:send-sms、send-csv 支持单条及批量短信发送,内置 200 条/批的安全分批策略与 250ms 延迟防护
2. 状态追踪体系:dlr(送达回执查询)、poll-pending、history、status 构成完整的消息生命周期监控
3. 成本与账户管理:balance 实时余额查询,cost 支持按国家代码预估发送费用
4. 数据管理:联系人列表、黑名单、订阅者管理端点的完整对接
开发工作流:
该技能采用四级信源优先级(Swagger > 快速参考 > PDF 提取 > 原始 PDF),确保代码实现与线上 API 契约保持一致。开发者可通过 find_endpoints.py 脚本快速定位端点,或直接在 swagger_v1.json 中验证请求/响应模式。
安全设计亮点:
- 强制环境变量
OCTAPUSH_API_KEY管理,禁止硬编码 - 运行时数据默认存储于 XDG_STATE_HOME(~/.local/state),脱离技能目录
- 日志轮转(5000 行上限)与状态记录上限防护
- 纯 Python 标准库依赖,无外部供应链风险
显著优点
- 生产级防护:批量发送硬上限 1000 条/请求、自动分批、延迟注入,防止 API 限流触发
- 凭证管理灵活:原生支持 OpenClaw 集中配置与标准环境变量双模式
- 多源文档校验:PDF 与 Swagger 冲突时优先 Swagger,解决文档版本不一致痛点
- 零依赖运行时:仅需 Python 3 标准库,部署兼容性极佳
潜在局限
- 地区准入限制:需通过 Yuboto 支持团队申请 API 权限,非自助开通
- 发件人审核:SMS 发件人 ID 必须预先审核,未审核发件人触发 108 错误码
- 环境变量唯一性:
.env文件不受支持,强制要求 OpenClaw 配置或导出变量 - 测试号码硬编码:
TEST_PHONENUMBER等可选变量需手动配置,无沙箱自动模拟
适合人群
- 需要集成希腊/欧洲本地短信服务的后端开发者
- 构建营销自动化、OTP 系统的技术团队
- 已有 Yuboto 商业账户、寻求标准化 API 封装的企业用户
常规风险
| 风险类别 | 具体表现 | 缓解措施 |
|---------|---------|---------|
| 凭证泄露 | Shell 历史记录残留 API key | 强制使用 env 变量,禁止 `--api-key` CLI 参数 |
| 数据残留 | 本地日志含手机号、消息预览 | 定期清理 `$XDG_STATE_HOME/openclaw/yuboto-omni-api` |
| 发送超限 | 批量任务触发运营商限流 | 依赖内置 200 条分批 + 延迟机制 |
| 文档漂移 | PDF 与线上 Swagger 字段不一致 | 优先遵循 Swagger 契约,技能已内置校验流程 |