OpenClaw 怎么接多平台发布:Skill、MCP、CLI 三条路各走一遍
让 OpenClaw 通过本机的 OmniPost 把一篇内容发到知乎、CSDN、公众号、小红书等 41 个平台。三种接法都给出核对过的命令:放一个 Skill 文件夹、一条 openclaw mcp add、或者直接跑命令行;再加一个每天都能照着跑的流程。
OpenClaw 是跑在你自己电脑上的常驻 Agent,这一点和 OmniPost 正好对上:OmniPost 也只在本机工作,MCP 和 HTTP 只监听 127.0.0.1。两者接起来不需要任何云端账号,下面三条路按省事程度排序,命令都对照 OpenClaw 当前文档核过。
前提:装好 OmniPost,打开,在「账号」里把要发的平台扫码登录;第一次用 Agent 发布前,在应用内领一次 7 天专业版试用(免费版对 Agent 只开放只读调用)。
路一:Skill 文件夹(最省事)
OpenClaw 从几个固定目录加载 Skill,每个 Skill 是一个带 SKILL.md 的文件夹,SKILL.md 里的 name 必须和文件夹同名。把 omnipost-skill 仓库里的 skills/omnipost/ 复制到下面任一位置:
~/.openclaw/skills/omnipost/:OpenClaw 的本地 Skill 目录(默认路径),所有 Agent 共用。<工作区>/skills/omnipost/:工作区 Skill,优先级最高,默认工作区是~/.openclaw/workspace。
复制完跑一次 openclaw skills check,它会报告缺的前置(OmniPost 没有额外依赖,正常是空的)。新开一个会话,直接说:
把
~/posts/今天.md发到知乎和 CSDN,公众号进草稿箱,摘要你写。
Skill 教 Agent 的内容:先从 ~/.omnipost/server.json 找到端口,再从 GET /api/health 拿到本机可执行的命令行路径;发之前先查 alerts 看哪个账号快掉线;10 个平台的内容规则速查(rules/)发前先读;每个目标的返回怎么解读。Skill 不依赖 MCP,Agent 用命令行或 HTTP 就能完成全部动作。
路二:MCP(想要工具级别的审批时用)
OmniPost 的 MCP 端点是 SSE 传输,OpenClaw 远程 MCP 支持 sse 和 streamable-http 两种,加一条:
openclaw mcp add omnipost --url http://127.0.0.1:8787/sse --transport sse
openclaw mcp doctor omnipost --probe
doctor --probe 会真连一次并列出工具,正常能看到 40 多个:list_platforms、list_accounts、list_alerts、preview_content、create_draft、publish_post、schedule_post、list_posts、get_publish_status、get_account_overview 等。写进配置文件也行,mcp.servers.omnipost 下给 url 和 transport: "sse" 两项即可。
走 MCP 的好处是这些工具受 OpenClaw 自己的工具策略和审批管:可以把 publish_post、schedule_post 设成每次提示确认,list_* 自动放行。桌面应用必须在运行,否则 probe 连不上。
路三:命令行(脚本和定时任务)
OpenClaw 本来就会跑 shell,命令行是最直接的一条路:
omnipost alerts
omnipost publish --doc ./今天.md --targets zhihu:default,csdn:default --mode publish --title "标题" --summary "摘要" --tags "a,b"
omnipost publish --doc ./今天.md --targets weixin:default --mode draft
omnipost posts --limit 10
omnipost 命令的完整路径由 GET /api/health 的 cli.shell 给出,Windows 通常是安装目录下的 omnipost.cmd,macOS 是 /Applications/OmniPost.app/Contents/Resources/bin/omnipost-cli。多目标想错开时间加 --spacing 10(每个目标间隔 10 分钟,拆成定时任务)。
一个每天能照着跑的流程
alerts:有账号快掉线或已掉线,先处理,否则这篇会进补发队列而不是发出去。preview:按目标渲染一遍 Markdown,图片路径、标题长度(小红书 20 字)在这一步暴露。publish:一次调用多个目标,每个目标可以有自己的标题和摘要。- 读结果:
published带链接;draft+MANUAL_PUBLISH是公众号这类只能到草稿箱的平台,等人点群发;NEED_LOGIN已进补发队列,重新扫码后 48 小时内自动发;VALIDATION_FAILED消息里写了是哪一项不合规。 posts:拿链接和状态,记到你自己的台账。
说实话的部分
封号没有「防」。云服务器 IP 基本必封,固定间隔的定时任务本身就是特征,同一结构反复出现会在内容层被判。OmniPost 的策略层做了每日上限、同标题去重、连续失败熔断、禁发时段、多目标最小间隔,Agent 调用时在服务端生效,Agent 自己没有刹车也拦得住。不保证不封,只是把机器味最重的几件事挡在前面。自动评论、自动私信、模拟真人,不做。
想聊聊的话,到 github.com/OmniGoAI/omnipost-skill 开一个标题带「聊聊」的 issue,20 分钟换 3 个月专业版。