经 AI Skill Hub 精选评估,opendevbrowser Agent工作流 获评「推荐使用」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
用于AI代理的浏览器自动化、标注和DOM交互工具。
opendevbrowser Agent工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
用于AI代理的浏览器自动化、标注和DOM交互工具。
opendevbrowser Agent工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:npm 全局安装 npm install -g opendevbrowser # 方式二:npx 直接运行(无需安装) npx opendevbrowser --help # 方式三:项目依赖安装 npm install opendevbrowser # 方式四:从源码运行 git clone https://github.com/freshtechbro/opendevbrowser cd opendevbrowser npm install npm start
# 命令行使用
opendevbrowser --help
# 基本用法
opendevbrowser [options] <input>
# Node.js 代码中使用
const opendevbrowser = require('opendevbrowser');
const result = await opendevbrowser.run(options);
console.log(result);
# opendevbrowser 配置说明 # 查看配置选项 opendevbrowser --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export OPENDEVBROWSER_CONFIG="/path/to/config.yml"
Script-first browser automation for AI agents. Snapshot → Refs → Actions.
OpenDevBrowser is an agent-agnostic browser automation runtime for CLI workflows, OpenCode tool calls, and Chrome extension relay sessions. It supports managed launches, direct CDP attach, and extension-backed Ops sessions.
The current public surface includes 77 CLI commands and 70 opendevbrowser_* tools; see docs/CLI.md for the operational command guide. Generated help is the canonical first-contact discovery surface: npx opendevbrowser --help and npx opendevbrowser help now lead with a Find It Fast block that uses the exact lookup terms screencast / browser replay, desktop observation, and computer use / browser-scoped computer use. Shipped builds include Browser replay through screencast-start or screencast-stop and a separate public read-only desktop observation plane through the desktop-* family; those lanes stay explicit, browser-scoped where applicable, and make it clear this is not a desktop agent.
<p align="center"> <img src="assets/hero-image.png" alt="OpenDevBrowser hero image showing AI-assisted annotation and browser automation workflow" width="920" /> <br /> <em>AI-assisted annotation and browser automation workflow</em> </p>
npx opendevbrowser launch --extension-only --wait-for-extension
Requires Node.js >=18.
npx opendevbrowser
npx opendevbrowser --full
Use OpenCode only when you want native opendevbrowser_* tool calls; the CLI and extension workflows work without it.
Recommended (CLI, installs plugin + config + bundled skills + extension assets):
npx opendevbrowser --full --global --no-prompt
Explicit flags (config + skills, no prompt):
npx opendevbrowser --global --with-config --skills-global --no-prompt
Manual fallback (edit OpenCode config):
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opendevbrowser"]
}
Config location: ~/.config/opencode/opencode.json
Restart OpenCode, then run opendevbrowser_status to verify the plugin is loaded (daemon status when hub is enabled).
---
opendevbrowser daemon install
1. Ensure extension assets exist by running either: - npx opendevbrowser --full (installer path), or - npm run extension:build (repo/dev path) 2. Load unpacked from ~/.config/opencode/opendevbrowser/extension (fallback: ~/.cache/opencode/node_modules/opendevbrowser/extension). 3. Open extension popup 4. Enter the same relay port and token as the runtime config (if relayToken is missing, either add one to opendevbrowser.jsonc or use Auto-Pair). 5. Click Connect
| Command | Description |
|---|---|
npx opendevbrowser | Interactive install |
npx opendevbrowser --global | Install to global config |
npx opendevbrowser --local | Install to project config |
npx opendevbrowser --with-config | Also create opendevbrowser.jsonc |
npx opendevbrowser --full | Full install (config + extension assets) |
npm install -g opendevbrowser | Install persistent global CLI |
npx opendevbrowser --update | Repair OpenCode package caches and plugin pins |
npx opendevbrowser --uninstall | Remove from config |
npx opendevbrowser --version | Show version |
OpenDevBrowser uses the same automation model across plugin tools and CLI commands:
1. Launch a browser session
2. Navigate to a URL
3. Take a review to get target-aware actionables and refs
4. Interact using refs (click, type, select)
5. Re-review or re-snapshot after navigation
Shipping checklist for first-time users (local-package install, daemon, extension, first task, multi-tab auth/cookies): - docs/FIRST_RUN_ONBOARDING.md
Parallel execution is target-scoped (ExecutionKey = (sessionId,targetId)): same target is FIFO, different targets can run concurrently up to the governor cap. session-per-worker remains the safest baseline for strict isolation. See docs/CLI.md (Concurrency semantics) and skills/opendevbrowser-best-practices/artifacts/provider-workflows.md (Workflow E).
Run a local daemon for persistent sessions, then drive automation via CLI commands:
```bash
npm install -g opendevbrowser opendevbrowser --version ```
The extension enables Extension Relay mode - attach to existing logged-in browser tabs without launching a new browser.
Requirements: Chrome 125+ (flat CDP sessions). Older versions will fail fast with a clear error.
| Setting | Default |
|---|---|
| Relay port | 8787 |
| Auto-connect | true |
| Auto-pair | true |
| Require pairing token | true |
| Pairing token | null (fetched on connect) |
Optional config file: ~/.config/opencode/opendevbrowser.jsonc
{
// Browser settings
"headless": false,
"profile": "default",
"persistProfile": true,
"chromePath": "/path/to/chrome", // Custom Chrome executable
"flags": ["--disable-extensions"], // Additional Chrome flags
// Snapshot limits
"snapshot": { "maxChars": 16000, "maxNodes": 1000 },
// Export limits
"export": { "maxNodes": 1000, "inlineStyles": true },
// DevTools output
"devtools": { "showFullUrls": false, "showFullConsole": false },
// Security (all default false for safety)
"security": {
"allowRawCDP": false,
"allowNonLocalCdp": false,
"allowUnsafeExport": false
},
// Provider workflow cookie defaults (optional)
"providers": {
"cookiePolicy": "auto",
"cookieSource": {
"type": "file",
"value": "~/.config/opencode/opendevbrowser.provider-cookies.json"
},
"challengeOrchestration": {
"mode": "browser_with_helper",
"optionalComputerUseBridge": {
"enabled": true
}
}
},
// Public read-only sibling desktop observation runtime (enabled by default; set "off" to opt out)
// On macOS, availability, window, and accessibility probes require the local swift command.
"desktop": {
"permissionLevel": "observe",
"commandTimeoutMs": 10000,
"auditArtifactsDir": ".opendevbrowser/desktop-runtime",
"accessibilityMaxDepth": 2,
"accessibilityMaxChildren": 25
},
// Skills configuration
"skills": {
"nudge": {
"enabled": true,
"keywords": ["form", "login", "extract", "scrape"],
"maxAgeMs": 60000
}
},
"skillPaths": ["./custom-skills"], // Additional skill directories
// Continuity ledger
"continuity": {
"enabled": true,
"filePath": "opendevbrowser_continuity.md",
"nudge": {
"enabled": true,
"keywords": ["plan", "multi-step", "refactor", "migration"],
"maxAgeMs": 60000
}
},
// Extension relay
"relayPort": 8787,
"relayToken": "auto-generated-on-first-run",
// Hub daemon (relay ownership + FIFO queue)
"daemonPort": 8788,
"daemonToken": "auto-generated-on-first-run",
// Updates
"checkForUpdates": false
}
All fields are optional. OpenDevBrowser works with sensible defaults.
---
```bash
OpenDevBrowser provides 70 tools organized by category: Most runtime actions also have CLI command equivalents (see docs/CLI.md). Complete source-accurate inventory (tools + CLI + /ops + /canvas + /cdp): docs/SURFACE_REFERENCE.md. Terminal help now mirrors the generated public-surface manifest rooted at src/public-surface/source.ts and refreshed by scripts/generate-public-surface-manifest.mjs. npx opendevbrowser --help and npx opendevbrowser help both show every command with its usage and primary flags, every grouped CLI flag, and every bundled opendevbrowser_* tool with its CLI equivalent or tool-only scope. See docs/ASSET_INVENTORY.md for the brand and generated help/public-surface asset inventory used by packaging and website-sync flows.
The CLI is agent-agnostic and supports the full automation surface (session, navigation, interaction, DOM, browser capture and replay, desktop observation, targets, pages, export, devtools, annotate, and canvas). All commands listed in the CLI reference are implemented and available in the current codebase. See docs/CLI.md for the full command and flag matrix. See docs/SURFACE_REFERENCE.md for the source-accurate inventory matrix (77 CLI commands, 70 tools, /ops, /canvas, and /cdp channel contracts).
| Category | Commands |
|---|---|
| Install/runtime | install, update, uninstall, help, version, serve, daemon, native, run |
| Session/connection | launch, connect, disconnect, status, status-capabilities, cookie-import, cookie-list |
| Navigation | goto, wait, snapshot, review, review-desktop |
| Interaction | click, hover, press, check, uncheck, type, select, scroll, scroll-into-view, upload, pointer-move, pointer-down, pointer-up, pointer-drag |
| Targets/pages | targets-list, target-use, target-new, target-close, page, pages, page-close |
| DOM | dom-html, dom-text, dom-attr, dom-value, dom-visible, dom-enabled, dom-checked |
| Browser capture | screenshot, screencast-start, screencast-stop |
| Desktop observation | desktop-status, desktop-windows, desktop-active-window, desktop-capture-desktop, desktop-capture-window, desktop-accessibility-snapshot |
| Design canvas | canvas |
| Export/diagnostics/macro/annotation/power | clone-page, clone-component, perf, dialog, console-poll, network-poll, debug-trace-snapshot, session-inspector, session-inspector-plan, session-inspector-audit, macro-resolve, annotate, rpc |
Use this flow to validate first-run onboarding from a source tarball without relying on the published registry package.
cd <public-repo-root>
npm pack
WORKDIR=$(mktemp -d /tmp/opendevbrowser-first-run-XXXXXX)
ISOLATED_ROOT=$(mktemp -d /tmp/opendevbrowser-first-run-isolated-XXXXXX)
export HOME="$ISOLATED_ROOT/home"
export OPENCODE_CONFIG_DIR="$ISOLATED_ROOT/opencode-config"
export OPENCODE_CACHE_DIR="$ISOLATED_ROOT/opencode-cache"
export CODEX_HOME="$ISOLATED_ROOT/codex-home"
export CLAUDECODE_HOME="$ISOLATED_ROOT/claudecode-home"
export AMP_CLI_HOME="$ISOLATED_ROOT/ampcli-home"
cd "$WORKDIR"
npm init -y
npm install <public-repo-root>/opendevbrowser-0.0.34.tgz
npx --no-install opendevbrowser --help
npx --no-install opendevbrowser help
Published npm consumer proof is tracked separately in docs/RELEASE_RUNBOOK.md through scripts/registry-consumer-smoke.mjs.
Set OPDEVBROWSER_SKIP_POSTINSTALL_SKILL_SYNC=1 before npm install only if you need a packaging smoke test that avoids the install-time managed-skill refresh entirely.
See docs/FIRST_RUN_ONBOARDING.md for the full onboarding checklist, docs/DEPENDENCIES.md for runtime inventory, and docs/SURFACE_REFERENCE.md for the live CLI and tool surface.
Successful installs reconcile daemon auto-start on supported platforms so the relay is available on login. macOS LaunchAgents persist a stable WorkingDirectory under ~/.cache/opendevbrowser so launchd does not start the daemon from /. If the current CLI entrypoint lives under a transient temp-root path such as a first-run /tmp or /private/tmp workspace, OpenDevBrowser refuses to persist that path as auto-start. Rerun opendevbrowser daemon install, or npx --no-install opendevbrowser daemon install from a persistent local package install, from a stable install location if you want login auto-start; remove it later with opendevbrowser daemon uninstall.
Bundled skills sync to OpenCode, Codex, ClaudeCode, and AmpCLI targets during install. npx opendevbrowser manages global or project-local targets according to the selected skills mode, and package installation (npm install -g, local tarball install, or equivalent) best-effort syncs the canonical bundled packs into the managed global targets during package postinstall. See docs/CLI.md for exact target paths.
npx opendevbrowser launch --no-extension ```
Unpacked extension load path after local install: - <WORKDIR>/node_modules/opendevbrowser/extension
| Step | Tool | Purpose |
|---|---|---|
| 1 | opendevbrowser_launch | Launch a session (extension relay first; managed fallback is explicit) |
| 2 | opendevbrowser_goto | Navigate to URL |
| 3 | opendevbrowser_review | Inspect the active target and capture fresh actionables before acting |
| 4 | opendevbrowser_click / opendevbrowser_type | Interact with elements |
| 5 | opendevbrowser_snapshot | Re-capture refs after navigation or DOM changes |
| 6 | opendevbrowser_disconnect | Clean up session |
---
npx opendevbrowser status --daemon --output-format json
| Tool | Description |
|---|---|
opendevbrowser_macro_resolve | Resolve macro expressions into provider action/provenance (optionally execute) |
http://127.0.0.1:8787/config.http://127.0.0.1:<relayPort>/pair.ws://127.0.0.1:<relayPort>/extension using the extension origin./config and /pair accept loopback requests with no Origin (including Origin: null) to support MV3 + PNA; non-extension origins are still rejected, and preflights include Access-Control-Allow-Private-Network: true.
Extension assets are bundled inside the NPM package and extracted on install/startup:
~/.config/opencode/opendevbrowser/extension~/.cache/opencode/node_modules/opendevbrowser/extensionExtraction is handled by extractExtension() (see src/extension-extractor.ts).
---
npx opendevbrowser --update ```
Architecture overview: docs/ARCHITECTURE.md Release checklist: docs/DISTRIBUTION_PLAN.md Documentation index: docs/README.md Frontend docs: docs/FRONTEND.md Dependency inventory: docs/DEPENDENCIES.md Local-only generated artifacts such as prompt-exports/, root artifacts/, coverage/, CONTINUITY*.md, and sub_continuity.md stay uncommitted; .gitignore is authoritative.
---
launch (extension or managed) -> sessionIdsnapshot -> refsclick, type, press, hover, check, etc.) -> repeat snapshotdisconnect on completionhttp(s) page (not chrome:// or extension pages).relayPort and relayToken in ~/.config/opencode/opendevbrowser.jsonc match the popup (Auto-pair should fetch the token).relayPort is 0, the relay is off.relayToken: false disables relay/hub behavior entirely.relayToken: "" (empty string) keeps relay enabled but disables pairing requirements.opendevbrowser daemon install from a stable install location so the relay is available on login.relayPort or stop it; opencode listening is expected.OpenDevBrowser 是一个强大的浏览器自动化工具,旨在为 AI Agent 提供精准的浏览器操控能力。它支持通过 CLI 或插件工具进行交互,能够实现高度智能化的网页导航与操作,是构建自动化工作流的核心组件。
OpenDevBrowser 提供了一系列先进的自动化特性,支持通过插件工具和 CLI 命令进行统一的自动化模型操作。它不仅能执行点击、输入、选择等交互动作,还���通过 Review 机制获取目标感知的可执行项(actionables)与引用(refs),确保 AI 操作的准确性。
在使用 OpenDevBrowser 之前,请确保您的环境满足以下要求:若需使用 Extension 模式,必须通过特定命令启动并配合 Extension Popup 进行连接;若使用 Chrome Extension 模式,则需要 Chrome 125+ 版本以支持 flat CDP sessions,较低版本可能会导致连接失败。
安装 OpenDevBrowser 非常灵活。推荐使用交互式安装程序运行 `npx opendevbrowser`;若需包含配置与 Extension 资源的完整安装,请使用 `npx opendevbrowser --full`。此外,您也可以通过 `npm install -g opendevbrowser` 进行全局安装,以支持持久化的 CLI 使用。
OpenDevBrowser 采用统一的自动化模型。快速上手流程为:首先启动浏览器 Session,随后导航至目标 URL;接着通过 Review 机制获取目标感知的 actionables 和 refs;最后利用这些 refs 进行点击、输入或选择等交互,并在导航后重新进行 Review 或 Snapshot 以保持状态同步。
用户可以通过配置文件进行高级设置。对于 Chrome Extension 模式,系统支持 Extension Relay 模式,允许连接到已登录的现有浏览器标签页。相关配���项如 Relay port、Auto-connect、Auto-pair 以及 Pairing token 等均可在配置中进行管理,确保连接的安全与便捷。
OpenDevBrowser 提供了极其丰富的工具集,包含 70 多个按类别组织的工具,涵盖了从运行时动作到 CLI 命令的完整映射。其 CLI 是 Agent-agnostic(与 Agent 无关)的,支持 Session 管理、DOM 操作、浏览器捕获与回放、Desktop Observation 以及 Canvas 等全方位的自动化表面。
在插件工具的核心工作流中,OpenDevBrowser 遵循严格的步骤:首先调用 `opendevbrowser_launch` 启动 Session(优先尝试 Extension Relay),随后使用 `opendevbrowser_goto` 导航至指定 URL,最后通过 `opendevbrowser_review` 检查当前目标并捕获最新的可执行项,确保操作的实时性与准确性。
针对“Extension 无法连接”的问题,请检查以下几点:确保当前活动标签页为正常的 http(s) 页面而非 chrome:// 页面;确认配置文件 `~/.config/opencode/opendevbrowser.jsonc` 中的 relayPort 和 relayToken 与 Extension Popup 中的信息一致;若 relayPort 为 0,则表示 Relay 已关闭。
该项目提供了一个开源的AI工作流工具,支持浏览器自动化、标注和DOM交互功能。虽然star数较少,但工具的设计和功能值得关注。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:opendevbrowser Agent工作流 的核心功能完整,质量良好。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | opendevbrowser |
| 原始描述 | 开源AI工作流:Browser automation, annotation & DOM interaction tool for AI agents. Batteries i。⭐11 · TypeScript |
| Topics | workflowannotationbrowser-automationdom-interaction |
| GitHub | https://github.com/freshtechbro/opendevbrowser |
| License | MIT |
| 语言 | TypeScript |
收录时间:2026-05-16 · 更新时间:2026-05-24 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端