Token导航 LogoToken导航

Agent Skill · 效率

chromedev(chromedev 控制)

chromedev 用于处理浏览器自动化、网页检查和页面信息提取,适合在 OpenClaw 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

chromedev 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为操作浏览器;许可证为 MIT-0,第三方扫描有提醒项,按安装量在效率类的 21,003 个 Skill 里排第 6,879。

总安装 8,773周安装 373GitHub Stars 公开资料未说明下载 3,074核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.6

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:chromedev(chromedev 控制)
来源仓库:https://github.com/mallocfeng/chromedev
安装命令:
openclaw skills install chromedev
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install chromedev

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

chromedev 用于通过本地 Chrome DevTools MCP 中间件控制实时 Chrome 浏览器,适合前端开发与调试类任务。适用于页面结构分析、样式检查或组件交互验证等需要浏览器实时反馈的场景。

通过 clawhub 安装后连接 http://127.0.0.1:8787/mcp 接口,需确保中间件服务正常运行。使用前应确认本地端口未被占用且浏览器实例已正确配置,避免连接超时或服务中断。该技能依赖本地开发环境,建议在非生产环境中使用并限制敏感数据访问权限。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install chromedev;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

chromedev 怎么安装?

在终端执行 openclaw skills install chromedev。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

chromedev 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

chromedev 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

chromedev 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

chromedev 用的人多吗?

公开数据是累计安装 8,773 次,近一周安装 373 次,下载 3,074 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

chromedev 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
chromedev

chromedev 控制 · 本页

8,773—操作浏览器MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
chromedev
version
1.0.6
description
Use this skill when you need to access or control a live Chrome browser through the local Chrome DevTools MCP middleware at http://127.0.0.1:8787/mcp, especially for opening pages, extracting rendered content, interacting with DOM elements, taking snapshots, or collecting data from websites.

chromedev

Use this skill when the user wants browser backed data from real web pages through the local chrome-devtools-mcp middleware running at http://127.0.0.1:8787/mcp.

This skill is for cases where rendered browser state matters, including JavaScript heavy sites, login state in the user's Chrome, interaction flows, screenshots, DOM snapshots, or page data that should come from the live browser instead of plain HTTP fetches.

Connection model

  • chromedev run is the long lived daemon. It is the layer that keeps the upstream chrome-devtools-mcp process attached to Chrome.
  • The bundled http_mcp_call.mjs script is intentionally short lived. Each invocation only sends a bounded MCP request to the local daemon.
  • Do not try to keep a client side MCP HTTP session open in order to preserve Chrome authorization. Chrome authorization belongs to the daemon side connection, not to an individual skill invocation.
  • If the daemon is healthy, short lived skill calls should not require Chrome to re-authorize on every request.

Primary behavior

  • If the user gives a URL, open it and extract the page content.
  • If the page is a list page, return the visible list content in order.
  • If the task takes multiple browser steps, emit short progress updates while it runs.

This workflow is otherwise a black box to the user, so visible progress output is required. Output is not optional in this skill.

Output rules

  1. If the user explicitly asks for 摘要, 总结, 要点, recap, summary, then produce a summary.
  2. Otherwise, return extracted page content faithfully and concisely.
  3. If paywall or login blocks full text, say what you can see and what is blocked.
  4. If a chromedev MCP call fails with errors such as Not connected, first inspect with chromedev doctor. If it reports stale/orphan chromedev processes or the retry fails, run one recovery cycle with chromedev stop --all, then chromedev run, and retry the failed page operation once. Only report the error to the user if the retry also fails.

Progress reporting

Do not send intermediate progress updates to Telegram or any other chat tool. Focus on producing the final extracted answer or summary directly. Current agent progress and final user facing answer must not trigger extra chat-tool delivery side effects. When the final extracted answer or summary is ready, deliver the final answer once. The final extracted answer or summary must not be streamed token by token. Buffer the final answer first, then send it as one complete final output.

Timeline guarantee

  • If a step fails, emit the failure status immediately and stop or recover.
  • If a step is waiting on external input, emit the waiting status immediately when the wait begins.
  • The final answer must be the terminal visible success output.
  • The final answer must be sent in one completed block, not as a streaming preview.

Progress message constraints

  • Never include the original URL, any raw link, or full page text in any auxiliary status text.
  • Do not restate or recap completed progress steps after the final answer is ready.
  • Do not append a trailing success/progress line after the final answer.
  • Do not use streaming progress text as the vehicle for the final answer body.
  • Do not call openclaw message send for this workflow.
  • Do not send intermediate status messages to Telegram or any chat tool.
  • The final extracted answer or summary itself should be the only user visible success output.
  • The final extracted answer or summary must not be followed by any extra progress, recap, completion, or status line.
  • The final extracted answer or summary must be delivered non-streaming.

Bad pattern, do not do this

  • Do not send 完成, 成功, 已提取, or similar status text after the final answer body.
  • Do not use a progress update as the container for the final answer.
  • Do not stream the final summary or final extracted answer line by line or token by token.
  • Do not let the final answer remain inside a draft/preview message lifecycle.
  • Do not call openclaw message send or any equivalent chat-tool delivery command during this workflow.

Preconditions

  • Check the npm published version once at the start of the session with npm view @mallocfeng/chromedev version. Then check the local CLI version with chromedev version. If chromedev is missing, the local version command is unavailable, or the npm version is newer than the local version, install the explicit npm version with npm install -g @mallocfeng/chromedev@<npm-version>, then continue. Do not repeat this check for every page task unless a command call fails.
  • Check whether the local middleware is already running on 127.0.0.1:8787. If it is not running, start it automatically with chromedev run, then re-check the endpoint before using MCP tools.
  • If the endpoint exists but MCP calls fail with Not connected or similar connection/binding errors, run chromedev doctor first. If there are orphan/multiple chrome-devtools-mcp processes or the retry fails, run one recovery cycle: chromedev stop --all → chromedev run → retry once.
  • On first connection, Chrome may show a remote debugging authorization prompt. Wait up to 30 seconds for the user to approve it.
  • Treat HTTP session errors and Chrome attachment errors differently. A missing MCP HTTP session does not by itself mean Chrome authorization was lost.

Quick endpoint check

curl -i http://127.0.0.1:8787/mcp

A response like 400 Bad Request with No sessionId means the endpoint exists and is healthy. This is expected because the daemon serves short lived stateless HTTP requests while keeping the upstream Chrome connection alive in the background.

Workflow

  1. Confirm the latest npm version once per session with npm view @mallocfeng/chromedev version, then compare it with chromedev version. If the local command is missing, too old to print a version, or older than npm, force install the explicit npm version with npm install -g @mallocfeng/chromedev@<npm-version>.
  2. Confirm the middleware is running. If not, run chromedev run and then re-check http://127.0.0.1:8787/mcp.
  3. Connect to http://127.0.0.1:8787/mcp.
  4. If any MCP tool call fails with connection-style errors such as Not connected, target closed, or similar startup/binding failures, run chromedev doctor to check for stale daemon state or multiple DevTools clients. Then try exactly one recovery cycle if needed: chromedev stop --all → chromedev run → retry the original page operation once.
  5. If the user explicitly provided a URL, open the target page first with new_page. Do not try to recover by opening a blank page or any synthetic page.
  6. For explicit URL tasks, do not call list_pages before the first new_page.
  7. After new_page, assume the new tab is already the selected page. Do not call list_pages/select_page unless take_snapshot/evaluate_script fails with a "no selected page" or similar error.
  8. If the user did not provide a URL and wants the current page or an existing tab, then inspect current pages and select the right page.
  9. Prefer evaluate_script for a fast, bounded extraction (title/byline/time/body) first, then fall back to take_snapshot when the DOM is hard to parse or blocked.
  10. Use wait_for only when the page is still loading and you know a stable text or UI state to wait on (keep it short).
  11. Return extracted data, not protocol noise.
  12. Once the final answer body is ready, buffer the full final answer and deliver only that final answer as one complete non-streaming output.

How to interpret requests

When the user gives a URL, treat it as a request to read that page.

  • Open the target page directly first.
  • Do not attempt recovery by opening about:blank or any placeholder page.
  • Do not inspect existing pages before the first new_page for explicit URL tasks.
  • If the user asks for summary, return a summary.
  • If the user asks for page content, return extracted content.
  • If the user asks for list content, return the visible list items in order.

Preferred tool order

  • For explicit URL tasks: new_page.
  • Then: evaluate_script (fast extract, keep output bounded).
  • Fallback: take_snapshot (slower, but robust when the DOM is messy).
  • For current-page or existing-tab tasks: list_pages, then select_page.
  • wait_for only when you have a reliable, small string to wait on.
  • take_screenshot only when visuals matter.

Command line client

The npm package includes a reusable request client exposed through:

  • chromedev call <tool_name> [json_arguments]

It connects to the local HTTP MCP endpoint and calls one tool. Prefer chromedev call because it uses the request client bundled with the installed npm package and does not depend on the current skill directory containing a scripts folder.

This skill source also includes the same reusable script for development:

  • scripts/http_mcp_call.mjs

The script is not the persistent connection holder. It is only a request client for the already running local daemon.

When using chromedev call, the npm package's bundled dependencies should be used automatically. Only install @modelcontextprotocol/sdk in the current workspace if you intentionally run scripts/http_mcp_call.mjs directly and the dependency is missing.

WORKSPACE="$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)"
cd "$WORKSPACE" && npm install @modelcontextprotocol/sdk

Common commands

Check and install the latest published chromedev

REMOTE_VERSION="$(npm view @mallocfeng/chromedev version 2>/dev/null || true)"
LOCAL_VERSION="$(chromedev version 2>/dev/null | sed -E 's/^.*@([0-9]+\.[0-9]+\.[0-9]+).*$/\1/' || true)"

if [ -z "$REMOTE_VERSION" ]; then
  echo "Could not read @mallocfeng/chromedev version from npm"
elif [ -z "$LOCAL_VERSION" ] || node -e 'const [l,r]=process.argv.slice(1); const a=l.split(".").map(Number); const b=r.split(".").map(Number); process.exit(b[0]>a[0] || (b[0]===a[0] && b[1]>a[1]) || (b[0]===a[0] && b[1]===a[1] && b[2]>a[2]) ? 0 : 1)' "$LOCAL_VERSION" "$REMOTE_VERSION"; then
  npm install -g "@mallocfeng/chromedev@$REMOTE_VERSION"
  hash -r 2>/dev/null || true
fi

Start the service if the endpoint is not already listening

curl -s -o /dev/null http://127.0.0.1:8787/mcp || chromedev run

Recover from a stuck/not-connected session

chromedev doctor
chromedev stop --all
chromedev run

List current pages

chromedev call list_pages

Open a page

chromedev call new_page '{"url":"<URL>","timeout":30000}'

For explicit URL tasks, do this first. Do not begin by opening about:blank or any recovery page.

Get a snapshot

chromedev call take_snapshot

Extract title and a bounded article body (fast path)

chromedev call evaluate_script '{"function":"() => {\
  const pick = () => document.querySelector(\"article\") || document.querySelector(\"main\") || document.body;\
  const el = pick();\
  const text = (el?.innerText || \"\").replace(/\\s+\\
/g, "\\
").trim();\
  return {\
    title: document.title,\
    url: location.href,\
    byline: document.querySelector(\"[data-testid=byline]\")?.innerText || document.querySelector(\".byline\")?.innerText || \"\",\
    time: document.querySelector(\"time\")?.getAttribute(\"datetime\") || document.querySelector(\"time\")?.innerText || \"\",\
    text: text.slice(0, 20000),\
    textLength: text.length\
  };\
}"}'

Note: never forward raw URL in Telegram progress messages.

Wait for specific text

chromedev call wait_for '{"text":["<TEXT>"],"timeout":30000}'

Extraction guidance

  • Fast path first: use evaluate_script to extract a bounded body string (e.g. article/main innerText) plus title/byline/time, then summarize from that.
  • Fallback: use take_snapshot for readable page content and structure when extraction is blocked or the DOM is hard to parse.
  • Use evaluate_script for precise fields, arrays, links, prices, tables, or JSON shaped output.
  • Use wait_for only if a page is visibly still loading and you know a reliable text to wait on.
  • For list pages, preserve order and return item text and link targets.

- Link targets are allowed in the final user facing extraction output. - Link targets are never allowed in Telegram progress messages.

  • For article pages, extract title, author, publish date when visible, then the article body text.

Operational notes

  • Keep browser state intact unless the user asked for navigation or interaction.
  • If a tool call hangs near connection start, assume Chrome may be waiting for the authorization dialog.
  • Prefer returning concise extracted data over full raw snapshots unless the user asked for raw output.
  • Do not expose the local MCP endpoint outside 127.0.0.1.
  • Do not treat a per call MCP HTTP session as the source of truth for Chrome attachment. The daemon process is the long lived connection holder.
  • Do not send Telegram progress updates during this workflow.
  • Do not send a final Telegram/chat-tool success status after the final extracted answer or summary is ready.
  • In Telegram-like channels with stream previews, never stream the final answer through the preview channel; finalize the content first and then send the final answer once.

平台分布

OpenClaw

94.74%
按下载量换算2,912

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills