
在终端里搞定营销,就用 cmo.so CLI
查看成绩、审核社媒发布队列、管理博客选题和草稿,每件事一条命令搞定,还能写进 CI 脚本。任何会改动内容的操作都会先问你。
npm i -g @cmo-so/cli- @cmo-so/cli
- 版本 0.7.5
- 许可证 MIT
- Node >=20
- 下载量上月 335 次
- 更新于 2026 年 10 月 18 日
也可以不安装:npx @cmo-so/cli login · 免费注册 cmo.so 账号即可开始
几条命令就能上手
选好你想做的事,复制到终端里。会改动内容的命令会先告诉你将发生什么,再问你 y/N。
npm i -g @cmo-so/cli
cmo login
cmo init
cmo inboxcmo inbox
cmo results --period 7d
cmo social ls
cmo social approve 412 415cmo ideas generate -n 5 --brief "spring offers for new clients"
cmo ideas import-sitemap -n 10
cmo ideas ls
cmo autopilot statusname: Weekly marketing report
on:
schedule:
- cron: "0 8 * * 1"
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npx -y @cmo-so/cli results --period 7d --json > results.json
env:
CMO_API_KEY: ${{ secrets.CMO_API_KEY }}
CMO_WORKSPACE: example.comcmo connect api-pull --key aicmo_… --write-env .envcmo tools
cmo run gsc_queries_get period=30d filter=low_ctr limit=10
cmo run ideas_generate count=3 --dry-run所有命令通用的选项:--json、-w/--workspace <domain>、-y/--yes 和 --dry-run。
全部命令
常用命令都在这里。cmo tools 会列出 Maggie 能执行的所有操作,cmo run <tool> 可以运行其中任意一个。
cmo login用设备码在浏览器里登录;登录状态会自动续期查看cmo logout退出登录,并断开这台电脑的连接查看cmo whoami当前登录的是谁,以及密钥的权限查看cmo init如有需要先登录,然后选择默认网站查看cmo workspaces [ls]你的网站查看cmo workspaces use <domain>为后续命令设置默认网站查看cmo inbox现在需要你处理的事:待审核的帖子、失败项、设置步骤、额度不足查看cmo results [--period 7d|30d]最近 7 天或 30 天发布的帖子、待处理的选题和 AI 可见度查看cmo ideas [ls]博客文章选题查看cmo ideas add <url|text>通过一个链接或一句话添加选题先问你cmo ideas generate [-n 5] [--brief …]让 Maggie 想出新选题(消耗 AI 生成次数)先问你cmo ideas import-sitemap [-n 10] [--sitemap <url>]从你的站点地图导入页面作为选题先问你cmo ideas plan|discard|restore <id>把选题移进计划、丢弃,或者恢复回来先问你cmo posts [ls] [--status planned|draft|published]按状态查看博客文章查看cmo posts show <id>查看一篇文章的全文查看cmo posts publish <id>把文章发布到你的网站先问你cmo posts delete <id>删除一篇文章先问你 · 无法撤销cmo autopilot [status]博客自动驾驶模式是开启还是暂停,以及每天发几篇查看cmo autopilot pause|resume暂停或恢复博客自动驾驶模式先问你cmo social [ls]你的社媒发布队列:LinkedIn、Facebook 主页、Instagram、Google Business、YouTube、TikTok 查看cmo social approve <id…>确认一条或多条帖子,在下一个发布时段发出先问你cmo social skip <id> | restore <id>跳过一条帖子,或恢复已跳过的帖子先问你cmo social draft "<topic>"添加一个 LinkedIn 选题,让 Maggie 来写先问你cmo social pause|resume暂停或恢复社媒发布先问你cmo social video add <url>为 LinkedIn、Facebook、Instagram、YouTube 或 TikTok 添加视频帖子先问你cmo keys [ls]你的 API 密钥查看cmo apps已连接到你账号的应用:ChatGPT、Claude、这个 CLI……查看cmo connect api-pull [--key aicmo_…] [--write-env .env]通过 API 把项目连接到 cmo.so,并把密钥写入 .env 先问你cmo open [path]打开 cmo.so App,可直接跳到指定页面查看cmo toolsMaggie 能执行的所有操作查看cmo run <tool> key=value…按名字运行任意工具,例如 cmo run gsc_queries_get period=30d 先问你cmo mcp通过 stdio 运行本地 MCP 服务器查看cmo feedback "<one line>" [--type bug]告诉 cmo.so 团队该修什么、该做什么先问你
没有匹配结果,换个词试试。
先问你:会先告诉你将发生什么,等你输入 y。在脚本里请加 --yes;既没有终端又没加 --yes 时,什么都不会改。
从安装到第一次确认
大约两分钟。下面都是 CLI 的真实提示,只是用 example.com 代替了真实网站。
安装 CLI
运行 npm i -g @cmo-so/cli(需要 Node 20 或更高版本)。用 cmo --version 检查是否装好,用 cmo --help 查看所有命令。
小贴士不想安装?把任意命令里的 cmo 换成 npx @cmo-so/cli 就行。

用设备码登录
运行 cmo login。浏览器会打开“连接设备”页面,并自动填好设备码:核对它和终端里的一致,点“继续”并确认。终端会显示当前登录的是谁。
小贴士登录信息保存在 ~/.config/cmo/credentials.json,只有你能读取,并会自动续期。

选择你的网站
运行 cmo init 选择默认网站(只有一个网站时会自动选好),再运行 cmo results 查看最近 7 天的数据。想让某条命令作用于另一个网站,加上 -w example.com 即可。

审核并确认
cmo inbox 会列出需要你处理的事。用 cmo social approve 加帖子 ID 来确认一条帖子:CLI 会清楚显示将发生什么,等你输入 y。任何命令加上 --json,都能输出机器可读的结果。
小贴士退出码:0 完成,2 输入有误,3 未登录,4 受套餐、权限或每日上限限制,5 服务器出错。


一家代理公司的周一,全靠脚本
Tom 负责 11 个客户网站的营销。周一早上 8 点,一个 GitHub Actions 任务会为每个网站运行 cmo results --json,把数据发到团队频道里,于是一周从看数据开始,而不是挨个登录后台。
端着咖啡,他对两个有待审核帖子的客户运行 cmo inbox -w,用 cmo social ls 看完内容,一行命令就把好的帖子都确认了。有个客户周四要发布新品,他就带上一段简短说明运行 cmo ideas generate,剩下的交给自动驾驶模式。
每次确认都会同步到 cmo.so App,习惯用手机的客户看到的也是同一个队列;而且他写的任何脚本,不加 --yes 都改不了任何东西。
cmo.so CLI 一览
- 安装
- npm i -g @cmo-so/cli(命令:cmo),或者 npx @cmo-so/cli;需要 Node 20 或更高版本
- 登录
- 用设备码运行 cmo login;在 CI 中使用 CMO_API_KEY(优先级更高)和 CMO_WORKSPACE
- 保存位置
- ~/.config/cmo/credentials.json,只有你能读取;cmo logout 可断开连接
- 选项
- --json、-w/--workspace <domain>、-y/--yes、--dry-run
- 改动
- 先显示内容和可能产生的费用,再问 y/N;既没有终端又没加 --yes 时,什么都不会改
- 退出码
- 0 完成 · 2 输入有误 · 3 未登录 · 4 受套餐、权限或每日上限限制 · 5 服务器出错
- 还包括
- cmo mcp(本地 MCP 服务器),以及用于客户端配置的 @cmo-so/mcp
- 许可证
- MIT 许可证,以 @cmo-so/cli 发布在 npm 上
你需要知道的几件事
只读密钥始终只读
只读 API 密钥只能运行查看类命令,用来在 CI 里跑报告很安全。
--json 输出的就是工具的原始结果
JSON 输出和 MCP 客户端拿到的格式完全一样,所以就算面向人的显示布局变了,脚本也不会出问题。
套餐限制同样适用
每天的帖子数、AI 生成次数和每日上限都按你的套餐来。命令一旦触及上限,就会以退出码 4 退出,不做任何改动。
密钥在你的账号里创建
cmo keys 会列出你的密钥;新建和吊销密钥请到 cmo.so 账号的“API 访问”里操作。
cmo.so CLI 常见问题
还有疑问?
cmo.so CLI 是什么?
它就是 cmo,cmo.so 的命令行客户端。你可以在终端里查看成绩、审核和确认社媒帖子、管理博客选题和文章、控制博客自动驾驶模式——原本要在 App 里做的每件事,都对应一条命令。
因为每条命令都能输出 JSON、无需交互就能运行,它也是把 cmo.so 接入脚本和 CI 最省事的方式,比如跑周报或批量确认。
怎么安装?
运行 npm i -g @cmo-so/cli,然后使用 cmo 命令即可。需要 Node 20 或更高版本,没有其他依赖。
想不安装先试试,就在任意命令前加上 npx @cmo-so/cli,例如 npx @cmo-so/cli login 和 npx @cmo-so/cli inbox。npx 每次都会拉取最新版本。
怎么登录?
运行 cmo login。它会显示一个短码,并在浏览器里打开“连接设备”页面;核对短码一致后,点继续并确认。终端随后会告诉你当前登录的是谁。
登录信息保存在 ~/.config/cmo/credentials.json,只有你能读取,并会自动续期。cmo logout 可以断开连接,你也可以在 cmo.so 账号的“已连接的应用”里移除它。
能在 CI 或脚本里用吗?
能。在 cmo.so 账号的“API 访问”里创建一个 API 密钥,设为 CMO_API_KEY;它的优先级高于 cmo login。用 CMO_WORKSPACE 指定网站,再加上 --json,脚本就能读取输出。
在脚本里,会改动内容的命令需要加 --yes。既没有终端又没加 --yes 时,什么都不会改,所以流水线里就算出了错,也不会误确认或误删任何东西。
它会不经询问就改东西吗?
不会。任何会改动内容的命令,都会先显示将发生什么以及可能的费用(比如一次 AI 生成),再问 y/N。只有输入 y 才会执行。
--dry-run 只显示预览,不提问也不改动;--yes 则在你确定时跳过提问,脚本用的就是它。只读 API 密钥则根本只能运行查看类命令。
免费吗?
CLI 免费,并以 MIT 许可证开源。你需要一个 cmo.so 账号,免费版就够用来起步。
它能做什么取决于你的 cmo.so 套餐,和 App 里一样:每天的帖子数、AI 生成次数和每日上限。命令一旦会超出上限,就会提示你并以退出码 4 退出。
它能做什么?
常用命令涵盖:收件箱、成绩、博客选题和文章、博客自动驾驶模式、横跨 LinkedIn、Facebook、Instagram、Google Business、YouTube 和 TikTok 的社媒发布队列、API 密钥、已连接的应用,以及通过 API 连接项目。
除此之外,cmo tools 会列出 Maggie 能执行的所有操作,cmo run <tool> key=value 可以运行其中任意一个,例如 cmo run gsc_queries_get period=30d。这和 MCP 服务器以及「问 Maggie」用的是同一套工具。
有多个网站怎么办?
cmo init 或 cmo workspaces use <domain> 可以设置默认网站。只想让某条命令作用于另一个网站,加上 -w example.com(或 --workspace)即可。
在脚本里则改用 CMO_WORKSPACE。cmo workspaces 会列出你能管理的所有网站,团队角色同样生效:在共享网站上,CLI 只能做你的角色允许的事。
退出码是什么意思?
0 表示完成,2 表示输入有误,3 表示未登录,4 表示被你的套餐、权限或每日上限拦下,5 表示服务器出错。
脚本可以据此分支处理,比如遇到 5 稍后重试,遇到 3 说明密钥已被吊销,就通知相关人员。
--json 输出稳定吗?
稳定。--json 会原样输出工具返回的结果,和 MCP 客户端拿到的格式一样,而不是面向人看的表格。
这意味着友好的显示布局可以不断改进,而不会弄坏你的脚本。把它通过管道交给 jq 或你自己的代码,取出你需要的部分就行。
它也能运行 MCP 服务器吗?
能。cmo mcp 会通过 stdio 把 cmo.so 作为本地 MCP 服务器运行,使用你的 cmo login 登录信息或 CMO_API_KEY,可供 Claude Desktop、Cursor 等工具使用。
独立的 @cmo-so/mcp 包功能相同、配置更短;托管服务器 https://mcp.cmo.so/mcp 则完全不用安装。MCP 服务器页面为每个工具都准备了配置片段。
在哪里反馈问题或申请新命令?
运行 cmo feedback,用一句话描述即可;如果是 bug,加上 --type bug。反馈会直接送到 cmo.so 团队。
你也可以在 App 里问 Maggie。请附上你运行的命令和退出码,千万不要附上 API 密钥。
