Post
两个实用的 UXC 浏览器 Skill:Chrome DevTools MCP 和 Playwright MCP
一个更接近真实调试上下文,一个更适合确定性自动化。关键不是浏览器工具本身,而是 UXC 把它们收成了稳定的调用面。
最近试了下 Chrome 的 remote debugging 和 DevTools MCP,也顺手把这两条线封成了两个 UXC skill:chrome-devtools-mcp-skill 和 playwright-mcp-skill。
这两个 skill 的分工大致是这样。
1. chrome-devtools-mcp-skill
因为它更接近真实工作流:不是重新起一个隔离浏览器,而是直接让 agent 接进你已经打开的 Chrome 调试现场。
这类场景下,agent 可以做的事情包括:
- 看 Network / Console / Elements
- 分析性能问题
- 复用当前 Chrome 会话
- 接手你已经打开的调试上下文
如果你已经在浏览器里打开了页面、登录了账号、想和 AI 交互,这个 skill 会比较自然。因为 agent 不需要再把整套流程重放一遍,而是直接进入当前浏览器上下文。
这个 skill 会自动创建以下 link 命令:
uxc link chrome-devtools-mcp-cli "npx -y chrome-devtools-mcp@latest --autoConnect --no-usage-statistics"
chrome-devtools-mcp-cli -h
后面就可以让 Codex / Claude Code 通过这个命令接进当前浏览器上下文。
2. playwright-mcp-skill
这个 skill 更适合确定性的浏览器自动化,比如:
- 打开页面
- 点击
- 抓 DOM / snapshot
- 截图
- 跑一段稳定脚本
但这种方式有一个比较麻烦的问题是:
- head 模式容易干扰桌面
- headless 模式又很难完成真实登录
所以 playwright-mcp-skill 提供了一个更实用的方式:
- 先用有界面的浏览器会话完成登录
- 把登录态放在明确的 profile 目录里
- 再让 agent 用同一个 profile 走 headless / CLI 调用
playwright-mcp-skill 会自动创建两个 link 命令:
uxc link --daemon-exclusive ~/.uxc/playwright-profile playwright-mcp-ui \
"npx -y @playwright/mcp@latest --user-data-dir ~/.uxc/playwright-profile"
uxc link --daemon-exclusive ~/.uxc/playwright-profile playwright-mcp-cli \
"npx -y @playwright/mcp@latest --headless --user-data-dir ~/.uxc/playwright-profile"
这样登录这一步可以留给 UI 模式(playwright-mcp-ui),真正让 agent 干活时再切到 headless(playwright-mcp-cli),不干扰桌面,两边还共用同一个 profile。
对 server 端 agent 来说,比如你把 OpenClaw 部署到服务器了,这条路也比较现实:先在本地完成登录,再把对应的 browser profile 带到 server,让远端 agent 用 headless 模式复用这个已经完成登录的 profile。
这两个 skill 背后,UXC 补的是哪一层
这两个 skill 之所以能比较顺地工作,关键不只是 skill 本身,而是 UXC 把这类 MCP stdio 工具收成了一层统一调用面。
它主要做了几件事:
- 用
uxc link把长命令固化成稳定入口 - 用 daemon 维持会话和进程
- 让 profile / session reuse 变得更自然
- 让 skill 可以围绕固定命令名来组织,而不是每次重写一串启动参数
如果你最近正好在看 agent 怎么更自然地用浏览器,这两个 skill 可以先试试。
安装命令:
npx -y skills@latest add holon-run/uxc --skill chrome-devtools-mcp-skill
npx -y skills@latest add holon-run/uxc --skill playwright-mcp-skill