这个 Skill 能做什么,适合哪些场景?
cmux-browser 是 cmux 仓库中 25 个技能之一,位于 skills/cmux-browser/SKILL.md,用于端到端地驱动 cmux 内置浏览器(API 移植自 agent-browser)。它强调一个核心纪律:先用只读的 identify/tree 命令发现浏览器表面,再通过显式的 --surface 句柄操作,绝不靠切换焦点来猜测目标。技能覆盖创建表面、等待页面状态、快照、点击填充、视口设置与下载记录查询,并明确列出 WKWebView 不支持的能力(如网络拦截、离线模拟)。适合已在使用 cmux 且需要让 AI 代理操作开发服务器页面的 macOS 开发者。
- 用
cmux -- browser open <url> --focus false创建浏览器表面并从 JSON 响应中提取 surface_ref - 用
cmux tree --all --配合 jq 过滤,按 URL 或标题匹配并唯一定位既有浏览器表面,不打印敏感元数据 - 对已有表面执行
get url、snapshot --interactive、fill、click、wait(selector/text/url/load-state/function)等操作 - 用
viewport <宽> <高>精确设置 1–4096 CSS 像素的逻辑视口,页面在窗格内等比缩放 - 用
download list --查询下载记录(download_id、文件名、保存路径、状态、字节数) - 遇到 js_error 时回退到
get text body/get html body提取原始内容
- 在 cmux 中并行运行多个 Claude Code 会话的开发者,希望代理后台打开页面验证自己的 Web 改动,而不打断你正在操作的窗格焦点
- 需要让代理自动化表单流程的用户:技能自带 templates/form-automation.sh 快照/引用循环模板
- 需要登录一次、保存并复用会话状态的用户:templates/authenticated-session.sh 提供 OAuth/2FA 与状态保存/加载流程(详见 references/authentication.md)
- 想按 URL 或页面标题找到某个已打开的浏览器标签并对它执行操作的用户,tree --all -- 加 jq 的匹配脚本可直接使用
- 需要固定视口尺寸截取页面或测试响应式布局的开发者,可用 viewport 命令而无需改动窗格布局
- 想知道某个浏览器表面下载进度或结果的用户,用 download list 以 JSON 查询,不打开文件也不占用 waiter
- 非 macOS 用户:cmux 是仅限 macOS 的原生 Swift/AppKit 应用,浏览器能力基于 WKWebView,Linux/Windows 无从谈起
- 需要网络拦截、离线模拟、trace/screencast 录制或底层原始输入注入的用户——这些依赖 Chrome/CDP 的 API 在 WKWebView 上明确返回 not_supported
- 没有安装 cmux 应用或其 CLI 的用户:所有命令都以 `cmux` 二进制为前提,且部分脚本依赖 jq
如何安装这个 Skill?
- 静态审查,未执行任何命令;命令语法以实际二进制的 cmux browser --help 为准。
- 硬依赖 macOS 与 cmux 应用本体(WKWebView),其他环境不可用;无中文文档。
- 认证状态文件含 cookies/tokens:务必按文档限权存放并在任务后清理,切勿提交或粘贴。
- 安装器通过 npx 拉取 [email protected],属于外部供应链依赖;建议固定版本并审查变更。
- 仓库许可为 GPL-3.0-or-later 加 web/ 等 BUSL 目录的混合,技能注册表元数据为 NOASSERTION,商用前请自行核实许可边界。
- 发布者未经 FollowSkills 验证,身份未知;下载与更新请核对 revision。
- Shell / 命令行
- 网络访问
- 本地文件系统
cmux app (macOS) with its CLIjq
技能通过 Vercel 的 skills 安装器分发,仓库内副本(.claude/skills/cmux-browser 与 .agents/skills/cmux-browser)指向 skills/cmux-browser,是唯一事实来源。两种安装路径如下:
Claude Code 与 Codex(从本仓库检出目录,开发场景)
npx --yes [email protected] add . --global --yes --skill cmux-browser --agent claude-code codex --copyClaude Code 与 Codex(从已发布的 GitHub 仓库,普通用户)
npx --yes [email protected] add manaflow-ai/cmux --global --yes --skill cmux-browser --agent claude-code codex --copyCodex 专用目标目录(skills.sh)
./skills.sh --dest "$HOME/.codex/skills" --skill cmux-browser刷新后如果代理缓存了旧文档,请重启代理会话。前提是已安装 cmux 应用(可从 GitHub Releases 下载 DMG,或 brew tap manaflow-ai/cmux && brew install --cask cmux)。
如何使用这个 Skill?
安装后,把下面任意一句发给 Agent 即可触发:
- 在 cmux 里后台打开 http://localhost:3000/dashboard,等加载完成后截个交互快照,不要切换我的焦点
- 帮我找到标题是 'Checkout – Staging' 的那个浏览器标签,读取它的 URL
- 用 cmux browser 在登录页填入用户名密码并提交,每步之后重新快照
- 把这个浏览器表面的视口设成 1024x768,然后对页面截图
技能由代理在需要浏览器自动化时触发,遵循固定流程:先运行 cmux browser --help 与 cmux --version 核对实际 CLI 契约,再用只读的 cmux identify -- 或 cmux tree --all -- 发现表面(绝不通过焦点切换发现)。核心循环是:open(--focus false)→ 从 JSON 提取 surface_ref → 用 --surface 显式指向该句柄执行 get url / wait / snapshot / fill / click → DOM 大变化或导航后重新快照(引用会失效)。两条规则值得记住:脚本中优先用 flag 形式(--surface "$SURFACE")而非位置参数,让目标无可争议;新文档统一用 get url 与 snapshot --interactive(不用 url、-i 等别名)。视口设置前须先关闭/分离浏览器检查器,否则会重置为原生尺寸。references/ 目录下还有 commands.md(完整命令映射与 viewport 错误码)、snapshot-refs.md、session-management.md、proxy-support.md 等深入文档。
这个 Skill 有哪些优点和局限?
- 纪律性强:只读发现 + 显式 surface 句柄,杜绝靠焦点猜测目标这一常见自动化事故源
- 示例脚本即拷即用,包括按 URL/标题安全匹配表面且不打印敏感元数据的 jq 脚本
- 明确列出 WKWebView 能力边界(not_supported 清单)和 js_error 排障路径,预期管理诚实
- 配套 7 个深入参考文档和 3 个开箱模板(表单、认证会话、采集流程)
- 硬性绑定 cmux 生态:必须安装 macOS 专用的 cmux 应用,脱离它毫无用处
- WKWebView 相比 Chrome/CDP 有明确的能力缺口:无网络拦截、无 trace 录制、无离线模拟
- 技能文档提醒 CLI 可能演进,若 SKILL.md 与实际 CLI 不一致需刷新安装,说明存在版本漂移风险
- 仓库 License 字段为 NOASSERTION:cmux 本体 GPL-3.0-or-later,但 web/ 服务器部分为 BSL 1.1,采用前需自行确认许可边界
这个 Skill 与同类方案有什么区别?
与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。
| Skill | FS 评分 | Star 数 | 最近更新 | License |
|---|---|---|---|---|
| cmux-browser:cmux 内置浏览器自动化技能 本页 | 60 · 推荐 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 工作区操作技能 | 64 · 推荐 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 诊断 | 51 · 谨慎使用 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 共享行为规则 | 48 · 谨慎使用 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 设置管理技能(cmux-settings) | 58 · 推荐 | ★ 28k | 1 天前 | NOASSERTION |
cmux 的浏览器 API 明确移植自 vercel-labs 的 agent-browser;README 还将 cmux 与 tmux 对比——tmux 是任意终端内的多路复用器,cmux 则是内置浏览器、垂直标签和 socket API 的原生 macOS GUI 应用。若你不使用 cmux 而只想要通用浏览器自动化,Playwright 或 agent-browser 本身会是更直接的选择。
FollowSkills 如何评估这个 Skill?
技能文档反复强调最小权限与数据保护:只读发现命令、显式 surface 句柄、凭据走环境变量、状态文件 umask 077/chmod 600、禁止提交 cookies、日志脱敏、清理指令;无红线风险。扣分:静态审查无法验证 CLI 实际行为、无隔离承诺细节、发布者未经验证,回滚仅限刷新技能文档。
文档内部一致(命令形态、别名、surface 契约均有交叉引用),脚本含错误检查与明确 stderr 反馈,有 js_error/陈旧 ref 故障排查。扣分:静态审查封顶 10 分;无提交的测试或第三方执行证据,命令语法完全依赖二进制 --help 自校验。
触发条件在 description 中明确(打开站点、检查浏览器、提取数据),边界披露充分(macOS/WKWebView 专属、not_supported 能力清单、无法做网络拦截等)。扣分:纯 macOS + cmux 应用前置依赖,环境受众窄;无中文文档;对中文用户场景适配有限。
信息架构分层好(SKILL.md + 7 个 references + 模板 + AGENTS.md),安装路径明确且固定 [email protected],镜像来源说明清晰。扣分:注册表 license 元数据为 NOASSERTION(仓库为 GPL/BUSL 混合但技能目录本身未声明);无每技能版本号或 changelog;维护责任仅隐含于仓库。
工作流完整覆盖发现→打开→交互→等待→下载→清理,直接可用的命令模板节省大量试错成本,明显优于手工摸索 CLI。扣分:静态审查封顶 7 分;无任何执行验证,实际命令行为与文档一致性未证实,输出可用性只能推断。
有可审计的一手材料(与仓库二进制同源的详细 CLI 参考、agent-browser 映射说明、结构化错误码文档)。扣分:封顶 5 分;无测试套件或 CI 证明覆盖技能关键路径,所有结论均为文档推断而非独立复现。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →