
人工智能AI Agent多智能体Agent 编排代码智能体CLI【免费下载链接】openrigBuild your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work.项目地址https://gitcode.com/GitHub_Trending/op/openrig点击查看免费下载OpenRig 通过add-supplementary-files追加补充文件这一可复用的 vendoring 模式将 Vercel 的 agent-browser 浏览器自动化 CLI 技能内置到自己的技能体系中让 OpenRig 拓扑派发出来的任意 Agent 都能直接驱动真实浏览器快照、表单填充、截图、抓取、Web 应用测试而无需运维人员额外安装浏览器自动化技能。本指南以 OPENRIG.md 为骨架结合仓库内的 SKILL.md 与 LOCAL-INSIGHTS.md 完整内容系统讲解agent-browser 技能在 OpenRig 中的定位、add-supplementary-files模式的具体实现如何在不污染上游内容的前提下追加本地实战洞察、该技能暴露的命令面与实战用法以及技能与上游的再同步流程。读完本文你将掌握OpenRig 内置浏览器自动化技能的文件结构与管理方式、agent-browser 从导航/快照/交互/再快照到登录态持久化、视觉回归、并行会话、iOS 模拟器、配置优先级、ref 生命周期等完整操作面以及如何把上游技能与本地补充文件结对维护而不产生分叉。一、背景OpenRig 为什么要内置 agent-browserOpenRig 的核心定位是构建你自己的 Agent 网络——从 Claude Code、Codex 和 Pi 构建出拥有角色、共享上下文和自有工作的持久化团队见 README.md 项目描述。在这样的拓扑里不同角色如 QA、验证、测试的 Agent 经常需要与真实网页交互填写表单、点击按钮、截图、抓取数据、测试 Web 应用。OPENRIG.md 明确指出OpenRig 内置agent-browser使任何由 OpenRig 拓扑派发的 Agent都能驱动真实浏览器快照、表单填充、截图、抓取、Web 应用测试运维人员无需为每个 Agent 单独安装浏览器自动化技能。它被任何角色包含 Web 工作的 Agent 配置所引用。这一声明有具体的仓库证据支撑在 packages/daemon/specs/agents/shared/agent.yaml 中agent-browser被注册为共享技能- id: agent-browser/path: skills/process/agent-browser在 packages/daemon/specs/agents/development/qa/agent.yaml 中QA 角色的技能列表明确包含agent-browser与test-driven-development、systematic-debugging、verification-before-completion等测试类技能并列在 packages/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md 中agent-browser被列为从 Agent 驱动浏览器截图/录屏的代表技能。也就是说agent-browser不是仓库里孤立的第三方文件而是 OpenRig 技能体系中的一个正式成员属于 process 类技能面向角色包含 Web 工作的 Agent 开放。二、技能文件布局OPENRIG.md 与它的两个搭档agent-browser 技能在仓库中有两处镜像主镜像specs 下发路径packages/daemon/specs/agents/shared/skills/process/agent-browser/规范镜像canonical 路径skills/_canonical/process/agent-browser/两个目录下的文件结构完全一致均包含三个文件文件角色SKILL.md上游技能主体定义name、description、allowed-tools、metadata及完整命令用法LOCAL-INSIGHTS.mdOpenRig 本地补充文件约 189 行记录实战中踩过的坑与命令兼容性矩阵OPENRIG.md本文档即OpenRig 与这个技能的关系声明记录来源、改动与再同步纪律OPENRIG.md 的开头 Frontmatter 与 Origin 小节给出了这份关系声明的关键元数据skill: agent-browser openrig-relationship: vendored-supplementedUpstream上游Vercel agent-browser CLI其上游仓库位于 https://github.com/vercel/agent-browserVendoring pattern内置模式add-supplementary-filesLast upstream check上次上游核查2026-05-13初始关系声明这些信息同时以结构化元数据形式写进了 SKILL.md 的 frontmattermetadata.openrig.vendored_from、vendoring_pattern: add-supplementary-files、last_upstream_check以及divergence_notes分歧说明——后者明确指向请阅读 OPENRIG.md 获取完整关系说明。2.1 为什么是 vendored-supplementedOpenRig 对第三方技能的处置不是改造成自己的也不是原样照搬而是vendored-supplemented内置 补充上游 SKILL.md 结构原样保留OpenRig 只追加一个伴随文件来承载本地实战洞察从而不污染上游内容。这份 OPENRIG.md 就是该关系的正式声明文件。三、add-supplementary-filesOpenRig 内置第三方技能的标准模式OPENRIG.md 明确指出agent-browser 是add-supplementary-files追加补充文件模式的典型canonical示例该模式在writing-skills-for-openrigSKILL.md 的 Vendored skills 一节中有系统论述。核心思想是上游技能保持结构完整OpenRig 增加一个伴随文件用于捕获本地使用洞察而不污染上游内容。3.1 两个具体的表面改动Surface改了什么为什么SKILL.md正文在末尾附近新增一小节 ## Local Dev Insights内含**IMPORTANT:** Read LOCAL-INSIGHTS.md指针没有这个指针加载技能的 Agent 就不会知道伴随文件存在指针是补充模式可被发现所需的唯一结构性改动LOCAL-INSIGHTS.md新的同级文件约 189 行实战验证过的坑、命令兼容性矩阵、以及上游技能未覆盖的修正例如并非所有get子命令都接受refs——get text e1可以工作但get html e1会静默失败。兼容性矩阵能把 Agent 从最常见的困惑类别中解救出来3.2 补充文件为何是承载负荷的OPENRIG.md 的 Companion files 一节强调LOCAL-INSIGHTS.md是load-bearing承载负荷的补充内容——SKILL.md 正文明确把读者指向这里获取上游技能未覆盖的实战坑。也就是说它不是可选附件而是该技能在 OpenRig 环境中正确使用的必要组成部分。四、SKILL.mdAgent 实际加载的技能主体要理解 add-supplementary-files 模式中上游内容保持结构完整意味着什么需要先看 SKILL.md 本身。它由三部分组成frontmatter技能元数据、上游正文完整命令面、以及末尾追加的本地洞察指针。4.1 FrontmatterAgent 如何决定使用这个技能name: agent-browser description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to open a website, fill out a form, click a button, take a screenshot, scrape data from a page, test this web app, login to a site, automate browser actions, or any task requiring programmatic web interaction. allowed-tools: Bash(npx agent-browser:*), Bash(agent-browser:*)description是技能的触发条件清单任何涉及打开网站、填表、点按钮、截图、抓取、测试 Web 应用、登录站点、自动化浏览器操作的需求都应激活本技能allowed-tools限定了 Agent 只能通过Bash(npx agent-browser:*)和Bash(agent-browser:*)两种形式调用该技能metadata.openrig记录了 vendoring 来源、模式、上次核查时间与分歧说明。4.2 核心工作流导航 → 快照 → 交互 → 再快照SKILL.md 定义的每一次浏览器自动化的标准流程Navigate导航agent-browser open urlSnapshot快照agent-browser snapshot -i获取e1、e2等元素引用Interact交互用引用执行点击、填充、选择Re-snapshot再快照导航或 DOM 变化后获取新的引用agent-browser open https://example.com/form agent-browser snapshot -i # Output: e1 [input typeemail], e2 [input typepassword], e3 [button] Submit agent-browser fill e1 userexample.com agent-browser fill e2 password123 agent-browser click e3 agent-browser wait --load networkidle agent-browser snapshot -i # Check result4.3 命令链接Command Chaining命令可以通过在单次 shell 调用中串联。浏览器通过后台守护进程在命令之间保持持久因此串联比分开调用更安全高效# 一条命令内串联 open wait snapshot agent-browser open https://example.com agent-browser wait --load networkidle agent-browser snapshot -i # 串联多个交互 agent-browser fill e1 userexample.com agent-browser fill e2 password123 agent-browser click e3 # 导航并截图 agent-browser open https://example.com agent-browser wait --load networkidle agent-browser screenshot page.png何时串联不需要先读取中间命令的输出再继续时用如 open wait screenshot需要先解析输出再行动时分开运行如先 snapshot 发现 refs再基于 refs 交互。4.4 完整命令面# 导航 agent-browser open url # 导航别名goto, navigate agent-browser close # 关闭浏览器 # 快照 agent-browser snapshot -i # 交互元素 refs推荐 agent-browser snapshot -i -C # 含光标交互元素带 onclick 的 div、cursor:pointer agent-browser snapshot -s #selector # 限定 CSS 选择器范围 # 交互使用 snapshot 得到的 refs agent-browser click e1 # 点击元素 agent-browser click e1 --new-tab # 点击并在新标签页打开 agent-browser fill e2 text # 清空并输入文本 agent-browser type e2 text # 不清空直接输入 agent-browser select e1 option # 选择下拉选项 agent-browser check e1 # 勾选复选框 agent-browser press Enter # 按键 agent-browser scroll down 500 # 滚动页面 # 获取信息 agent-browser get text e1 # 获取元素文本 agent-browser get url # 获取当前 URL agent-browser get title # 获取页面标题 # 等待 agent-browser wait e1 # 等待元素 agent-browser wait --load networkidle # 等待网络空闲 agent-browser wait --url **/page # 等待 URL 模式 agent-browser wait 2000 # 等待毫秒 # 捕获 agent-browser screenshot # 截图到临时目录 agent-browser screenshot --full # 整页截图 agent-browser screenshot --annotate # 带编号元素标签的标注截图 agent-browser pdf output.pdf # 保存为 PDF # 差异对比比较页面状态 agent-browser diff snapshot # 当前 vs 上次快照 agent-browser diff snapshot --baseline before.txt # 当前 vs 已保存文件 agent-browser diff screenshot --baseline before.png # 视觉像素对比 agent-browser diff url url1 url2 # 比较两个页面 agent-browser diff url url1 url2 --wait-until networkidle # 自定义等待策略 agent-browser diff url url1 url2 --selector #main # 限定元素4.5 常见模式表单提交agent-browser open https://example.com/signup agent-browser snapshot -i agent-browser fill e1 Jane Doe agent-browser fill e2 janeexample.com agent-browser select e3 California agent-browser check e4 agent-browser click e5 agent-browser wait --load networkidle带状态持久化的认证# 登录一次并保存状态 agent-browser open https://app.example.com/login agent-browser snapshot -i agent-browser fill e1 $USERNAME agent-browser fill e2 $PASSWORD agent-browser click e3 agent-browser wait --url **/dashboard agent-browser state save auth.json # 在后续会话中复用 agent-browser state load auth.json agent-browser open https://app.example.com/dashboard会话持久化跨浏览器重启自动保存/恢复 cookies 与 localStorage# 自动保存/恢复 cookies 和 localStorage跨浏览器重启 agent-browser --session-name myapp open https://app.example.com/login # ... 登录流程 ... agent-browser close # 状态自动保存到 ~/.agent-browser/sessions/ # 下次自动加载状态 agent-browser --session-name myapp open https://app.example.com/dashboard # 加密静态存储 export AGENT_BROWSER_ENCRYPTION_KEY$(openssl rand -hex 32) agent-browser --session-name secure open https://app.example.com # 管理已保存状态 agent-browser state list agent-browser state show myapp-default.json agent-browser state clear myapp agent-browser state clean --older-than 7数据提取agent-browser open https://example.com/products agent-browser snapshot -i agent-browser get text e5 # 获取特定元素文本 agent-browser get text body page.txt # 获取整页文本 # 便于解析的 JSON 输出 agent-browser snapshot -i --json agent-browser get text e1 --json并行会话agent-browser --session site1 open https://site-a.com agent-browser --session site2 open https://site-b.com agent-browser --session site1 snapshot -i agent-browser --session site2 snapshot -i agent-browser session list连接到现有 Chrome# 自动发现启用远程调试的 Chrome agent-browser --auto-connect open https://example.com agent-browser --auto-connect snapshot # 或用显式 CDP 端口 agent-browser --cdp 9222 snapshot可视化浏览器调试agent-browser --headed open https://example.com agent-browser highlight e1 # 高亮元素 agent-browser record start demo.webm # 录制会话 agent-browser profiler start # 启动 Chrome DevTools 性能分析 agent-browser profiler stop trace.json # 停止并保存 profile路径可选本地文件PDF、HTMLagent-browser --allow-file-access open file:///path/to/document.pdf agent-browser --allow-file-access open file:///path/to/page.html agent-browser screenshot output.pngiOS 模拟器移动 Safari# 列出可用 iOS 模拟器 agent-browser device list # 在指定设备上启动 Safari agent-browser -p ios --device iPhone 16 Pro open https://example.com # 与桌面端相同的工作流快照、交互、再快照 agent-browser -p ios snapshot -i agent-browser -p ios tap e1 # 点击click 的别名 agent-browser -p ios fill e2 text agent-browser -p ios swipe up # 移动端手势 # 截图 agent-browser -p ios screenshot mobile.png # 关闭会话关闭模拟器 agent-browser -p ios close前置要求macOS Xcode、Appiumnpm install -g appium appium driver install xcuitest。真机支持预配置的物理 iOS 设备使用--device UDIDUDID 来自xcrun xctrace list devices。4.6 差异对比验证变更在操作后使用diff snapshot验证操作是否产生了预期效果它比较当前可访问性树与会话中上次快照的差异# 典型工作流snapshot - action - diff agent-browser snapshot -i # 建立基线快照 agent-browser click e2 # 执行操作 agent-browser diff snapshot # 查看变化自动对比上次快照用于视觉回归测试或监控# 保存基线截图稍后对比 agent-browser screenshot baseline.png # ... 时间流逝或发生变更 ... agent-browser diff screenshot --baseline baseline.png # 比较 staging 与 production agent-browser diff url https://staging.example.com https://prod.example.com --screenshotdiff snapshot输出使用表示新增、-表示删除类似 git diff。diff screenshot生成差异图变更像素以红色高亮并给出不匹配百分比。4.7 超时与慢页面本地浏览器的默认 Playwright 超时是 60 秒。对慢网站或大页面应使用显式等待而非依赖默认超时# 等待网络活动稳定慢页面首选 agent-browser wait --load networkidle # 等待特定元素出现 agent-browser wait #content agent-browser wait e1 # 等待特定 URL 模式重定向后很有用 agent-browser wait --url **/dashboard # 等待 JavaScript 条件 agent-browser wait --fn document.readyState complete # 固定时长等待毫秒作为最后手段 agent-browser wait 5000对持续缓慢的网站open之后用wait --load networkidle确保页面完全加载后再快照。如果某个元素渲染慢直接用wait selector或wait ref等待它。4.8 会话管理与清理并发运行多个 Agent 或自动化任务时务必使用命名会话避免冲突# 每个 Agent 一个隔离会话 agent-browser --session agent1 open site-a.com agent-browser --session agent2 open site-b.com # 查看活动会话 agent-browser session list完成后务必关闭浏览器会话以避免进程泄漏agent-browser close # 关闭默认会话 agent-browser --session agent1 close # 关闭特定会话如果之前的会话没有正常关闭守护进程可能仍在运行。用agent-browser close在开始新工作前清理它。4.9 Ref 生命周期重要e1、e2等 refs 在页面变化时失效。以下情况后必须重新快照点击导航类链接或按钮表单提交动态内容加载下拉、模态框agent-browser click e5 # 导航到新页面 agent-browser snapshot -i # 必须重新快照 agent-browser click e1 # 使用新 refs4.10 标注截图视觉模式--annotate截图上会叠加交互元素的编号标签。每个标签[N]对应 refeN。它还会缓存 refs无需单独快照即可立即交互agent-browser screenshot --annotate # 输出包含图片路径和图例 # [1] e1 button Submit # [2] e2 link Home # [3] e3 textbox Email agent-browser click e2 # 用标注截图中的 ref 点击适用场景页面有无标签的图标按钮或纯视觉元素需要验证视觉布局或样式存在 Canvas 或图表元素对文本快照不可见需要元素位置的空间推理。4.11 语义定位器refs 的替代方案refs 不可用或不稳定时使用语义定位器agent-browser find text Sign In click agent-browser find label Email fill usertest.com agent-browser find role button click --name Submit agent-browser find placeholder Search type query agent-browser find testid submit-btn click4.12 JavaScript 求值eval用eval在浏览器上下文运行 JavaScript。Shell 引号可能破坏复杂表达式——用--stdin或-b规避# 简单表达式用普通引号即可 agent-browser eval document.title agent-browser eval document.querySelectorAll(img).length # 复杂 JS用 --stdin heredoc推荐 agent-browser eval --stdin EVALEOF JSON.stringify( Array.from(document.querySelectorAll(img)) .filter(i !i.alt) .map(i ({ src: i.src.split(/).pop(), width: i.width })) ) EVALEOF # 替代方案base64 编码完全规避 shell 转义问题 agent-browser eval -b $(echo -n Array.from(document.querySelectorAll(a)).map(a a.href) | base64)为什么重要shell 处理命令时内部双引号、!历史展开、反引号和$()都会在 JS 到达 agent-browser 之前破坏它。--stdin和-b完全绕过 shell 解释。经验法则单行、无嵌套引号 → 常规eval expression单引号即可嵌套引号、箭头函数、模板字符串或多行 → 用eval --stdin EVALEOF程序化/生成脚本 → 用eval -b配合 base64。4.13 配置文件在项目根目录创建agent-browser.json保存持久设置{ headed: true, proxy: http://localhost:8080, profile: ./browser-data }优先级低到高~/.agent-browser/config.json./agent-browser.json 环境变量 CLI flags。用--config path或AGENT_BROWSER_CONFIG环境变量指定自定义配置文件缺失/无效会报错退出。所有 CLI 选项映射为 camelCase 键如--executable-path→executablePath。布尔标志接受true/false值如--headed false可覆盖配置。用户与项目配置中的 extensions 是合并而非替换。4.14 深潜文档与现成模板SKILL.md 还列出了上游提供的深潜参考references/*.md与现成模板templates/*.sh以及其调用方式./templates/form-automation.sh https://example.com/form ./templates/authenticated-session.sh https://app.example.com/login ./templates/capture-workflow.sh https://example.com ./output五、LOCAL-INSIGHTS.md上游技能没覆盖的实战经验add-supplementary-files 模式的另一半——也是该模式价值增量所在——是 LOCAL-INSIGHTS.md。文件开头声明命令细节反映 v0.13.0 时代的用法可能与已安装版本不同使用前应核对当前 help 并验证目标操作——它不是当前浏览器或登录测试的收据。5.1 命令兼容性矩阵头号困惑源并非所有get子命令都接受 refs。这是最常见的困惑来源命令refsCSS 选择器备注get text e1YESYES两者都支持get htmlNOYES用 refs 会静默失败get boxNOYES返回{x, y, width, height}JSONget stylesNOYES返回紧凑摘要font, color, bg, border-radiusget valueNOYES用于表单输入get attrNOYES任意 HTML 属性get countN/AYES返回元素数量get urlN/AN/A无需选择器get titleN/AN/A无需选择器clickYESYES两者都支持fillYESYES两者都支持highlightNOYES技能文档写的是highlight e1但这会失败经验法则交互命令click、fill、type、check、select支持 refs检查命令get html/box/styles、highlight需要 CSS 选择器。5.2 CSS 选择器严格模式Playwright 严格模式要求 CSS 选择器精确匹配一个元素。多元素匹配时返回错误并列出所有匹配项对调试反而有帮助。唯一选择器策略用 ID#fork-button用唯一属性[data-testidsubmit]组合.header a:first-child用nth.item:nth-child(3)。5.3 Ref 生命周期的黄金法则refs 会被任何页面状态变化失效包括导航点击链接、open、back、forward限定范围快照snapshot -s——容易忘记这一点表单提交动态内容模态框、下拉、AJAX 加载甚至snapshot本身也会替换所有之前的 refs模式交互前总是立即快照。绝不在跨多个改变页面的动作间缓存 refs。5.4 快照模式对比标志返回内容使用时机-i仅交互元素默认选择——token 效率最佳-i -C交互 光标交互带 onclick 的 div 不出现时-c紧凑移除空节点不可靠——某些站点会返回 Empty page-d N深度受限-i返回过多时-s #sel限定选择器聚焦单个组件--jsonJSON 格式程序化解析完整 DOM 列表会淹没任务所需元素时用交互式或限定范围快照。5.5 标注截图的已知问题screenshot --annotate功能强大但在复杂页面上可能挂起已知 issue #509。挂起时Ctrl-C 或 timeout 终止 → 回退到常规screenshot 单独snapshot -i→ 在简单页面效果最佳。标注截图会缓存 refs之后无需单独快照即可立即交互。5.6 网络监控# 查看所有请求从页面打开起捕获 agent-browser network requests # 只过滤 API 调用大幅降噪 agent-browser network requests --filter /api/ # 模拟 API 响应 agent-browser network route https://api.example.com/data --body {mocked: true} # 拦截请求如分析脚本 agent-browser network route https://www.google-analytics.com/* --abort请求从会话开始即被捕获。--filter在真实站点上必不可少——不过滤的话会有几十条 CSS/图片/分析请求。5.7 JavaScript 求值模式# 快速单行单引号无嵌套 agent-browser eval document.title # 复杂 JS任何含引号/箭头/模板字面量的内容一律用 --stdin agent-browser eval --stdin EVALEOF JSON.stringify( Array.from(document.querySelectorAll(a)) .map(a ({ text: a.textContent.trim(), href: a.href })) .filter(a a.text.length 0) .slice(0, 10) ) EVALEOF # 从浏览器上下文发 fetch携带页面 cookies/认证 agent-browser eval --stdin EVALEOF (async () { const res await fetch(/api/data); return JSON.stringify(await res.json()); })() EVALEOF5.8 会话管理要点用完务必关闭agent-browser close防止守护进程泄漏调试用有头模式agent-browser --headed open url持久化有头配置在~/.agent-browser/config.json中添加{headed: true}并行工作用命名会话agent-browser --session name open url5.9 认证与保留的浏览器状态安全须知这是 LOCAL-INSIGHTS.md 中最贴近安全实践的一节它要求 Agent 与使用者对保留状态保持诚实选择已安装工具支持的 state 或 profile 机制保存的 state 文件或持久 profile不能证明后续会话已认证——重新打开后应检查目标账号与一个有意义的授权页面/操作。服务器过期和应用策略都可能使保留状态失效为任务使用明确归属的 profile必须通过用户的授权流程获得登录不要从本指南假定任何 profile、账号、应用 URL 或 provider 的变通方案必须针对实际版本和流程核对浏览器/provider 兼容性本笔记不附带任何经过测试的登录或保存的 profile把 profile 目录和保存的 state 当作凭据类数据对待放在授权的私有位置限制访问并从源码、普通日志和共享证据中剔除cookies、token、密码和加密密钥如果配置了加密要核实实际工具配置与密钥保管——不要仅凭文件名推断加密也不要假设 shell 已导出密钥只保留或删除任务拥有且处置被授权的状态。5.10 更新官方技能的流程同步 SKILL.md 与上游、同时保留本地洞察# 下载最新官方 SKILL.md curl -sL https://raw.githubusercontent.com/vercel-labs/agent-browser/main/skills/agent-browser/SKILL.md \ -o ~/.claude/skills/agent-browser/SKILL.md # 重新追加本地洞察引用SKILL.md 末尾的 3 行 cat ~/.claude/skills/agent-browser/SKILL.md EOF ## Local Dev Insights **IMPORTANT:** Read LOCAL-INSIGHTS.md in this skill directory for gotchas, corrections, and tested workflows discovered through hands-on use that this upstream skill doesnt cover. EOF这实际上把 OPENRIG.md 描述的再同步纪律落到了可执行命令层面先同步上游正文再补回本地指针。六、再同步上游何时以及如何做OPENRIG.md 的 When to re-sync upstream 一节给出了清晰的维护纪律关注 Vercel 的新agent-browserCLI 发布当命令面发生有意义的变更时从上游重新同步SKILL.md正文保留Local Dev Insights 指针小节更新LOCAL-INSIGHTS.md兼容性矩阵以反映新行为某些get子命令可能获得ref支持从而破坏当前矩阵——这正是 5.1 节矩阵需要持续维护的原因在SKILL.mdfrontmatter 中更新last_upstream_check在divergence_notes中记录任何结构性变化。结合 SKILL.md 的 frontmatter 可以看到这套纪律的落点divergence_notes里正是记录着正文追加了 Local Dev Insights 指针小节这一唯一分歧。除这一处指针外SKILL.md 其余内容在最近一次上游核查时与上游保持一致见 OPENRIG.md。七、在 OpenRig 中的可复用价值agent-browser 的 vendored-supplemented 模式对 OpenRig 的意义远不止一个浏览器技能对 Agent 运行时任何拓扑中的 Web 角色 Agent尤其是 QA 类角色见 qa/agent.yaml无需额外安装即可获得完整的浏览器自动化能力对技能维护者add-supplementary-files 提供了一种上游不变、本地补充、指针发现的三段式内置策略——用一行指针解决可发现性用一个伴随文件承载全部本地差异把对上游的侵入降到最低对再同步明确的元数据字段last_upstream_check、divergence_notes 明确的再同步步骤让第三方技能的升级可审计、可预期。相关文件索引关系声明packages/daemon/specs/agents/shared/skills/process/agent-browser/OPENRIG.md技能主体packages/daemon/specs/agents/shared/skills/process/agent-browser/SKILL.md本地实战洞察packages/daemon/specs/agents/shared/skills/process/agent-browser/LOCAL-INSIGHTS.md规范镜像内容一致skills/_canonical/process/agent-browser/OPENRIG.md共享技能注册packages/daemon/specs/agents/shared/agent.yamlQA 角色技能列表packages/daemon/specs/agents/development/qa/agent.yaml技能清单packages/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md赞分享人工智能AI Agent多智能体Agent 编排代码智能体CLI【免费下载链接】openrigBuild your own network of agents from Claude Code, Codex and Pi: persistent teams with roles, shared context and owned work.项目地址https://gitcode.com/GitHub_Trending/op/openrig点击查看免费下载相关推荐eggjs/dynamic-inject-runtime 源码级解析tegg 动态注入运行时的演进与实现eggjs/dynamic inject runtime 源码级解析tegg 动态注入运行时的演进与实现 导读 eggjs/dynamic inject人工智能AI Agent多智能体Agent 编排代码智能体CLI终极Browser MCP持续集成指南如何将AI驱动的浏览器自动化集成到CI/CD流程终极Browser MCP持续集成指南如何将AI驱动的浏览器自动化集成到CI/CD流程 Browser MCPModel Context ProviderAI Agent浏览器控制MCP 服务GUI 自动化Every-Marketplace Agent-Browser技能CLI浏览器自动化终极指南Every Marketplace Agent Browser技能CLI浏览器自动化终极指南 Every Marketplace的Agent Browser技人工智能AI 技能AI 插件上一篇ML-Agents 机器学习背景指南从无监督学习到强化学习与 Unity 训练闭环下一篇Python MCP SDK 服务端工具Tools开发指南从 mcp.tool() 装饰器到结构化工具定义创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考