browser-flow-use
暂无简介
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 0
- Forks
- 0
02 资源文件 3
- 参考文档references/asset-routing.md2.9 KB
- 参考文档references/failure-routing.md3.6 KB
- 参考文档references/runner-contract.md4.5 KB
03 SKILL.md 正文
Browser Flow Use
Use persisted Web Platform Atlas assets as the default path for browser-platform work. Treat requests like “create a tag in FCloud” as an asset lookup first, not as a fresh click-by-click browser task.
Core Rules
- Search existing
browser-flows/assets before browser operation. - Read
browser-flows/INDEX.mdfirst when it exists. - Match platform, then capability, then recipe.
- Execute matching recipes only through the workspace-local canonical runner or a generated thin entrypoint that delegates to it.
- Read the generated Python entrypoint or README before invoking it. Do not guess CLI flag names.
- Pass user business values as recipe params. Prefer an
@params.jsonfile or the entrypoint's documented single JSON positional argument; do not invent--tagName-style flags unless the entrypoint explicitly defines them. - Do not hardcode names, descriptions, dates, search terms, or secrets into assets.
- Report success only from runner success criteria, extraction outputs, trace evidence, reliability, and verification strength.
- Do not use raw step-by-step browser actions when a modeled platform may exist.
- Do not create plugin-native
runFlow/compileFlow, raw CDP, Playwright, or a second browser-kernel path. - Route asset creation, maintenance, repair, validation, runtime refresh, and recipe generation work to
browser-flow-create.
Supporting References
Read these files only when their extra detail is needed:
references/asset-routing.md: platform/capability/recipe matching is ambiguous, missing, stale, or cross-workspace.references/runner-contract.md: executing a recipe, checking generated outputs, interpreting runner evidence, or diagnosing runtime problems.references/failure-routing.md: execution fails, verification is weak, patch status is unclear, or asset repair may be needed.
Procedure
Step 1: Resolve the asset workspace
- Identify the workspace that contains
browser-flows/. - If the workspace is ambiguous, inspect likely workspace roots enough to choose.
- If no safe workspace can be inferred, ask only for the workspace or platform context needed to find
browser-flows/.
Step 2: Search the platform catalog
- Read
browser-flows/INDEX.mdwhen present. - Match the requested platform by display name, alias, domain, URL, product terminology, surface name, or capability name.
- Read
references/asset-routing.mdif catalog recovery, platform matching, or workspace selection is ambiguous. - If
INDEX.mdis missing butbrowser-flows/platforms/exists, inspect platform directories to recover the catalog. - If no matching platform exists, route to
browser-flow-createcreate mode so platform modeling and the requested operation happen together. Do not manually browse as a substitute.
Step 3: Match the modeled capability
For a matched platform, inspect only the assets needed to map the user goal:
platforms/<platform-id>/platform.json
platforms/<platform-id>/atlas/capabilities/*.capability.json
platforms/<platform-id>/atlas/surfaces/*.surface.json when needed
platforms/<platform-id>/atlas/views/*.view.json when needed
platforms/<platform-id>/atlas/components/*.component.json when needed
platforms/<platform-id>/atlas/contexts/*.context.json when context matters
- Match the requested operation to a capability by intent, inputs, outputs, success signals, risk metadata, prerequisites, blockers, and
recipeId. - Read
references/asset-routing.mdif the capability match is ambiguous or incomplete. - If the platform exists but the capability is missing or incomplete, route to
browser-flow-createmaintain/create mode. - Do not infer page capabilities from memory or live clicking when atlas coverage is missing.
Step 4: Select an executable recipe
- If the capability references a recipe, read
platforms/<platform-id>/flows/<flow-id>.recipe.json. - Inspect runtime declaration, atlas refs, required params, optional defaults, enum constraints, secret flags, risk metadata, confirmation boundary, bounded waits, success criteria, extraction targets, reliability, verification strength, repair notes, and blockers.
- If no matching executable recipe exists and execution is needed, route to
browser-flow-createmaintain mode to create and validate the recipe. - If the user only asked to inspect assets, stop after reporting the matched atlas and recipe status.
Step 5: Preflight the runner
Before executing an agent-side, script, or unspecified v1 recipe, check:
<workspace>/browser-flows/_runtime/agent_browser_flow_runner.py
<workspace>/browser-flows/_runtime/openclaw_browser_client.py
Read references/runner-contract.md before executing a recipe or diagnosing generated output/runtime behavior.
If either file is missing or stale, route to browser-flow-create maintain/repair to refresh runtime via runtime/distribute_workspace_runtime.py.
Do not execute generated Python that contains plan-only, BrowserToolClient, openclaw tool browser, raw CDP, Playwright, plugin-native runFlow, or plugin-native compileFlow.
Step 6: Build params
- Build params from the user request and the recipe schema exactly.
- Read the target entrypoint's actual argument parser or README before choosing command syntax.
- Prefer writing params to a temporary JSON file and invoking the entrypoint with
@path/to/params.jsonwhen supported. - Use inline JSON as the single positional argument only when quoting is safe for the shell.
- Do not convert recipe params into guessed CLI flags such as
--tagNameor--descriptionunless the entrypoint explicitly defines those flags. - Supported param types are
string,number,boolean,string[],number[],boolean[], andobject. - Ask only for required business values that cannot be safely inferred.
- Treat
secret: truevalues as sensitive and do not print them in reports.
Step 7: Execute through the canonical runner
Run the workspace-local canonical Python runner in execution mode for normal saved-flow execution.
The runner must load platform, atlas, and recipe assets; validate params; resolve semantic targets from live browser evidence; call Browser Relay through browser.request; write trace evidence; validate success criteria; and report patch suggestions without source-asset write-back in execution mode.
Conceptual execution shape:
{
"runtime": { "kind": "agent-side", "protocol": "agent-browser-flow-v1" },
"workspaceDir": "/workspace",
"recipe": { "id": "platform.flowId" },
"params": {}
}
Step 8: Interpret the result
- Read the structured runner result before reporting.
- Read
references/runner-contract.mdwhen interpreting success evidence, reliability, or generated-output behavior. - Use success criteria, extraction outputs, trace path,
patchStatus,patchSuggestions,appliedPatches,rejectedPatches,changedAssets, browser errors, requests, console evidence, reliability, verification strength, blockers, and unsupported primitive classifications. - Do not add a separate ad hoc browser recheck to compensate for a recipe that lacks in-run outcome verification.
- If the recipe cannot prove the business outcome, read
references/failure-routing.md, reportpartialorfailed verification, and route tobrowser-flow-createrepair/validate.
Step 9: Offer generated outputs only when useful
Ask whether to generate or refresh a Python runner or thin TypeScript/CLI entrypoint only when:
- a new or repaired executable recipe has just been created or validated by
browser-flow-create - the user explicitly asks for a reusable script or CLI
- an existing recipe has no generated output and the user wants a callable artifact
If generated output is declined, keep using the atlas and recipe on future runs. Declining generated output does not make future executions raw browser tasks.
Routing Rules
Route to browser-flow-create when:
- no matching platform exists in
browser-flows/INDEX.mdorplatforms/*/platform.json - the platform exists but the needed surface, view, component, or capability is missing
- a capability's inputs, outputs, risks, success signals, prerequisites, or blockers are incomplete
- a capability exists but has no executable recipe and repeatable execution is needed
- a recipe lacks in-run outcome verification or relies on action-only success
- a recipe has hardcoded sample values, incomplete params, stale semantic targets, stale success criteria, or unbounded waits
- a recipe's reliability level is missing, overstated, or unsupported by trace evidence
- pages, components, or semantic targets changed and must be rediscovered
- workspace runtime files are missing or stale
- repeated failures show incomplete platform context, params, success criteria, primitive support, or risk rules
Route to browser-relay only when no reusable modeling is relevant and the user explicitly wants one-off browser operation.
Answer directly when the request is conceptual and no asset inspection is needed.
Failure Handling
When execution fails or verification is weak:
- Read
references/failure-routing.md. - Classify the failure as missing platform, missing capability, no executable recipe, missing params, stale model, semantic target drift, ambiguous target, missing in-run verification, stale success criteria, risk boundary change, access/session problem, stale runtime, unsupported Browser Relay primitive, or overstated reliability.
- Ask the user only when access, approval, missing data, or required business input blocks progress.
- Route asset changes, recipe changes, runtime refresh, repair, and validation to
browser-flow-createwith the user goal, matched assets, observed gap, trace path, and needed mode. - Do not patch atlas or recipe source files inside
browser-flow-use.
Safety Boundaries
- Treat login, MFA, CAPTCHA, permissions, payments, purchases, postings, messages, approvals, deletes, and external side effects as user-controlled boundaries.
- Do not bypass access controls or invent credentials.
- Respect capability and recipe risk metadata before destructive, approval, payment, messaging, permission, upload, download, social-action, or production-write steps.
- For
dry-runormanual-confirmrecipes, stop at the recorded confirmation point unless the user explicitly approves continuing. - Use recipe-declared bounded
evaluateonly through Browser Relayact; do not useevaluateas a local script runner.
Report Format
Workspace: <workspace>
Platform: <platform-id/name or none>
Atlas: <surface/view/capability ids inspected or none>
Flow: <recipe-id/name or none>
Reliability: <level and verification strength, or none>
Action: inspect-atlas | execute | generate-runner | generate-entrypoint | route-create | route-maintain | route-repair | route-relay
Params: <provided/missing/not applicable; redact secrets>
Result: success | failure | blocked | partial | routed
Extracted: <key fields if any>
Trace: <trace path or id if any>
Suggestions: <atlas/recipe suggested changes or none>
Next: <only if user action is needed>
Completion Checklist
- Existing platform assets were searched before browser operation.
- Platform, capability, and recipe selection came from
INDEX.md,platform.json,atlas/**, andflows/*.recipe.json. - Existing executable recipes ran only through the canonical workspace-local Python runner.
- User inputs were parameterized according to the recipe schema.
- Success was reported only from runner outcome verification, extraction outputs, and trace evidence.
- Missing platform, capability, recipe, verification, runtime, or freshness coverage was routed to
browser-flow-create. - Generated outputs were offered only when useful, and declining them did not bypass atlas/recipe reuse.
04 同仓库更多 Skills
web-extract
获取社交/内容网站数据,Bilibili/知乎/微博/Reddit/HN/V2EX/雪球/微信读书/BOSS直聘/arXiv 等 60+ 站点的结构化数据,自动复用Chrome登录态,零风险。
openclaw-maintenance
诊断和维护 Matcha 托管的本地 OpenClaw,按证据申请最小修复并核实恢复。Use when 用户说 OpenClaw 起不来、启动失败、运行异常,要求检查配置、日志、数据库或进行维护修复;不用于创建 Agent、通用系统管理或后台巡检。
nuwa-skill
女娲造人:输入人名/主题/甚至只是模糊需求,自动深度调研→思维框架提炼→生成可运行的人物Skill。 两种入口:(1)明确人名→直接蒸馏 (2)模糊需求→诊断推荐→再蒸馏。 触发词:「造skill」「蒸馏XX」「女娲」「造人」「XX的思维方式」「做个XX视角」「更新XX的skill」。 模糊需求也触发:「我想提升决策质量」「有没有一种思维方式能帮我...」「我需要一个思维顾问」。
multi-search-engine
凡是需要使用 web_search 搜索任何信息时必须优先激活。覆盖所有联网查询场景:新闻、资讯、事件、价格、人物、公司、热点等。结合多引擎覆盖(百度/微信/集思录等中文源),并自动读取原文确认内容完整性。适用于任何需要联网查询的场景。
llm-wiki
通过 Matcha 共用 MCP 服务器 matcha 查询用户的 LLM Wiki 知识库,支持页面检索、正文读取、目录、知识图谱和源文件任务查看。仅在用户明确提到 LLM Wiki、我的 wiki、我的知识库 / knowledge base,或要求查询 wiki 页面、知识图谱、扫描 wiki 源文件时触发;不用于泛指笔记、本地文件、Obsidian、Notion、Apple Notes、Logseq 等其他工具或开放网络检索。自动使用用户在 Wiki 页或 Chat 输入框选择的全局当前库,不绑定会话。默认只读;导入、刷新、扫描、写入、删除与嵌入仅在用户明确要求时执行。
daily-news-briefing
Universal daily news briefing generator. Aggregates and summarizes the latest news on ANY topic the user specifies (AI, finance, geopolitics, sports, tech, science, etc.) from multiple sources. Activates when user asks for today's news, daily briefing, or latest updates on any subject — e.g. '给我今天的AI资讯', '帮我整理一下美股新闻', '科技行业有什么新动态', '今日财经简报'.