检查 Superset 的使用情况,找出适合当前工作方式但尚未使用的功能,给出建议并介绍选项;用户选定后,可协助设置定时运行、并行工作区或共享任务等功能。
- 查找尚未使用的 Superset 功能
- 设置定时运行的智能体
- 在多个工作区并行处理任务
通过 Superset 工作区的浏览器查看网页、点击、输入并检查截图或控制台信息,可用于预览运行中的网页应用、检查界面操作和表单流程。
Open, navigate, screenshot, read, click, and type in web pages from an agent. Use when the user asks to open a URL, preview or verify a running web app, check a page's console, fill a form, click through a web flow, or automate anything in a browser, including "open localhost:3000", "screenshot the page", "what does the console say", "click the submit button", "I'm logged in on Chrome". Drives the in-app browser pane of a Paradev (formerly Superset) workspace by default and Browser Use for browsers the panes cannot reach.
实测评分 未实测
查看安装方法此技能可操作 Superset 工作区中的浏览器,包括打开和查看网页、点击、输入文字及滚动页面。操作后还可以查看截图、页面内容和控制台输出,以确认页面状态。标准浏览器操作无法完成时,可以使用名为 CDP 的浏览器控制连接。
开发网页应用时,可以用它预览页面并检查运行情况;也可以从填写表单到页面跳转,逐步查看操作是否正常。它能在用户看得到的同一浏览器会话中检查页面内容和错误。如果目标无法通过 Superset 浏览器窗格访问,资料还提供了使用 Browser Use 的流程。
标准浏览器操作需要兼容的 Superset CLI 和桌面应用。登录状态导入仅支持 macOS 上基于 Chromium 的浏览器,并会复制所选浏览器配置中的全部 Cookie,而不只是目标网站的 Cookie,因此需要用户同意。提交表单等重要操作以及公开证据图像都需要事先确认。密码和多重验证信息由用户自行输入。
本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。
AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。
不计入评分。 由 AI(OpenAI Codex)于 2026年10月29日 评估。仅供参考,安装前请同时查看原文。
安装前可以查看交给 AI 代理的指令内容。
paradev is an alias for the superset CLI: every superset command here also runs as paradev.
Drive web pages through the browser panes inside a Paradev workspace with the
superset browser commands. Every operation runs in the pane the user can see,
against the pane's real, logged-in session. A raw Chrome DevTools Protocol (CDP)
endpoint covers anything the high-level verbs don't.
curl or your fetch tool and skip the browser.references/browser-use.md before using it; it covers install consent,
attaching, and cleanup.Browser Use can also drive a pane, and for three kinds of pane task it's the
nicer tool: an open-ended goal to run end to end ("get through this signup"), a
long multi-step flow on a shifting UI, or a recorded walkthrough. If one of
those fits and Browser Use isn't installed, offer it once ("I can hand this to
Browser Use, which drives multi-step flows more cleanly, but it's a one-minute
install. Want that, or should I drive the pane directly?"), then respect the
answer for the rest of the session, and hand a pane to Browser Use only after
the user has said yes (the pane is their signed-in session and its CDP URL
carries a token). Don't offer it for a screenshot, one eval, or a plain read;
the pane verbs already cover those.
superset schema 2>/dev/null | jq -re '.commands[] | select(.path==["browser"]) | .commands[].path[1]' || superset browser --help
and require list, open, navigate, screenshot, eval, console, and
cdp. The --help fallback covers a CLI older than 1.34.0 (no schema) and
a machine without jq. If the verbs are absent, run superset update
and recheck. The app-bundled CLI (~/.superset/bin/superset) updates only
with the desktop app, so if it lacks browser, updating the app is the fix;
check type -a superset for another install before giving up.$SUPERSET_WORKSPACE_ID;
otherwise superset workspaces list --local --json and pick the target.
Pass --host <id> for a remote host.superset start) has no panes and every command errors clearly; surface
that rather than retrying.Every pane has a stable paneId, scoped to its workspace: pass the same
--workspace you opened it under or the operation is rejected.
superset browser list --workspace <id> --json
superset browser open --workspace <id> --url https://example.com --json
superset browser open --workspace <id> --url http://localhost:3000 --target new-tab --json
--target new-tab opens a fresh tab and focuses it; the default current-tab
reuses the active browser pane. Opening needs the workspace visible in the
desktop app (the renderer creates the pane), so if it times out, ask the user to
open the workspace.
# Point an existing pane at a new URL
superset browser navigate --workspace <id> --pane <paneId> --url https://…
# Capture a PNG (base64 by default; --out writes a file)
superset browser screenshot --workspace <id> --pane <paneId> --out shot.png
# Read the pane's captured console output
superset browser console --workspace <id> --pane <paneId> --max-lines 100
# Evaluate JavaScript in the page and return the result
superset browser eval --workspace <id> --pane <paneId> \
--code "document.querySelector('h1')?.textContent"
Screenshot to see state, eval to read structured data (.textContent,
.value = …, element.click(), location.href), console to check for page
errors. Prefer these over raw CDP unless you need real input events. An eval
expression that throws comes back as a command error, not a value. open and
navigate accept only http(s) and about: URLs; bare input like
localhost:3000 is upgraded, while file://, chrome://, and data: are
rejected with a clear error.
import-login copies a system browser's cookies into the pane so it's signed in
to the sites the user already uses. It imports every cookie that profile has on
disk, not just the one site, and panes share a profile, so say that when
offering and run it only with the user's go-ahead. Offering it is how most
users discover it, so reach for it in two cases:
Prefer this over attaching Browser Use to their own browser: the work stays in the pane they can see. The user always picks the source browser; people run several Chromium browsers (Chrome, Edge, Brave, Arc, Dia, Comet) and only they know which holds the session. macOS only; it reads the browser's Keychain key (first run prompts them to allow it) and never modifies the source browser. On another OS, or for a non-Chromium browser like Safari or Firefox, say it can't import and leave sign-in to the user.
superset browser import-login --workspace <id> --pane <paneId>superset browser import-login --workspace <id> --pane <paneId> --from Comet
followed by superset browser navigate …. --profile <name> disambiguates
a browser with several profiles; an ambiguous --from errors and lists them.Only cookies written to disk can import. Many sites keep auth in session
cookies that live in browser memory, so have the user quit the source browser
first to flush its logins. imported: 0, keyUnavailable: true means the
Keychain prompt was denied; ask them to allow it and retry.
For clicking, typing, scrolling, waiting on selectors, or any Playwright-class
flow, get the pane's CDP WebSocket endpoint. This pattern is for panes only;
for the user's own browser, follow references/browser-use.md:
superset browser cdp --workspace <id> --pane <paneId> --json
The printed url speaks CDP directly (Page, Runtime, DOM, Input,
Network, …). It embeds an auth token, so treat it as a secret and keep it out
of shared logs. Minimal pattern (Node 22+ / Bun):
const ws = new WebSocket(cdpUrl);
let id = 0;
const send = (method, params) =>
new Promise((resolve) => {
const myId = ++id;
const h = (e) => {
const m = JSON.parse(e.data);
if (m.id !== myId) return;
ws.removeEventListener("message", h);
resolve(m.result);
};
ws.addEventListener("message", h);
ws.send(JSON.stringify({ id: myId, method, params }));
});
await new Promise((r) => ws.addEventListener("open", r, { once: true }));
await send("Page.enable");
await send("Runtime.enable");
await send("DOM.enable");
// Focus a text field by resolving its center, then dispatching a real click.
const sel = "#email";
const { result } = await send("Runtime.evaluate", {
expression: `(()=>{const el=document.querySelector(${JSON.stringify(sel)});if(!el)return null;const b=el.getBoundingClientRect();return {x:b.x+b.width/2,y:b.y+b.height/2};})()`,
returnByValue: true,
});
if (!result.value) throw new Error(`not found: ${sel}`);
const { x, y } = result.value;
await send("Input.dispatchMouseEvent", { type: "mousePressed", x, y, button: "left", clickCount: 1 });
await send("Input.dispatchMouseEvent", { type: "mouseReleased", x, y, button: "left", clickCount: 1 });
// Confirm the field is focused before typing, then type into it.
const focused = await send("Runtime.evaluate", {
expression: `document.activeElement === document.querySelector(${JSON.stringify(sel)})`,
returnByValue: true,
});
if (focused.result.value) await send("Input.insertText", { text: "ada@example.com" });
Gotchas that keep CDP flows reliable:
document.activeElement
before Input.insertText, and poll a selector or state check after each
action rather than sleeping a fixed time; the guest repaints slowly when the
window is backgrounded.keyDown must carry the character:
{type: "keyDown", key: "Enter", code: "Enter", text: "\r", unmodifiedText: "\r", windowsVirtualKeyCode: 13}
then the matching keyUp. Without text: "\r" no char is generated and
forms silently don't submit.Page.navigate obeys the same scheme allowlist as the CLI.Confirm outcomes from the page itself, not from the fact a command returned:
read back location.href, the DOM via eval, or a screenshot after each
meaningful step, and check the console for page errors before declaring
success.
When the evidence is the deliverable, a bug report or a before-and-after or a
walkthrough someone else has to read, publish it rather than listing file
paths nobody can open. Put the screenshots in a directory beside an
index.html that lays them out, and publish the directory: the images ride
along at their relative paths, so nothing needs inlining.
superset pages publish ./evidence/ --workspace <id> --title "Checkout flow: 3 blockers"
Read every screenshot before it goes up. This browser is signed into the user's
accounts, so a capture can hold a session token, an email address, a customer
name, or a dashboard that was never meant to leave the tab. New pages default
to org-wide visibility. Crop or redact what does not belong in the report, pass
--visibility just_me when the org does not need it, and confirm with the user
before publishing.
eval and CDP reach whatever the
user is logged into in any pane (GitHub, dashboards, …). Never read cookies,
tokens, or credentials, exfiltrate session data, or act on authenticated
sites beyond the task.import-login (above) rather than only stopping.--target new-tab for a scratch surface, and don't close
their tabs or clear history unless asked.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
检查 Superset 的使用情况,找出适合当前工作方式但尚未使用的功能,给出建议并介绍选项;用户选定后,可协助设置定时运行、并行工作区或共享任务等功能。
把重复任务配置为 Superset 自动化,整理智能体指令、定时或事件触发条件及运行工作区。经明确确认后创建设置,检查已保存的条件,并查看首次运行结果以调整指令。
依据 Stripe 官方文档和 API 参数定义实现支付、订阅、发票及 Webhook 集成,涵盖产品选择、沙盒测试和事件处理,并通过 Webhook 判断支付与订阅状态。
通过 Chrome DevTools Protocol 操作正在运行的 Electron 桌面应用,复现界面问题并验证修改。按实际操作流程检查页面跳转,记录截图,并对照路由、滚动位置、焦点元素和保存状态等信息。
分析 GitHub Actions 失败日志,定位最早的有效错误,区分代码缺陷、环境问题、间歇性失败和原有故障,并对照基准分支说明失败与 PR 的关系及后续处理建议。
读取真实桌面画面,识别控件并执行点击、输入、菜单选择和窗口排列,每次操作后检查结果。可用于更改设置、操作应用,以及通过已登录的系统浏览器核验完整流程。