关于 superx
通过 SuperX API 管理 X 账号增长活动的命令行技能,适用于内容创作者和社交媒体运营者。它涵盖数据分析、内容草稿与排程、互动和潜在客户管理,并提供按目标组织的操作流程。
主要功能
- 01查看帖子表现与账号分析
- 02创建、编辑和排程帖子
- 03管理联系人、受众与潜在客户
- 04生成内容草稿和写作背景
- 05管理长文、标签与互动
适用场景
- 01分析近期互动数据以调整内容方向
- 02起草并排程一周的帖子
- 03整理互动用户并跟进回复
- 04搜索潜在客户并准备外联
MCP 相关
该技能提供对应的 MCP 工具流程,供 Agent 按目标执行 SuperX 操作;项目也提供 superx CLI,通过 SuperX API 管理账号和内容。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ superx-so/ superx-agent --skill superx安装后在 Claude Code 中输入/superx确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/commands.mdgrowth-strategy.mdreferences/skills/categories.jsonREADME.mdreferences/skills/audience-export/card.jsonrecipe.mdreferences/skills/cadence-and-queue-audit/card.jsonrecipe.mdreferences/skills/daily-post-ideas/card.jsonrecipe.mdreferences/skills/dm-ready-audience-builder/card.jsonrecipe.mdreferences/skills/find-your-story/card.jsonrecipe.mdreferences/skills/growth-plan-builder/card.jsonrecipe.mdreferences/skills/instant-lead-hunt/card.jsonrecipe.mdreferences/skills/lead-review/card.jsonrecipe.mdreferences/skills/my-content-export/card.jsonrecipe.mdreferences/skills/my-replies-report/card.jsonrecipe.mdreferences/skills/post-post-mortem/card.jsonrecipe.mdreferences/skills/profile-research-briefs/card.jsonrecipe.mdreferences/skills/queue-reshuffle/card.jsonrecipe.md详细介绍
如果尚未安装 SuperX CLI,请先安装
npm install -g superx-cli
npm 发布页面:https://www.npmjs.com/package/superx-cli superx-agent GitHub 仓库:https://github.com/superx-so/superx-agent API 文档:https://docs.superx.so 官方网站:https://superx.so
| 属性 | 值 |
|---|---|
| name | superx |
| description | Twitter/X 增长 CLI:通过 SuperX API 管理帖子、分析、联系人、联系人列表、受众回复、信号 Agent 及其潜在客户、灵感、标签、排期(含图片)、长篇文章和上下文设置(AI 写作背景) |
| allowed-tools | Bash(superx:*) |
三条硬性规则(请先阅读)
规则 1:先运行 superx status。 没有有效凭据时,其他所有命令都会失败。如果缺少 superx 二进制文件,请使用 npm install -g superx-cli 安装。如果尚未通过身份验证,请运行 superx login(交互式),或设置 export SUPERX_API_KEY=sxk_...(用于 CI 和非交互式会话)。密钥可在 https://app.superx.so/account?tab=api 创建。
规则 2:创建任何内容前,请先阅读 references/growth-strategy.md。 此技能附带一份增长策略指南(references/growth-strategy.md,也包含在已安装的 npm 包中)。它会告诉你发什么、何时发以及为什么发:行动优先级、网络外发现、互动循环,以及会扼杀触达率的失败模式。CLI 提供数据和操作;策略指南提供判断依据。未阅读指南前,请勿安排内容。对于目标明确的任务(例如“给我每周回顾”“给回复这条帖子的用户发私信”),请打开 references/skills/ 下对应的技能:其中列出了命名的 SuperX 技能,以及各自精确的命令链、MCP 工具名称和停止点。
规则 3:了解写入限制。 不带 --at 的 scheduled:create 会创建草稿(不会发布任何内容)。带 --at 时则会安排在该时间发布。scheduled:update 只会更改你传入的标志;仅传入新的 --at 不会安排草稿发布,必须同时添加 --status scheduled 才能将其设为已排期。写入操作可用于你的主账号或任何关联账号(传入读取时使用的同一 --account);其他人与你共享的账号为只读,标签则适用于整个工作区。图片通过 media:upload 附加,再使用 --media(JPG/PNG/WEBP 最大 5MB,GIF 最大 15MB;每条帖子最多 4 张图片或 1 个 GIF);帖子也可以只包含图片(使用 --media 且不传 --text;使用 scheduled:update 时,需传入 --text "" --media KEY,因为更新会替换整条帖子);不支持视频。时间戳必须是带明确 Z 或偏移量的 UTC ISO-8601 格式;不带时区的时间戳会被拒绝并返回 400。posts:publish 和 articles:publish 会立即且不可逆地发布到 X;请将其视为公开点击“发布”,并在操作前获取用户对确切文本的确认,除非用户已经提供了该文本。posts:publish 还必须传入 --idempotency-key,任何重试时都要原样复用该键。posts:draft 会以用户的口吻撰写帖子文本,但不会保存任何内容:请展示草稿,让用户挑选并编辑一条,然后自行将最终文本传给 scheduled:create;每条草稿都会消耗 AI 积分,因此请询问用户实际需要的数量。--voice mine 使用你传入的 --account 的声音(该账号自己的帖子和风格指南);共享账号会被拒绝。
输出约定
- 除
docs(输出 Markdown)外,每条命令的 stdout 都是干净的 JSON。可以直接将任何输出通过管道传给jq。 - 人类可读信息/状态行输出到 stderr,绝不输出到 stdout。
- 成功时退出码为 0,发生任何错误时为 1。错误详情(包括 API 错误代码)会以
Error [code] (HTTP status): message的格式打印到 stderr。
POSTS=$(superx posts:list --sort likes --limit 5)
echo "$POSTS" | jq '.data[].text'
核心工作流
- 检查身份验证:
superx status(验证密钥,并显示套餐、AI 额度池和速率限制状态) - 发现账号:
superx accounts(主账号排在首位;记下--account要用的 ID) - 读取数据:热门帖子、分析数据、互动最多的联系人
- 阅读
references/growth-strategy.md,然后根据该账号已有的有效做法起草内容 - 创建:
superx scheduled:create(不确定时先创建草稿;添加--at以安排发布时间) - 验证:
superx scheduled:list显示草稿/队列状态
# 1. Auth
superx status
# 2. Accounts
superx accounts
# 3. Read data
superx posts:list --sort likes --limit 10
superx posts:analytics
superx contacts:list --sort engagement --limit 20
# 4. Read references/growth-strategy.md (in this skill's directory), then write content
# 5. Create (draft, review, then schedule)
superx scheduled:create --text "Post text"
superx scheduled:create --text "Post text" --at "2026-08-01T15:00:00Z"
# 6. Verify
superx scheduled:list --status draft,scheduled
命令参考
每类命令及其标志和重要注意事项,都列在
references/commands.md 中。打开该文件并跳转到
所需部分,不要猜测标志;superx <command> --help 可实时检查任一命令。
其中的命令类别按以下顺序排列:身份验证、身份信息和账号、帖子和分析、灵感、实时 X 查询、灵感媒体、联系人、联系人列表、受众、提及、数据集、互动、信号、潜在客户搜索和拓展、写作辅助工具、工作进程、安排发布、立即发布、批量队列操作、编辑草稿和已安排的帖子、高级帖子设置、私信活动、标签、上下文设置、队列设置、文章、文档。
常见模式
模式 1:写作前研究有效做法
# Top posts by engagement, last 60 days
SINCE=$(date -u -v-60d +"%Y-%m-%dT00:00:00Z" 2>/dev/null || date -u -d "60 days ago" +"%Y-%m-%dT00:00:00Z")
superx posts:list --sort likes --since "$SINCE" --limit 10 | jq '[.data[] | {text, metrics}]'
# What does the trend look like?
superx posts:analytics --since "$SINCE" | jq '.data.totals, .data.followers'
模式 2:先起草,审核后再安排发布
DRAFT=$(superx scheduled:create --text "Candidate post text")
DRAFT_ID=$(echo "$DRAFT" | jq -r '.data.id')
# ... surface the draft for human review ...
# To publish it at a time, delete the draft and re-create with --at:
superx scheduled:delete "$DRAFT_ID"
superx scheduled:create --text "Final post text" --at "2026-08-01T15:00:00Z"
模式 3:找出今天值得互动的人
# The people already engaging with you (reply to them first)
superx contacts:list --sort engagement --limit 10 | jq '[.data[] | {id, username, name}]'
# What has this person said to you lately?
superx contacts:replies "$CONTACT_ID" --sort recent --limit 5 | jq '.data'
模式 4:遇到速率限制时退避重试
for attempt in 1 2 3; do
if OUT=$(superx scheduled:create --text "Post" --at "2026-08-01T15:00:00Z" \
--idempotency-key "job-17"); then
echo "$OUT" | jq -r '.data.id'
break
fi
# Exit 1: stderr had "Error [rate_limited] ..." and a Retry-After hint
sleep $((attempt * 30))
done
速率限制按账号所有者计算,并随套餐而变化:读取、写入、数据增强和动态加载各自有每分钟和每日限制窗口;每个密钥每天最多上传 100 个媒体文件。每个经过身份验证的响应都带有 X-RateLimit-* 标头;superx status 会显示当前窗口和 AI 额度池。遇到 429 时,stderr 消息会包含重试延迟。当前限制:https://docs.superx.so/rate-limits
模式 5:批量安排一周的内容
TIMES=("2026-08-03T15:00:00Z" "2026-08-04T15:00:00Z" "2026-08-05T15:00:00Z")
TEXTS=("Monday post" "Tuesday post" "Wednesday post")
for i in "${!TIMES[@]}"; do
superx scheduled:create --text "${TEXTS[$i]}" --at "${TIMES[$i]}" \
--idempotency-key "week32-$i" | jq -r '.data.id'
done
superx scheduled:list --status scheduled
技能
每项 SuperX 技能都有一套以目标为导向的操作指南,其中包含 CLI 命令链、MCP
工具链,以及需要交还给人工处理的节点。按目标选择一项并打开其 recipe.md;
每项技能都必须遵守的三条规则,以及 --account 的作用范围说明,见
references/skills/README.md。
增长与规划
- 每周增长回顾:回顾本周:成果、规律和下周重点。 -> references/skills/weekly-growth-recap/recipe.md
- 增长计划构建器:根据你的实际数据制定多周增长计划。 -> references/skills/growth-plan-builder/recipe.md
- 发布节奏与队列审计:诊断你的发帖节奏,找出队列空档和堆积。 -> references/skills/cadence-and-queue-audit/recipe.md
- 找到你的故事:找到人们关注你的原因:利害关系、挣扎,以及故事的发展方向。 -> references/skills/find-your-story/recipe.md
内容与发布
- 每日帖子创意:今天发什么?草稿已准备好,可安排发布。 -> references/skills/daily-post-ideas/recipe.md
- 爆款格式改编:借鉴来自 5,000 万多条真实帖子的成熟钩子和结构。 -> references/skills/viral-format-remix/recipe.md
- 实时趋势扫描:过去 48 小时内,你所在领域表现出色的帖子。 -> references/skills/trending-now-scan/recipe.md
- 帖子串构建器:将想法或粗略笔记整理成可安排发布的帖子串。 -> references/skills/thread-builder/recipe.md
- 一周帖子计划:一周的草稿,分散安排在一周内发布,每条都需单独审批。 -> references/skills/week-of-posts/recipe.md
- 改编一条优质帖子:将你表现最好的帖子改写成全新角度。 -> references/skills/repurpose-a-winner/recipe.md
- 队列重排:只需提出要求,即可移动并改写已安排的帖子。 -> references/skills/queue-reshuffle/recipe.md
- Worker 输出审核:查看你离开期间 Worker 撰写的帖子并进行筛选。 -> references/skills/worker-output-review/recipe.md
- 爆款评分循环:根据你自己的帖子为草稿评分,再不断打磨,直到分数不再上升。 -> references/skills/viral-score-iterate/recipe.md
回复与互动
- 回复冲刺:查看你的帖子收到的回复,每条都附有可直接发送的草稿。 -> references/skills/reply-sprint/recipe.md
- 值得回复的帖子:让 Jev 了解你的领域,并为你挑出今天值得回复的帖子。 -> references/skills/worth-a-reply/recipe.md
- 回复任意帖子:粘贴任意帖子,即可获取背景信息和有力回复。 -> references/skills/reply-to-any-post/recipe.md
- 我的回复报告:了解你的哪些回复真正获得了关注。 -> references/skills/my-replies-report/recipe.md
- 这人是谁?:快速了解任意公开账号,以及你与对方的互动历史。 -> references/skills/who-is-this-person/recipe.md
潜在客户与挖掘
- 最有希望的潜在客户:找出已经与你互动最多、适合跟进的人。 -> references/skills/your-warmest-leads/recipe.md
- 即时潜在客户搜寻:在 X 上实时搜索符合你所描述受众特征的人,并为其评分。 -> references/skills/instant-lead-hunt/recipe.md
- 常驻潜在客户 Agent:在你睡觉时持续搜索潜在客户的 Agent。 -> references/skills/standing-lead-agent/recipe.md
- 潜在客户审核:查看 Agent 找到的潜在客户,按优先级排序,并检查排名靠前的几位近期活动。 -> references/skills/lead-review/recipe.md
外联与私信
- 暖场外联流程:研究名单、获取个性化私信,并在每条消息进入队列前审批。 -> references/skills/warm-outreach-pipeline/recipe.md
- 个人资料研究简报:为任意人员名单生成结构化简报,并可导出为 CSV。 -> references/skills/profile-research-briefs/recipe.md
- 回复转私信活动:向回复过你任意帖子的用户发送私信。 -> references/skills/reply-to-dm-campaign/recipe.md
- 私信受众构建器:从任意帖子或公开 X 名单中,构建干净且适合发送私信的受众。 -> references/skills/dm-ready-audience-builder/recipe.md
受众与数据
- 受众导出:将与帖子互动过的所有人导出为电子表格,不设筛选条件。 -> references/skills/audience-export/recipe.md
- 情感筛选:只保留表达了你想要的观点的人。 -> references/skills/sentiment-slice/recipe.md
- 我的内容导出:将你自己的帖子或回复导出为电子表格。 -> references/skills/my-content-export/recipe.md
分析与洞察
- 帖子复盘:用通俗易懂的语言解释一条帖子表现超预期或表现不佳的原因。 -> references/skills/post-post-mortem/recipe.md
- 高表现帖子解析:找出你表现最好的帖子共有的模式,以及更多创作这类帖子的框架。 -> references/skills/top-performers-breakdown/recipe.md
规则与设置
- 教会 SuperX 你的规则:为 AI 草稿设定长期规则。 -> references/skills/teach-superx-your-rules/recipe.md
常见注意事项
- 拒绝不带时区的时间戳(400)。始终包含
Z或时区偏移:2026-08-01T15:00:00Z,而不是2026-08-01T15:00:00。 - 排期时间范围:
--at必须至少在 60 秒后,且不超过 18 个月。 - 只读密钥无法写入:使用只读密钥执行
scheduled:create/scheduled:delete会返回 403insufficient_scope。运行superx me查看密钥的权限范围。 - 共享账号的写入操作受限:在你的主账号或任何关联账号上均可写入(传入与读取时相同的
--account)。其他人共享给你的账号会在发布帖文、文章、信号和联系人列表成员写入,以及使用posts:draft时返回 403writes_main_account_only。context:*和queue:set是按账号设置的,也支持共享账号。 - 上传图片后才能使用:
--media接受media:upload返回的object_key,不能使用文件路径或 URL。未知键会返回 400invalid_media;已获取预签名 URL 但从未上传字节数据,会返回 400media_not_uploaded。不支持视频。 - 大小上限:最多 25 个线程部分,总计 25,000 个字符。
- 触发速率限制(429):标准错误输出会显示
rate_limited和重试延迟。请退避重试,不要频繁请求。 - 草稿与排期帖文:不指定
--at即为草稿。草稿不会自动发布。 - 使用不同请求正文复用 Idempotency-Key 会返回 409
idempotency_key_reuse。相同正文会重放原始结果,并带有"replayed": true。 account_not_found(404):--accountID 不属于密钥所有者的账号。运行superx accounts查看有效 ID。- 订阅错误:SuperX 订阅已过期会返回 403。账号所有者需要在应用中重新订阅。
scheduled:list --status draft --from ...不会返回任何结果:草稿没有排期时间,因此时间范围会将其排除。查询草稿时不要使用--from/--to。- 单独使用
scheduled:update --at绝不会发布草稿:要将草稿升级为排期帖文,必须明确指定--status scheduled。如果指定--status scheduled却未设置未来时间,会返回 400。 scheduled:update --tag会替换全部标签:传入帖文应保留的所有标签,或使用--clear-tags移除所有标签。- 替换文本会移除媒体,除非重新列出:使用
scheduled:update --text(或--part)时若未指定--media,帖文图片会被移除。要保留图片,请重新包含当前的object_key。 articles:publish不可撤销,且需要 X Premium:如果没有 X Premium,发布会失败并返回 403x_premium_required。如果请求超时,请先调用articles:get;发布可能已经完成。- 文章排期至少需要提前 2 分钟(帖文只需 60 秒)。时间不足会返回 400
invalid_parameter。 articles:cover需要标题(400article_title_required),且有每日/每月上限(429,并带有remaining_day/remaining_month)。每篇文章一次只能生成一张封面(409cover_gen_in_progress)。- 不支持的 Markdown 结构会在转换时降级,不会导致失败(代码围栏、
---);请检查响应中的warnings。非 http(s) 图片或链接 URL 则会导致失败并返回 400。 - 系统列表仅支持索引操作:对系统列表调用
lists:members会返回 400system_list_not_supported;添加/移除成员会返回 400system_list_read_only。请使用用户创建的列表。 lists:add-member必须且只能指定--handle或--x-user-id之一。未知的账号句柄会返回 404user_not_found。- 未知的信号 Agent ID 会返回 404
agent_not_found(适用于signals:leads --agent、signals:pause-agent、signals:resume-agent和signals:delete-agent;重复删除也会返回该错误)。 - 信号 Agent 会异步查找潜在客户:
signals:create-agent返回创建的 Agent,而不是潜在客户。潜在客户会在接下来的几分钟到几天内陆续出现;使用signals:leads查看。 - Agent 达到套餐上限时会返回 403
cap_reached:套餐限制了可创建的 Agent 数量(以及每个 Agent 的关键词信号数量)。暂停/删除现有 Agent,或请账号所有者升级套餐。 - 创建 Agent 是一个组合操作:自动创建列表时,如果中途失败,可能会留下一个空的
Leads: ...联系人列表(可在lists:list中看到,也可在应用中删除)。Agent 本身不会在没有信号的情况下留下。 context:set的列表标志会替换已保存的列表:--interests和--favorite-creators会覆盖现有内容;请包含用户希望保留的所有值。将字符串标志设为""会清除该项(风格指南覆盖项会恢复为生成的指南)。这些设置会影响今后的所有 AI 输出;更改前请先向用户确认。queue:set --slots-json会替换整个排期,并将队列中的帖文重新安排到新时段。请先用queue:get读取当前时段,然后传入完整列表。'[]'会清除所有时段,并使队列中的所有帖文都使用自定义时间。reflow.bailed: true表示设置已保存,但没有帖文移动。editor_restricted(403):密钥所有者通过 Editor 权限访问共享账号。Editor 可以更改队列设置,但不能更改上下文设置。只有账号所有者可以更改上下文设置。lists:add-members只能添加 SuperX 已知的 ID:它不会实时查找,因此响应中not_found列出的 ID 均未添加。请逐个使用lists:add-member --handle <handle>添加;该方式会实时解析账号句柄,并消耗一个数据补全额度。contacts:get和contacts:notes:add仅适用于已知联系人:它们会解析互动用户、联系人列表成员和已评分的信号潜在客户;对于其他任何 ID(包括 SuperX 已有个人资料的 ID),都会返回 404contact_not_found。请从contacts:list、lists:members或signals:leads获取 ID;目前还没有通用的个人资料查询功能。contacts:notes、contacts:notes:update和contacts:notes:delete不受此限制:只要你已有某个 ID 的备注,就可以对其操作,因此即使某人不再属于你的联系人,仍可访问其备注。- 通过 API 写入的备注会归属于操作账号,而不是单独的 API 身份:备注的
created_by是--account指定的账号(省略时为你的主账号)。如果备注 ID 属于其他联系人,会返回 404note_not_found。 context:products:replace会替换整个产品列表:--json中未包含 URL 的产品会被移除。请先读取context:products,或使用context:products:set编辑单个产品。posts:publish不可撤销,且必须指定--idempotency-key:它会立即将帖文发布到 X。请先与用户确认确切文本。未指定密钥时,命令会以状态码 1 退出;如果请求超时,请使用相同的密钥重试(409idempotency_in_flight表示首次尝试仍在进行中,请等待Retry-After指定的延迟,然后再次使用相同密钥重试)。不接受--at、--title和--scratchpad。- 批量命令只操作排队中的帖文:
scheduled:bulk-retime、scheduled:bulk-auto-retweet和scheduled:bulk-delete会跳过草稿、已发送的帖文和错误记录;bulk-auto-retweet还会跳过已设置自动转推的帖文。这些命令会返回计数,因此请与scheduled:list的结果进行比较,不要假设每个 ID 都已处理。 replies:list的第 1 页可能包含metrics_pending项:最近 4 小时内从 SuperX 应用发送的回复会合并在其中,在 X 报告互动指标前,这些回复的指标为零,因此第 1 页可能比--limit指定的数量多几条。后续页以及--since/--until查询不会包含这些回复。engage:posts --limit仅适用于关键词信息流:列表信息流每次获取只返回一页,约 10 到 25 条帖文,因此请使用--exclude翻页(传入已获取的 ID,每次最多 100 个),不要调高--limit。每种套餐还有每日信息流获取次数上限(与读取次数分开计算);成员会轮换的列表信息流每次计为 3 次获取,因此每天获取几次较大的页面即可,不要频繁轮询。某次获取返回的帖文会计为已查看,之后再次获取时排名会降低;在应用中也是如此。- 你创建的信息流不会自动成为应用中当前打开的信息流:
engage:feeds:create会保存信息流,但不会切换用户正在查看的内容。请告知用户去哪里查找。信息流上限为 8 个(409feed_limit_reached);engage:feeds:update每次只能处理一个来源;删除当前打开的信息流后,系统会将该位置交给剩余信息流中的第一个。 - X 列表信息流或信号会消耗数据补全额度,且需要公开列表:
engage:feeds:create --x-list、engage:feeds:update --x-list和signals:add-signal --type list_watch各消耗一个数据补全额度;如果列表为私有或已删除,则会返回 404x_list_not_found。关键词和联系人列表来源不消耗额度。 signals:create-agent可能只部分成功:失败的条目会在warnings中返回,并带有code;Agent 仍会根据成功添加的条目创建。告知用户 Agent 监控的内容前,请先查看warnings;修正条目后使用signals:add-signal重新添加。signals:feedback接受的是signals:leads中的数字型潜在客户 ID,而不是 X 用户 ID,且会用于训练评分器。请向用户询问其判断,不要自行推断。属于其他账号的 ID 会返回 404lead_not_found;重复调用signals:remove-signal会返回 404signal_not_found。articles:cover --style-id和--style不能同时使用(同时传入会返回 400)。样式 ID 来自articles:cover-styles;未知 ID 会返回 404cover_style_not_found。- **读取数据集行、导出数据集或将其添加到列表之前,数据集必须处于
ready状态。**轮询datasets:get <id>,直到status为ready;其他状态都会返回 409dataset_not_ready,而状态为failed的数据集必须在 SuperX 应用中重新构建。数据集会在 30 天后过期,届时该 ID 会返回 404。 datasets:add-to-list会按人员去重,并跳过没有 X 账号 ID 的行(研究数据行有时不包含 ID),因此added + duplicates可能小于数据集的row_count。skipped_without_id仅统计没有可用 X 账号 ID 或账号句柄的行;同一人员的重复行(例如某人回复了两次)会被静默去重,不计入任何统计。重复运行同一命令是安全的:列表中已存在的人员会计入duplicates。x:*查询与应用中的 Ask SuperX 共用每日 300 次的额度,此外还会消耗数据补全额度(每次 1 个额度,x:replies为 3 个额度,x:post --quotes或 SuperX 从未见过的账号句柄为 2 个额度)。只查询用户实际询问的内容,不要扫描整个账号的社交网络。429 lookup_quota_exceeded有三种情况,响应正文会说明具体原因:你自己的额度已用完(会包含limit);SuperX 全局额度已用完(不包含limit,不是你的额度);或者无法验证计数器,因此请求被拒绝,而不是在不计入额度的情况下执行(不包含limit,但会有较短的retry_after)。请遵循retry_after,不要假设额度会在午夜重置;应向用户说明情况,不要循环重试。15 分钟内的重复查询会从服务端缓存中返回,不消耗每日额度。x:replies返回的是抽样结果,不包含所有回复:它会从最多 3 个按相关性排序的页面中选出获赞最多的直接回复,不按时间顺序排列,也无法继续翻页。与应用中的同一视图不同,它不会排除账号所有者自己的回复。用户需要查看所有回复者时,请使用受众集合(datasets:list)。此外,x:post返回post_not_found也可能是上游临时故障,而不代表帖文已删除,因此请先重试一次,再告知用户帖文已不存在。audience:list使用游标分页,而不是页码。 将pagination.next_cursor作为--cursor传回;没有--page,也没有total。用meta.synced_count表示列表大小,但请注意,它可能大于遍历所有页面后返回的行数(之后被移除的边仍计入其中)。检查meta.status:只要不是complete,就表示 SuperX 仍在同步;关注者列表中的meta.is_capped: true表示这是最新的一部分,而不是所有人。meta.account_id是你传给--account的账户 ID;X 用户 ID 是meta.x_account_id。回复者和转发者数据仅涵盖滚动 90 天。engage:mentions每次调用会消耗 3 次信息流抓取额度,且展示的内容比应用更多。 它使用与engage:posts相同的每日信息流额度,因此读取一页后就基于该页处理,不要反复轮询。它不会像应用的「提及」标签页那样过滤已跳过或已屏蔽的内容(该过滤逻辑属于应用),并且默认不包含已在 X 上回复过的提及,除非传入--include-replied true。datasets:collect可能会在采集完成前返回。status: "collecting"表示目前有零行数据,且任务仍在运行:使用--wait,或轮询datasets:get直到状态变为ready;绝不要根据创建结果说明行数。无法预先确定大小的采集也会在后台运行。它会消耗每天 10 次采集额度中的一次,该额度与应用中的 Ask SuperX 共用;每个账户同时只能运行一个采集任务(409collection_in_progress)。空结果不会创建数据集(data: null加上note),并会返还当天的额度。- 拓展链路中的任何操作都不会发送私信。
datasets:outreach-drafts会将消息正文写入研究数据集,到此为止;由用户在 SuperX 应用中审核并发送。绝不要声称消息已发送,也不要提出代为发送。如果用户明确提出要求,你可以使用dm:campaign将消息加入队列(每人对应一个收件人条目,且每个条目都有自己的message),但这仍然只是入队:由应用发送。向用户询问--format;绝不要自行编造格式。再次运行会覆盖所有草稿;generic表示写入的消息没有个性化说法(该简介没有可用的切入点),contaminated表示因提到了其他收件人而被丢弃的草稿——重新运行即可重试这些行。 signals:search不会保存任何内容,且datasets:research按档案收费。 搜索不会创建 Agent 或保存潜在客户,因此请保留用户需要的响应内容;如果用户希望持续获取潜在客户,请使用signals:create-agent。研究按实际研究的档案数量统一收费,每份 1 个积分(无法解析的账号名以及近期没有帖子的人会出现在skipped中,并会退款);超过 5 份档案时会在后台运行:绝不要根据collecting结果说明简介数量。datasets:refine也会创建数据集,因此会消耗每天 10 次采集额度中的一次。ai_action_limited有两种作用范围。 告知用户任何信息前,先查看error.scope:"account"表示其套餐对此操作设定的每日额度上限;"platform"表示所有 SuperX 账户共用的实时数据操作公平使用上限。如果是"platform",用户自己的额度并未受影响,因此应等待reset_at后重试,而不要说他们已超出额度。- 写作辅助工具只起草,不会发布。
engage:reply-draft、posts:remix、tools:inline-edit、tools:rephrase、tools:factcheck和posts:viral-score都只会返回文本或评分,到此为止——不会发布、排期或发送任何内容。与posts:draft不同,这些工具也接受与他人共享的账户。展示输出内容,让用户进行编辑;等用户提出要求后,再使用posts:draft、scheduled:create或posts:publish。tools:factcheck的判定是模型对两条搜索结果的解读:报告时附上来源,绝不要将其说成定论。 - 免费辅助工具不收费,但并非无限使用。
context:regenerate-style-guide每个账户每小时可用一次,且不会覆盖手动设置的风格指南;context:scrape-product和signals:expand-icp --url与 SuperX 应用共用每天 20 次页面读取额度,而--url还受应用每 10 分钟 10 次预填的限制(该限制会返回rate_limited,约一分钟后解除,因此应重试,而不要说超出每日额度);signals:suggest-keywords和signals:expand-icp --text没有自身的使用上限,因此不要反复调用——每次都会触发一次模型调用。这五个命令都会返回X-Credits-Remaining,但不会返回X-Credits-Charged,因为没有扣费。这四个命令仍需要带有写入权限范围的密钥:它们都是 POST 请求,而所有非 GET 的 API 路由都需要该密钥。 - DM campaign 是入队操作,不是发送。
dm:campaign返回已加入队列的数量;SuperX 应用的调度器稍后会在账户每日和每月 DM 限额内发送这些消息,因此绝不要根据该响应说消息已送达——dm:campaign-status和dm:queue会显示实际发出的内容。请先与用户确认收件人列表和确切文案:根据 X 的自动化规则,用户需对这些消息负责。使用dm:cancel取消尚未发送的消息;已发送的消息无法撤回。
快速参考
# AUTHENTICATE FIRST
superx status # Check auth + rate limits
superx login # Guided key paste
superx login --key "sxk_..." # Non-interactive
superx logout # Remove credentials
export SUPERX_API_KEY=sxk_... # Env alternative (CI)
# Identity
superx me # Owner, plan, key scopes
superx accounts # Readable accounts + ids
# Reads
superx posts:list --type posts --sort likes --limit 10
superx posts:list --since "2026-06-01T00:00:00Z" --until "2026-07-01T00:00:00Z"
superx posts:analytics --since "2026-06-01T00:00:00Z"
superx replies:list --limit 20
superx inspiration:search "build in public" --sort outlier --limit 10
superx inspiration:media "founder morning routine" --limit 10 # cross-platform media index (--limit up to 120, no paging)
superx contacts:list --sort engagement --limit 20
superx contacts:replies <id> --sort most_liked
superx contacts:get <x-user-id>
superx contacts:notes <x-user-id>
superx replies:received --sort most_liked --limit 20
superx lists:list
superx lists:members <list-id> --q "founder"
superx audience:list followers --limit 100 # system lists: cursor paging, no --page
superx engage:mentions --sort top # live @-mentions (costs 3 feed fetches)
superx signals:search --keywords "..." --icp "..." # live lead search, saves nothing
superx signals:agents
superx signals:leads --agent 3 --deposited false
superx engage:feeds
superx engage:posts <feed-id> --limit 50
superx datasets:list
superx datasets:get <dataset-id>
superx datasets:rows <dataset-id> --limit 50
superx datasets:export <dataset-id> # CSV file here; --out - streams to stdout
superx datasets:collect --source repliers --target <post-url> --wait # build one, poll until ready
superx datasets:refine <dataset-id> --criterion "..." --wait # filter by what each person wrote
superx datasets:research --handles a,b,c --wait # briefs, 1 credit per profile
superx datasets:outreach-drafts <dataset-id> --format "..." # message TEXT only, nothing sent
# Live X lookups (enrichment units + a shared 300/day allowance)
superx x:post <id-or-url> # one public post, live (--quotes for quotes)
superx x:replies <id-or-url> --limit 20 # best-liked direct replies (a sample)
superx x:user <handle> # one public profile, live
superx x:user-posts <handle> --no-reposts # one live page of their latest posts
# Contact writes (main or linked account)
superx contacts:notes:add <x-user-id> --body "..." # Private note, never posted
superx contacts:notes:update <x-user-id> <note-id> --body "..."
superx contacts:notes:delete <x-user-id> <note-id>
# Contact list writes (main or linked account)
superx lists:add-member <list-id> --handle levelsio
superx lists:remove-member <list-id> <member-id>
superx lists:create --name "Founder prospects"
superx lists:rename <list-id> --name "Q4 prospects"
superx lists:delete <list-id> # List + membership; the people stay
superx lists:add-members <list-id> --x-user-ids 44196397,944883311 # <=500, ids SuperX knows
superx lists:remove-members <list-id> --member-ids m1abc,m2def # <=500
superx datasets:add-to-list <dataset-id> --list-id <list-id> # people from a ready dataset
# Engage feed writes (main or linked account)
superx engage:feeds:create --name "AI builders" --keyword "shipping with LLMs"
superx engage:feeds:create --name "Founders" --x-list https://x.com/i/lists/1234567890
superx engage:feeds:update <feed-id> --name "AI builders v2"
superx engage:feeds:delete <feed-id>
# Signal agent writes (main or linked account)
superx signals:create-agent --name "..." --icp "..." --keyword "..." # Lead finder
superx signals:create-agent --name "..." --icp "..." --signal "profile:@naval"
superx signals:update-agent <id> --icp "..." --list-id <contact-list-id>
superx signals:add-signal <id> --type follower_watch --handle naval
superx signals:remove-signal <id> <signal-id>
superx signals:feedback <lead-id> --fit # or --not-fit / --clear
superx signals:pause-agent <id>
superx signals:resume-agent <id>
superx signals:delete-agent <id>
# Writes (main or linked account via --account)
superx scheduled:create --text "Post" # Draft
superx scheduled:create --text "Post" --at "2026-08-01T15:00:00Z" # Scheduled
superx scheduled:create --part "1/" --part "2/" --at "..." # Thread
superx scheduled:create --text "Post" --at "..." --idempotency-key k1 # Safe retry
superx scheduled:create --text "Post" --title "Hook v2" --tag <id> # Organizer fields
superx media:upload ./chart.png # Image -> object_key
superx scheduled:create --text "Post" --media <object_key> --alt-text "..." # With image
superx scheduled:update <id> --title "Better hook" # Edit; only passed flags change
superx scheduled:update <id> --at "..." --status scheduled # Promote a draft
superx scheduled:list --status draft,scheduled
superx scheduled:list --tags <tag-id>
superx scheduled:delete <id>
# Publish NOW (irreversible; key required, reuse it on a retry)
superx posts:publish --text "Post" --idempotency-key k1
# Writing helpers (text in, text out; nothing is posted)
superx engage:reply-draft --post <id> --thoughts "..." --tone concise
superx posts:remix --text "..." --closeness 70
superx tools:inline-edit --text "..." --full "..." --type hook
superx tools:rephrase --type concise --text "..."
superx tools:factcheck --text "..."
superx posts:viral-score --text "..."
# DM campaigns (queued only; the SuperX app sends them)
superx dm:limits
superx dm:campaign --recipients people.json --message "Hey [first], ..."
superx dm:campaign-status <campaign-id>
superx dm:queue --status pending
superx dm:cancel <campaign-id>
# Free helpers (no AI credits)
superx context:regenerate-style-guide
superx context:scrape-product <product-id>
superx signals:suggest-keywords --icp "B2B SaaS founders worried about churn"
superx signals:expand-icp --text "Indie founders building SaaS in public"
superx signals:expand-icp --url superx.so
# Bulk queue operations (queued posts only; answers are counts)
superx scheduled:bulk-retime --moves-json '[{"id":"abc","scheduled_for":"2026-09-08T15:00:00Z"}]'
superx scheduled:bulk-auto-retweet --ids abc,def --auto-retweet 6
superx scheduled:bulk-delete --ids abc,def
# Tags
superx tags:list
superx tags:create "Launch week" --color amber
superx tags:update <id> --name "Launch"
superx tags:delete <id>
# Articles (markdown bodies; publish is live + irreversible)
superx articles:create --title "My article" --file draft.md
superx articles:list --status draft
superx articles:get <id>
superx articles:update <id> --file v2.md
superx articles:schedule <id> --at "2026-08-01T15:00:00Z"
superx articles:unschedule <id>
superx articles:publish <id>
superx articles:cover-styles
superx articles:cover <id> --style "minimal"
superx articles:cover <id> --style-id <style-id>
superx articles:delete <id>
# Context settings (AI writing background)
superx context:get
superx context:set --rules "Never use hashtags."
superx context:set --interests "indie hacking,SaaS" # replaces the list
superx context:products
superx context:products:set --url "https://superx.so" --name "SuperX"
superx context:products:delete <id>
superx context:products:replace --json '[{"url":"https://superx.so"}]' # FULL REPLACE
# Queue settings (posting schedule; 0 = Sunday)
superx queue:get
superx queue:set --slots-json '[{"time":"09:00","days":[1,3,5]}]' # replaces the slots
superx queue:set --timezone "Europe/London" # never moves posts
# Docs and help
superx docs # API quickstart (markdown)
superx --help # All commands
superx scheduled:create --help # Command help
策略见 references/growth-strategy.md。创建内容前请先阅读(规则 2)。按目标分类的操作指南见 references/skills/:打开与用户需求相符的指南。