用 Agent 驱动 OmniPost
OmniPost 天生为 Agent 驱动而设计。Agent 准备内容;OmniPost 负责账号、会话、发布与记录。同一个发布内核有三种接入方式。
MCP(推荐给 Agent)
桌面应用内置一个 MCP over SSE 服务。把你的 Agent 指向它:
claude mcp add --transport sse omnipost http://127.0.0.1:8787/sse
需要应用处于运行状态。也有 stdio 服务,但它仅在从源码运行 OmniPost 时有效——安装版无法被外部 node 启动,因此安装版必须用 SSE。
为帮助 Agent 自助接入,应用还提供:
GET /api/health—— 状态、端口、MCP SSE 地址,以及数据/日志目录。GET /api/agent-tools—— 实时的 MCP 工具清单。GET /api/skill—— 现成的 Claude Skill(?download=1下载 ZIP)。
推荐的 Agent 工作流
get_status—— 确认应用已就绪(平台/账号/已登录数量)。list_accounts—— 查看可用账号。preview_content—— 按目标渲染 Markdown。create_draft或publish_post—— 执行动作。list_posts—— 检查结果、定时与失败。
小贴士:尽量用 targets(具体账号)而不是整个 platforms;图片传文件路径或 http URL——不要自己转 base64,OmniPost 会读取并重新托管它们。
CLI
面向脚本,或不走 MCP 的 Agent:
node bin/omnipost.js publish --doc post.md --targets csdn:default,juejin:default --mode draft
除 omnipost mcp(启动 stdio MCP 服务)和 omnipost oauth-connect(连接 Mastodon 族或 LinkedIn 账号)外,其余命令都要求桌面应用在运行。完整命令见接口参考。
HTTP
一切都是 http://127.0.0.1:8787/api/* 下的本机 REST 调用(非本机请求返回 403)。还有一个流式发布端点(POST /api/publish/stream,按账号返回 NDJSON 事件),为 UI 的进度面板提供支持。
Agent 的免费版与专业版
只读调用(get_status、list_platforms、list_posts……)在免费版可用。Agent 的写操作——创建草稿、发布、定时——是专业版功能;免费版会返回 LICENSE_REQUIRED。桌面 UI 不受这个 Agent 门禁限制(但仍遵循上面的发布规则)。