接口参考

三种接口共用一个内核,因此 MCP、CLI 与 HTTP 的名称与行为保持一致。

MCP 工具

桌面应用通过 MCP 暴露以下工具。用 targets(具体账号,推荐)、platformsgroups 指定目标。图片传文件路径或 http URL——不要传 base64。

状态

  • get_status —— 确认应用就绪(平台/账号/已登录数量)。

平台、账号与分组

  • list_platforms —— 所有平台及其能力。
  • list_accounts —— 已登录账号及登录态。
  • list_account_groups —— 账户分组及成员。
  • check_auth —— 某平台账号是否已登录。
  • request_login —— 重新登录已存在账号(弹窗;fresh=true 强制重扫码)。
  • add_account —— 新增账号(同平台可多号)。
  • set_account_label —— 账号改备注名。
  • remove_account —— 移除账号并清除本地会话。

API 凭据

  • list_platform_credentials —— 列出 API 凭据(敏感字段打码)。
  • set_platform_credentials —— 配置 API 凭据(如微信 appId/appSecret)。
  • remove_platform_credentials —— 删除某平台凭据。

草稿与发布

  • create_draft —— 存为草稿(不公开)。
  • publish_post —— 尝试正式发布(返回 stage / published / code)。
  • publish_draft —— 把已存在草稿(按 postId)提升为正式发布。
  • preview_content —— 用发布渲染器把 Markdown 渲染成 HTML。
  • list_platform_categories —— 某平台可选的分类/专栏。

定时

  • schedule_post —— 在指定时间发布。
  • list_schedules —— 查询定时任务(pending / running / done / failed / canceled)。
  • cancel_schedule —— 取消待执行任务。

记录与指标

  • list_posts —— 查询发布/草稿记录(按平台、账号、状态、stage、关键词、日期;分页)。
  • get_post_metrics —— 回采互动数据(浏览 / 点赞 / 评论 / 转发)——仅部分海外平台支持。

策略

  • get_policy / set_policy —— 读写安全策略(每日上限、去重、熔断、禁发时段)。

免费图库(自备 key)

  • search_stock_images —— 在 Pixabay / Pexels / Unsplash 搜可商用图。
  • use_stock_image —— 选一张并返回公网 URL。

CLI 命令

node bin/omnipost.js <命令>。除 mcpoauth-connect 外都需要桌面应用在运行。

  • status · platforms · accounts
  • account add|remove|label|list <平台> —— 账号管理
  • login <平台> [--accountId] · check-auth <平台>
  • groups · group save|rm <名称> (--targets|--platforms)
  • preview --doc <file.md>
  • publish --doc <file.md> (--platforms|--targets|--group) [--mode draft|publish] [--title --tags --summary --category --cover --video --canonical --baseDir]
  • publish-draft <平台> <postId>
  • posts [--platform --accountId --status --stage --q --limit]
  • categories <平台> [--accountId]
  • metrics <平台> (--recordId|--postId) [--accountId --force]
  • images providers|search <provider> "<词>"|use <provider> (--item|--url) [--mode cover|inline --out]
  • schedule --doc <file.md> --at "YYYY-MM-DD HH:mm" (--platforms|--targets) [--mode --baseDir]
  • schedules [--status --platform --q] · schedule-cancel <id>
  • api-config list|set|remove <平台> [--accountId] [--key value ...]
  • oauth-connect <平台> [...] —— 交互式 OAuth(Mastodon 族、LinkedIn);无需桌面应用
  • media-test --file <图片> —— 联测 S3 图床
  • policy show|set [...]
  • mcp —— 启动 stdio MCP 服务(无需桌面应用)

--platforms 针对某平台全部已登录账号;--targets csdn:default,csdn:a2 针对具体账号。

HTTP 端点

仅限本机,位于 http://127.0.0.1:8787/api/*。要点:

  • GET /api/health —— 状态、端口、MCP SSE 地址、数据/日志目录。
  • GET /api/agent-tools —— 实时 MCP 工具清单。
  • GET /api/skill —— 现成的 Claude Skill(?download=1 下载 ZIP)。
  • POST /api/publish/stream —— 流式发布(按账号返回 NDJSON 事件)。

MCP SSE 端点为 http://127.0.0.1:8787/sse(消息回传 /mcp/messages)。

配置

  • 数据 存放在 ~/.omnipost/ 下(账号、记录、定时、分组、策略、授权)。登录 Cookie 保存在隔离的浏览器分区中。
  • 端口 默认 127.0.0.1:8787
  • 环境变量OMNIPOST_PORT(端口)、OMNIPOST_DATA_DIR(数据目录)、OMNIPOST_API_BASE(CLI/MCP 直连的 API 地址)。