发布、草稿与定时

三种模式

  • 草稿 —— 在平台上暂存内容而不发布。安全默认,也是免费版唯一可用的模式。
  • 发布 —— 尝试真正发文。仅在支持自动发布的平台上有效;在 manual 平台上会退回为草稿(见下)。
  • 定时 —— 保存内容快照与解析后的目标列表,到设定时间自动发布。

每个目标会经历什么

发布时,OmniPost 会让每个目标依次经过同一组检查,并返回结构化结果。被跳过的目标不会写入记录,也不会影响安全计数器。顺序如下:

  1. 内容类型 —— 目标无法接收该内容类型(如把视频发到只收图文的平台)→ UNSUPPORTED_TYPE
  2. 长度 —— 超出软上限只附加 CONTENT_LENGTH_WARNING,从不拦截。
  3. 策略 —— 你的安全规则(见下)可能跳过它:BLACKOUTCIRCUIT_OPENDAILY_LIMITDEDUP
  4. 授权 —— PLATFORM_NOT_LICENSED(平台需专业版)、FEATURE_NOT_AVAILABLE(免费版只能建草稿)或 QUOTA_EXCEEDED(月配额用尽)。
  5. 校验 —— 正式发布时,缺少必填字段 → VALIDATION_FAILED,并附上缺失项列表。
  6. 登录 —— 未登录 → NEED_LOGIN
  7. 发布 —— 调用适配器;成功入库,并保留一份草稿副本,方便你之后提升为正式发布。

你会拿到的结果

每个目标返回类似这些字段:平台、账号、successstagedraftpublished)、published(真/假)、文章或编辑器链接、记录 id,以及在相关时给出 codeerrormissing 缺失字段或长度警告。

关键承诺:只有真正自动发布成功时,stage 才是 published 否则一律为 draft。在 manual 平台上选「发布」,会返回 published: false + MANUAL_PUBLISH + 编辑器链接——绝不会给你一个假的「已完成」。

结果码

  • UNSUPPORTED_TYPE —— 平台不接受该内容类型。
  • CONTENT_LENGTH_WARNING —— 超出软长度估值(不拦截)。
  • BLACKOUT / CIRCUIT_OPEN / DAILY_LIMIT / DEDUP —— 被你的策略跳过。
  • PLATFORM_NOT_LICENSED / FEATURE_NOT_AVAILABLE / QUOTA_EXCEEDED —— 触及套餐限制。
  • VALIDATION_FAILED —— 正式发布缺少必填字段。
  • NEED_LOGIN —— 该账号没有有效会话。
  • MANUAL_PUBLISH —— 已在 manual 平台建草稿;请手动发布。
  • MANUAL_ONLY / DRAFT_NOT_FOUND —— 提升草稿时在边界情况下返回。

两步发布

有些流程先建草稿、稍后再发。先创建草稿、审阅,然后按记录 id 把某一篇草稿提升为正式发布。仅支持人工发布的平台会以 MANUAL_ONLY 拒绝提升。

多账号与分组

platforms(某平台全部已登录账号)、targets(具体账号,如 csdn:a2)或 groups(保存的命名账号集合)指定目标——可组合并自动去重。创建与编辑账户分组是专业版功能;用分组发布本身不受限。

安全策略

一套按账号(可选按平台)的策略,约束有风险的自动化:

  • 每日上限(每账号,默认关闭)。
  • 去重:N 小时内同账号同标题去重(默认 24 小时,开启)。
  • 熔断:连续失败 N 次后暂停该平台(默认 5 次,冷却 30 分钟)。
  • 禁发时段:设定时段内绝不发布。

被拦截的发布只回报、不入库——因此不会污染历史,也不会触发熔断计数。

定时任务

一个定时任务在创建时就锁定目标账号与内容快照(此后改分组不影响它)。后台执行器每 30 秒检查一次;应用关闭期间错过的任务会在下次启动时补发。你可以查看、立即执行、改时间、编辑或取消待执行任务。定时是专业版功能。

套餐

  • 免费版 —— 8 个核心开发者平台、最多 3 个账号、每月 30 篇、仅草稿
  • 专业版 —— 全部平台、最多 20 个账号、每月 1000 篇、正式发布、Agent 自动化、定时任务与账户分组。

价格正在最终确定中——申请试用