@cloudcruise/cli

中文文档
1.17.0发布于 2026/11/10MITES Module构建来源已验证近 30 天下载 5084

CLI for managing CloudCruise browser automation workflows and runs

原始使用文档
文档目录8 节
  1. Install
  2. Setup
  3. Coding Agent Integration
  4. Staying Up to Date
  5. Quick Start
  6. Debugging with Snapshots
  7. All Commands
  8. License

CloudCruise CLI

MIT License NPM Downloads GitHub Repo stars Discord YC W24

CLI for managing CloudCruise browser automation workflows and runs. Designed for coding agents to fix and edit CloudCruise workflows.

Install

npm install -g @cloudcruise/cli

Setup

Copy .env.example to .env, fill in the environment you want, then run cloudcruise login.

Coding Agent Integration

Claude Code — install the plugin from this repo's marketplace:

/plugin marketplace add CloudCruise/cloudcruise-cli
/plugin install cloudcruise@cloudcruise

This registers all six skills (workflow build, test, debug, CLI and DSL reference) and keeps them updated with /plugin update cloudcruise.

Devin — an org admin adds this repo to the plugin manifest at Settings → Resources → Plugins → Configuration:

{
  "requiredPlugins": ["CloudCruise/cloudcruise-cli"]
}

Installs for the whole org from the next session; use optionalPlugins instead to make it opt-in. Devin reads the .claude-plugin/plugin.json manifest directly. Requires plugin access on your Devin org (currently closed beta — [email protected]).

Other agents (Cursor, or Claude Code without plugins) — install the skill files directly:

cloudcruise install --skills                  # Claude Code + Cursor
cloudcruise install --skills --target claude   # Claude Code only
cloudcruise install --skills --target cursor   # Cursor only

Staying Up to Date

  • CLI: the CLI tells you, and your coding agent, when a newer version exists. Update with npm i -g @cloudcruise/cli@latest. CI and NO_UPDATE_NOTIFIER turn the check off.
  • Skills: after a CLI upgrade, the next command refreshes the skills that cloudcruise install --skills wrote into the current project. Skills you edited are left alone; cloudcruise install --skills overwrites them. Plugin-installed skills update with the plugin.

To turn off the skills refresh, set this in ~/.cloudcruise/config.json:

{ "settings": { "skillsAutoUpdate": false } }

CLOUDCRUISE_SKILLS_AUTO_UPDATE=0 or =1 overrides the setting. With the refresh off, the CLI warns about outdated skills instead.

Quick Start

# List all workflows in your workspace
cloudcruise workflows list

# Get a workflow
cloudcruise workflows get <workflow_id> > workflow.json

# Start a run (returns { session_id } immediately; poll run get for completion)
cloudcruise run start <workflow_id>

# Start a debug run with snapshots on every node
cloudcruise run start <workflow_id> --debug

# Run the workflow but skip final submit/save actions (validates writes without submitting)
cloudcruise run start <workflow_id> --dry-run

# Start a run without workspace notifications (Slack/email) for this run
cloudcruise run start <workflow_id> --no-notifications

# Inspect a run (poll until the status is terminal)
cloudcruise run get <session_id>

# Update a workflow
cloudcruise workflows update <workflow_id> --file workflow.json --version-note "Fixed login selector"

Debugging with Snapshots

After a --debug run, use snapshot commands to diagnose failures:

# Download HTML snapshot, screenshots, and metadata for a node
cloudcruise snapshot fetch <session_id> <node_id>

# Suggest unique XPath selectors for interactive elements
cloudcruise snapshot suggest <session_id> <node_id>

# Test an XPath selector against a snapshot
cloudcruise snapshot test '//button[@id="submit"]' <session_id> <node_id>

# Work with a local HTML file instead of fetching from the API
cloudcruise snapshot suggest --file ./snapshots/page.html
cloudcruise snapshot test '//input[@name="email"]' --file ./snapshots/page.html

All Commands

CommandDescription
loginBrowser OAuth + PKCE login
logoutRemove credentials for the active profile
whoamiShow the authenticated account
auth loginBrowser OAuth + PKCE login
auth statusCheck authentication (--profile)
auth logoutRemove credentials (--profile, --all)
auth switch <name>Set the active profile
auth profilesList all profiles
auth workspace use <id>Set the active workspace for a profile
workspaces listList workspaces for the active auth
workspaces showShow the active workspace for a profile
workspaces use <id>Set the active workspace for a profile
workspaces clearClear the active workspace for a profile
workflows listList workflows (--full for details, --folder <path> to scope to a folder)
workflows foldersList workflow folders (--path to scope, --search)
workflows get <id>Get workflow definition (--version <version|range>, --branch <name|id>; --version-number <n> is legacy for latest n.x.x)
workflows versions <id>List workflow version history
workflows update <id>Update workflow (--file, --stdin, --version-note, --force, --branch, --release-version, --bypass-protection); exits 13 if the body's version_id is no longer the latest
workflows delete <id...>Permanently delete workflows (no confirmation); prints one result per id, exits non-zero if any failed
branches listList a workflow's branches; is_default marks the default (--workflow)
branches create <name>Create a branch (--workflow, --from <branch>, --from-version <version>)
branches delete <branch>Delete a non-default branch (--workflow, --close-open-prs)
branches set-default <branch>Make a branch the default (--workflow)
prs listList pull requests (--workflow, --state open|merged|closed|all)
prs view <pr>Show a pull request and its approvals (--workflow)
prs createOpen a pull request (--workflow, --head, --base, --title)
prs diff <pr>Merge preview: conflicts with keys and summaries, match_heads (--merged, --resolutions-template)
prs approve <pr>Approve a pull request (not your own)
prs close <pr>Close a pull request
prs merge <pr>Merge (--resolve <key>=source|target|delete, --take, --resolutions-file, --match-heads, --admin)
components listList workflow components (--full)
components get <id>Get component (--version-number)
components versions <id>List component versions (--limit)
components usage <id>List workflows using this component
components createCreate component (--name, --file, --stdin)
components rename <id>Rename a component (--name)
components update <id>Update component (--file, --stdin, --version-note, --no-propagate, --source-workflow-id)
components delete <id>Delete a component
error-codes listList workspace error codes (--workflow-id)
error-codes get <id>Get one workspace error code by id
error-codes createFind-or-create an error code by name (--code, --description, --enriched-description, --action, or one JSON object via --file/--stdin)
error-codes update <id>Update an error code (same flags as create)
run start <id>Start a run, returns session_id immediately (--debug, --input, --version, --branch <name|id>)
run get <id>Get run status and results (poll until terminal)
run listList runs (--workflow, --status, --limit, --since)
run interrupt <id>Stop a running session
run decision <id>Show the decision the recovery agent is waiting on for a run (Decision Required): question, fields and options, answer_by, in the agent.decision_requested shape
run answer-decision <id>Answer a Decision Required question the recovery agent asked during a run (--decision-id, --value <field=value>, --text, --directive)
run respond <id>Submit user interaction data to a run waiting on a USER_INTERACTION node (--data, --file, --stdin)
run live-view <id>Get a fresh live-view connection (viewer URL + one-time auth token) for an active session
run errors <id>Error analytics (--since, --limit)
run snapshots <id> <node_id>Get debug snapshot metadata
run network <id>Get all recorded network traffic of a run (--include-noise, --output)
snapshot fetch <sid> <nid>Download HTML, screenshots, metadata (--html, --image)
snapshot suggest [sid] [nid]Suggest XPath selectors (--file, --filter)
snapshot test <xpath> [sid] [nid]Test XPath against snapshot (--file, --count)
vault listList vault entries (--full)
vault getGet vault entry (--user-id, --domain, --decrypt); additional fields as name and type unless --decrypt
vault createCreate vault entry (--user-id, --domain, --user-name, --password, --tfa-method (repeatable), --additional-fields-file, --security-questions-file, --secret-provider-id, --secret-ref)
vault updateUpdate vault entry fields, including provider-backed bindings; --no-tfa-method removes every TFA method
vault tfa-codeCurrent 2FA code of an entry (--user-id, --domain, --method, --field)
vault clear-stateClear browser state for a credential
vault encrypt / decryptEncrypt or decrypt values locally
secret-providers listList secret-provider connections
secret-providers items <provider-id>List items visible to a secret-provider connection
builder startStart builder conversation (--start-url, --name, --vault-user-id)
builder send <message>Send instruction to builder agent
builder respondReply to agent input requests (--message-id, --value-stdin)
builder statusCheck conversation status (/status taxonomy + keepalive; exit code encodes the state — 0/7/8/9)
builder conversations listList live builder conversations for the workspace
builder conversations get [id]Get an archived conversation transcript, live or ended (--limit tails, 0 for metadata only; --snapshot, --include-system, --output)
builder workflowGet current workflow definition
builder messagesGet conversation history (--limit, --offset, --no-tail)
builder savePersist workflow to database (-m/--message sets the version note)
builder interruptStop agent processing
builder endEnd conversation and clean up
utils uuidGenerate UUIDs for node IDs (--count)
install --skillsInstall skill files for coding agents (--target)

The CLI uses a loopback redirect on http://127.0.0.1 during login and stores reusable credentials in the OS keychain. run list defaults to the last 24 hours when --since is omitted. Use values like 24h, 7d, or 30m to adjust the time window.

License

MIT

版本与发布记录

@cloudcruise/cli 共发布 60 个版本,首次发布于 2026/03/02;过去 12 个月发布了 60 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.17.0latest2026/11/10今天
1.16.12026/10/2714 天前
1.16.02026/10/2615 天前
1.15.22026/10/2615 天前
1.15.12026/10/1625 天前
1.15.02026/10/1229 天前

其他发布通道:test → 1.11.0-test.0。

关于 @cloudcruise/cli 的常见问题

@cloudcruise/cli 是什么?

CLI for managing CloudCruise browser automation workflows and runs

如何安装 @cloudcruise/cli?

在项目目录运行 npm install @cloudcruise/cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cloudcruise,可以用 npx cloudcruise 直接运行。

@cloudcruise/cli 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cloudcruise__cli 是否存在。

@cloudcruise/cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@cloudcruise/cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cloudcruise/cli 可以商用吗?

@cloudcruise/cli 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cloudcruise/cli 的下载量有多少?

根据 npm 官方下载统计,@cloudcruise/cli 在 2026/10/10 – 2026/11/08 这 30 天内被下载 5,084 次,日均约 169 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cloudcruise/cli 还在维护吗?

最新版本 1.17.0 发布于 2026/11/10(今天);至今共发布 60 个版本,其中过去 12 个月发布了 60 个;首次发布于 2026/03/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。