Wonda CLI
Wonda CLI 是一个面向终端代理的内容创建工具包。使用它可以生成图像、视频、音乐和音频;编辑和合成媒体;发布到社交平台;以及在 LinkedIn、Reddit 和 X/Twitter 上进行研究和自动化操作。
安装
如果 wonda 未在 PATH 中找到,请先安装它。推荐的安装方式是经过签名的桌面安装程序(CLI + 托盘图标 + 常驻中继,无需额外步骤):macOS brew install --cask degausai/tap/wonda-app(或从发布版下载 wonda-macos.pkg),Windows winget/wonda-windows-setup.exe。以下仅 CLI 的渠道适用于所有环境,并且稍后可以使用 wonda app install 添加桌面应用程序:
# npm
npm i -g @degausai/wonda
# Homebrew
brew tap degausai/tap && brew install wonda
设置
- 认证:
wonda auth login(打开浏览器,推荐)或设置WONDA_API_KEY环境变量 - 验证:
wonda auth check
OAuth 连接器认证
Claude Web 和 Cowork 连接器使用 Wonda 的 OAuth 2.1 流程,而不是 CLI API 密钥字段。连接器通过浏览器登录 Wonda,授予请求的账户访问权限,并接收绑定到 Wonda API 资源的 OAuth 令牌。服务器仅将那些令牌交换为账户的内部 API 密钥(只在 Wonda 内部进行),因此代理和连接器主机永远不会看到 sk_... 密钥。对于 CLI 和本地 stdio MCP 路径,请继续使用 wonda auth login 或 WONDA_API_KEY。
Claude Cowork 本地中继
Claude Cowork(桌面应用程序)在主机上运行本地 MCP 服务器,因此它可以直接加载 .mcpb 包或本地 stdio wonda-mcp 配置,包括 WAB 写入(已于 2026-07-07 验证)。Claude Web 不能。Wonda 本地中继是替代路径:它允许远程连接器(Web 或 Cowork)在用户自己的 Mac 和住宅 IP 上运行操作,无需任何本地 MCP 配置:
- 登录后打开
https://wonda.sh/download,安装经过公证的 Mac 包。 - 使用
wonda relay pair或首次运行的浏览器握手来配对中继。这使用现有的cli-auth流程,并附带一个存储在 macOS 钥匙串中的中继范围wrelay_...凭证。不要要求用户粘贴 API 密钥或设备代码。 - 打开
https://wonda.sh/setup,通过有界面的本地 WAB 连接 LinkedIn、X 和 Reddit,然后在 Claude 中批准 Wonda 连接器一次。
引擎策略是 auto | my_machine | cloud。auto 在中继在线时使用本地中继,否则使用云端。my_machine 不得静默回退:如果中继离线,询问是否切换到云端。
组织与消费上下文
Wondercat 组织是共享的钱包,拥有自己的座位和计费。成员可以通过切换上下文从组织钱包中消费(而不是他们的个人积分):
wonda organizations list(别名:wonda orgs list、wonda org list)— 查看您所属的每个组织以及您在其中的角色和座位方案。wonda use --org <slug>— 此机器的粘性组织上下文。在每个请求上设置X-Wonda-Org;持有、收费和wonda balance通过组织钱包路由。wonda use --personal— 返回到个人。wonda usage— 仅消费的使用摘要(总消费 + 按模型 + 按项目细分)针对一个时间段(--month 2026-05,或--from/--to;默认为当前月份,UTC)。--project <name>将报告限制为一个项目。在组织上下文中,它报告组织范围的使用情况,包括按成员细分的明细 — 需要管理员/所有者角色。管理员也可以从 Web 上的组织页面下载完整的 Excel 报告。
项目(消费标记)
项目将消费归属于一个命名的工作流以进行监控。代理应在任务开始时检查活动项目(wonda use 会打印它),并在操作员按项目监控消费时为每个任务设置一个:
wonda use --project <name>— 粘性:随后的每次收费都携带该项目(在wonda usage、API 和组织 Excel 报告中)。wonda use --no-project停止标记;切换组织/个人上下文会自动清除项目(项目是按范围划分的)。- 任何命令上的
--project <name>— 该次调用的单次覆盖。 wonda project list|create|delete— 在活动作用域中管理注册表。组织项目仅由组织管理员/所有者创建;个人项目是自助服务的。针对不存在的名称进行标记会失败并返回unknown_project(没有静默的新存储桶,因此错别字不会拆分监控数据)。
wonda topup 始终充值您的个人钱包,无论上下文如何。充值组织钱包(以及配置自动充值)仅限管理员操作,并在 Web 上的 /organizations/<slug> 进行。如果成员的组织积分用完,错误会告诉他们要求管理员或切换回个人 — 他们无法从 CLI 充值组织钱包。
组织内部角色与座位方案是分开的:
- 所有者:原始创建者。不能被降级或踢出。可以从组织页面将所有权转让给另一个成员(很少见)。
- 管理员:可以邀请(单个或通过粘贴批量)、踢出、更改角色、更改座位、充值、配置自动充值、更改每月限制。
- 用户:只能花费组织钱包内的积分(如果管理员设置了成员每月限制,则受其约束)。
付费组织座位(WONDA / WONDA_PREMIUM)授予与个人付费计划相同的付费功能访问权限(技能等),但仅在组织上下文中有效。wonda use --personal 回退到用户的个人账户计划。
访问层级
Wonda 是仅付费的:每个产品表面都需要付费计划,包括 API 调用、本地平台读取、浏览器自动化、媒体合成、文件编辑、诊断、生成、发布、抓取、分析、技能、中继操作和云孪生。在任何产品命令执行工作之前,CLI 会针对 Wonda 执行实时权限检查。当无法验证访问权限时,检查会失败并关闭。新帐户在订阅前没有产品访问权限,正积分余额不能替代计划。
| 层级 | 访问权限 |
|---|---|
| 匿名(未登录) | 无产品访问权限。认证、配置、定价、组织发现/选择、Shell 补全和本地关闭命令仍然可用,以便用户可以订阅、恢复或停止后台服务。运行 wonda auth login,然后订阅。 |
| 免费(已登录,无付费计划) | 无产品访问权限。在 https://wonda.sh/account 订阅以使用产品。 |
| WONDA(每月 $19.99,“专业版”) | 除云孪生外的一切:生成(image/generate、video/generate、...)、媒体上传/下载、发布、抓取、分析、视频分析、技能(wonda skill install/list/get)、转场、剪辑、电子邮件、reddit/linkedin 账户创建、样式、品牌。 |
| WONDA_PREMIUM(每月 $49.99,“高级版”) | WONDA 中的一切,外加云孪生(wonda twin:配置、计划运行、流式登录)以及反检测/影子禁令保护、无上限和美国账户创建。 |
| 标记(按账户的 PostHog 开关) | 包含在付费计划中,但仍可通过按账户的标记进行门控:wonda reddit signup(redditAccountCreationEnabled)、wonda email(emailServerApiEnabled)、公开 LinkedIn 个人资料丰富(linkedinProfileEnrichmentEnabled)。 |
如果命令返回 403(paid_plan_required),请在 https://wonda.sh/account 订阅。
这也适用于本地 stdio MCP 路径,因为 MCP 执行相同的 CLI。平台 cookie 和数据保留在设备上,但命令必须首先从 GET /api/v1/auth/access 收到成功的付费访问决策。仅中继安装可以使用其作用域内的 wrelay_... 凭证进行该权限探测。作用域内的凭证仍然无法调用普通账户 API。
语音克隆
从 10 秒以上的音频片段中克隆声音,并在 TTS 中使用。硬限制:每个账户 20 个克隆声音。费用:每次克隆 $1.50。
# 从本地文件克隆(首先自动上传到媒体库)
wonda voice create "Andu" --file ./sample.mp3 --description "我的声音"
# 从现有的 wonda 媒体克隆
wonda voice create "品牌" --media-id <uuid>
# 可选的源音频预处理
wonda voice create "清洁" --file ./raw.wav --noise-reduction --normalize-volume
# 列出克隆的声音(每行报告 isExpired 和 expiresInDays)
wonda voice list
# 一个声音
wonda voice get <voice-id>
# 重命名 / 重新描述(仅本地,不调用提供商)
wonda voice update <voice-id> --name "新名称" --description "..."
# 删除
wonda voice delete <voice-id>
在 TTS 中使用克隆的声音,通过将从 voice get 获取的 providerVoiceId 作为 voiceId 传递给 /audio/speech:
wonda audio speech "你好世界" \
--model minimax-speech-2-8-hd \
--params '{"voiceId":"<providerVoiceId>"}'
7 天过期:在 TTS 中 7 天内未使用的克隆声音会自动过期。使用克隆声音运行 TTS 会自动刷新其过期时间。闲置过期的声音必须重新克隆(再次收取 $1.50)。
凭据保险库
持久化存储在外部平台(Instagram、TikTok、Twitter 等)上创建的登录信息,以便在下次运行时重用。密码使用服务器端密钥进行 AES-256-GCM 加密,仅在 get 时解密。
# 创建
wonda credentials create --website instagram.com --username myhandle \
--email [email protected] --password-stdin <<< "hunter2" \
--metadata '{"signup_source":"wonda-email"}'
# 列出(省略密码)
wonda credentials list --website instagram.com
# 获取完整的记录,包括解密后的密码
wonda credentials get <id>
# 更新任何字段(使用 --password-stdin 轮换密码;使用 --username "" 清除)
wonda credentials update <id> --username newhandle
# 删除
wonda credentials delete <id>
# 一次性获取并记录使用原因 — 这是 POST 而不是 GET,因为它会写入一个包含原因的 'used' 事件。只要你能说明原因,优先使用此命令而不是 `get`。
wonda credentials use <id> --reason "instagram 注册流程"
# 查看最近的事件(创建/使用/轮换/更新)以进行审计
wonda credentials events <id>
字段:website(必需 — 类型化输入如 insta 会被规范化到 instagram.com)、username、email、password(必需)、metadata(任意 JSON)。username / email 中至少有一个必须存在。每个 (website, username) 组合允许多条记录 — 如果需要,请在您这边进行去重。
事件日志:每次 credentials get/use、create、密码轮换和其他更新都作为事件记录在凭据上(参与者:cli | web | system)。使用 credentials events <id> 或 Web UI 的历史图标进行审计。事件日志是仅追加的,并且在删除凭据时会级联删除。
全局输出标志
所有命令都支持以下输出控制标志:
--json— 强制 JSON 输出(当 stdout 被管道化时自动启用)--quiet— 仅输出主要标识符(作业 ID、媒体 ID 等)— 非常适合脚本编写-o <path>— 将输出下载到文件(暗示--wait)--fields status,outputs— 选择特定的 JSON 字段--jq '.outputs[0].media.url'— 使用 jq 表达式过滤 JSON 输出
CLI 公告与弃用警告
在每个命令上,CLI 会轮询 GET /api/v1/updates(匿名,~/.wonda/state.json 中缓存 1 小时)以获取活跃公告:弃用通知、事件提醒、升级提示。消息仅打印到 stderr,因此 stdout/JSON 对于管道化保持干净。
按请求的弃用提示以标准 Warning: 299 - "<message>" HTTP 标头形式到达,并由 CLI 的 HTTP 客户端作为 [deprecated METHOD /path] <message> 输出到 stderr。
使用 WONDA_QUIET=1(环境变量)或 --quiet(标志)静默两个渠道。仅使用 WONDA_NO_UPDATE_CHECK=1 禁用到网络的检查。
WAB / Wonda 自动化浏览器(wonda wab)
Wonda 自动化浏览器(WAB)是一款高级的隐身反检测浏览器,经过强化,平台无法将其指纹识别为自动化工具。wonda wab 是用于反检测 Chromium 堆栈(一个未被检测到的 Playwright 分支)的唯一命令。它具有两种形式:
- 已验证的会话。 每个角色一个持久的有界面 Chromium,持有 LinkedIn、X、Reddit 等平台的登录会话。CLI 按需生成它,让它空闲超时,并在命令通过
--via wab运行时将平台读取/写入路由通过它。Cookie 存在于角色的 Chromium 配置文件中,而不是在~/.wonda/config.json中。 - 匿名捕获。
wonda wab record <url>(和wonda brand extract)驱动一个临时的 Chromium,具有全新的指纹、无角色、无 Cookie。请参阅下面的record块。
其思维模型是:您拥有账户(每个平台一个身份)。每个平台命令通过扁平 JSON 存储(--via cookies,快速,无需 Chromium)或通过账户的角色(--via wab,实时反检测 Chromium)将请求路由到该账户的 Cookie。角色是可以在一个指纹下持有多个账户的 Chromium 外壳。在
…
[为翻译截断]