[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-SawyerHood-dev-browser-zh-CN":3,"guides-for-SawyerHood-dev-browser":393,"similar-k179b75rfmhwqq9st7zsc834m586n5ex-zh-CN":394},{"_creationTime":4,"_id":5,"children":6,"community":47,"display":48,"evaluation":51,"identity":283,"isFallback":279,"parentExtension":286,"providers":314,"relations":319,"repo":320,"tags":390,"workflow":391},1778696989962.7488,"k179b75rfmhwqq9st7zsc834m586n5ex",[7],{"_creationTime":8,"_id":9,"community":10,"display":12,"identity":18,"providers":23,"relations":38,"tags":42,"workflow":43},1778696994282.5017,"k17497mez0dgwcmcmmh6dvw05s86ne9k",{"reviewCount":11},0,{"description":13,"installMethods":14,"name":16,"sourceUrl":17},"使用持久化页面状态进行浏览器自动化。当用户要求导航网站、填写表单、截屏、提取网页数据、测试 Web 应用或自动化浏览器工作流时使用。触发短语包括“转到 [url]”、“点击”、“填写表单”、“截屏”、“抓取”、“自动化”、“测试网站”、“登录”或任何浏览器交互请求。",{"claudeCode":15},"SawyerHood/dev-browser","dev-browser","https://github.com/SawyerHood/dev-browser",{"basePath":19,"githubOwner":20,"githubRepo":16,"locale":21,"slug":16,"type":22},"skills/dev-browser","SawyerHood","zh-CN","skill",{"evaluate":24,"extract":36},{"promptVersionExtension":25,"promptVersionScoring":26,"score":27,"tags":28,"targetMarket":34,"tier":35},"3.0.0","4.4.0",99,[29,30,31,32,33],"browser-automation","playwright","javascript","testing","web-scraping","global","verified",{"commitSha":37},"HEAD",{"parentExtensionId":39,"repoId":40,"translatedFrom":41},"k172vf4sjqdwht2n7b64bmf7wn86mzzp","kd778ksdnkgy1969578mg8f30986nddw","k17535f2wgbtzrzc5n55ps9f3586mr7p",[29,31,30,32,33],{"evaluatedAt":44,"extractAt":45,"updatedAt":46},1778696938150,1778696896101,1778696994282,{"reviewCount":11},{"description":49,"installMethods":50,"name":16,"sourceUrl":17},"浏览器自动化技能，具有持久的页面状态，适用于开发者和AI代理",{"claudeCode":16},{"_creationTime":52,"_id":53,"extensionId":5,"locale":21,"result":54,"trustSignals":262,"workflow":281},1778696989962.749,"kn7edpxpejep9em2z0vhg8zj7586mrp0",{"checks":55,"evaluatedAt":239,"extensionSummary":240,"features":241,"nonGoals":247,"promptVersionExtension":25,"promptVersionScoring":26,"purpose":251,"rationale":252,"score":253,"summary":254,"tags":255,"tier":35,"useCases":257},[56,61,64,67,71,74,79,83,86,89,93,97,100,104,107,110,113,116,119,122,126,130,134,138,142,145,148,151,155,158,161,164,167,170,173,177,181,185,188,192,195,198,201,204,206,209,212,215,218,221,225,228,231,235],{"category":57,"check":58,"severity":59,"summary":60},"Practical Utility","Problem relevance","pass","描述清楚地说明了该扩展解决了 AI 代理和开发者的浏览器自动化问题，强调了持久的页面状态和沙盒执行，这些都是具体的问题。",{"category":57,"check":62,"severity":59,"summary":63},"Unique selling proposition","该扩展提供了一个具有持久页面状态和 Playwright API 集成的沙盒 JavaScript 环境，为浏览器自动化任务提供了超越基本提示执行的巨大价值。",{"category":57,"check":65,"severity":59,"summary":66},"Production readiness","CLI 提供了安装、快速入门示例，并涵盖了浏览器自动化的完整生命周期，使其能够用于生产工作流。",{"category":68,"check":69,"severity":59,"summary":70},"Scope","Single responsibility principle","该插件专注于通过沙盒 JavaScript 脚本和 Playwright 进行浏览器自动化，这是一个连贯且定义明确的领域。",{"category":68,"check":72,"severity":59,"summary":73},"Description quality","显示的描述准确而简洁地反映了该扩展的核心功能，即为开发者和 AI 代理提供具有持久页面状态的浏览器自动化。",{"category":75,"check":76,"severity":77,"summary":78},"Invocation","Scoped tools","not_applicable","这是一个带有脚本执行的 CLI 工具，而不是一组具有狭窄动词-名词操作的离散工具。",{"category":80,"check":81,"severity":59,"summary":82},"Documentation","Configuration & parameter reference","README 提供了清晰的 CLI 安装说明、快速入门示例以及如何使用脚本 API 的详细信息，包括 `--headless` 和 `--connect` 等选项。",{"category":68,"check":84,"severity":77,"summary":85},"Tool naming","这是一个 CLI 工具，而不是一组需要评估命名规则的独立工具。",{"category":68,"check":87,"severity":59,"summary":88},"Minimal I/O surface","CLI 通过参数和 heredoc 脚本接收输入，并将输出路由到 stdout/stderr，遵循最小 I/O 原则。",{"category":90,"check":91,"severity":59,"summary":92},"License","License usability","该扩展根据 MIT 许可证授权，在 LICENSE 文件和 README 中已清楚说明，这是一个宽松的开源许可证。",{"category":94,"check":95,"severity":59,"summary":96},"Maintenance","Commit recency","上次提交是在 2026 年 4 月 9 日，表明近期有维护。",{"category":94,"check":98,"severity":59,"summary":99},"Dependency Management","该项目使用 npm 并具有 lockfile，表明良好的依赖管理实践。",{"category":101,"check":102,"severity":59,"summary":103},"Security","Secret Management","该扩展在沙盒环境中运行，似乎不直接处理或暴露敏感信息。",{"category":101,"check":105,"severity":59,"summary":106},"Injection","脚本在沙盒化的 QuickJS WASM 环境中运行，没有主机文件系统或网络访问权限，从而降低了注入风险。",{"category":101,"check":108,"severity":59,"summary":109},"Transitive Supply-Chain Grenades","该插件在安装期间下载二进制文件，但在运行时不获取远程代码或数据进行执行。",{"category":101,"check":111,"severity":59,"summary":112},"Sandbox Isolation","沙盒化的 QuickJS 环境和受限的文件 I/O (`~/.dev-browser/tmp/`) 防止了沙盒逃逸。",{"category":101,"check":114,"severity":59,"summary":115},"Sandbox escape primitives","沙盒化的 QuickJS 环境和缺乏直接主机访问权限可防止沙盒逃逸原语。",{"category":101,"check":117,"severity":59,"summary":118},"Data Exfiltration","沙盒环境和受限的 I/O 可防止数据泄露。",{"category":101,"check":120,"severity":59,"summary":121},"Hidden Text Tricks","README 和捆绑的脚本似乎没有隐藏的操纵技巧或混淆。",{"category":123,"check":124,"severity":59,"summary":125},"Hooks","Opaque code execution","主要的执行机制是沙盒化的 QuickJS 运行时，CLI 包装脚本是可读的 JavaScript。",{"category":127,"check":128,"severity":59,"summary":129},"Portability","Structural Assumption","CLI 脚本处理特定于平台的二进制文件和路径，确保了跨支持操作系统的可移植性。",{"category":131,"check":132,"severity":59,"summary":133},"Trust","Issues Attention","在过去 90 天内，有 3 个未解决和 21 个已关闭的问题，关闭率很高，并且维护者的参与度显而易见。",{"category":135,"check":136,"severity":59,"summary":137},"Versioning","Release Management","该项目在 `package.json` 中声明其版本，并使用 npm 进行分发，带有标记的发布。",{"category":139,"check":140,"severity":59,"summary":141},"Code Execution","Validation","CLI 脚本处理参数和脚本内容，沙盒环境为脚本执行提供了固有的安全性。",{"category":101,"check":143,"severity":59,"summary":144},"Unguarded Destructive Operations","文件写入等破坏性操作仅限于临时目录并在沙盒内管理。",{"category":139,"check":146,"severity":59,"summary":147},"Error Handling","CLI 包装器和沙盒环境应能优雅地处理错误，在失败时以非零代码退出。",{"category":139,"check":149,"severity":59,"summary":150},"Logging","CLI 将控制台输出路由到 stdout/stderr，README 提到了保存屏幕截图和写入文件，这暗示了日志记录功能。",{"category":152,"check":153,"severity":59,"summary":154},"Compliance","GDPR","该扩展在具有受限文件 I/O 的沙盒中运行，似乎不直接处理个人数据。",{"category":152,"check":156,"severity":59,"summary":157},"Target market","该扩展是跨平台的，其功能不与任何特定的地理或法律管辖区相关联，使其具有全球性。",{"category":127,"check":159,"severity":59,"summary":160},"Runtime stability","CLI 包括特定于平台的二进制文件下载并处理 Windows 的细微差别，旨在实现跨平台稳定性。",{"category":80,"check":162,"severity":59,"summary":163},"README","README 清楚地说明了扩展的目的，并提供了安装和使用说明。",{"category":68,"check":165,"severity":77,"summary":166},"Tool surface size","这是一个单一的 CLI 工具，而不是多个工具的集合。",{"category":75,"check":168,"severity":77,"summary":169},"Overlapping near-synonym tools","这是一个单一的 CLI 工具，因此没有重叠的工具名称可供评估。",{"category":80,"check":171,"severity":59,"summary":172},"Phantom features","README 中提到的所有功能，如沙盒执行和 Playwright API 访问，都得到了实现的支持。",{"category":174,"check":175,"severity":59,"summary":176},"Install","Installation instruction","README 提供了清晰的 npm 安装说明以及适用于各种平台和使用场景的可复制示例。",{"category":178,"check":179,"severity":59,"summary":180},"Errors","Actionable error messages","CLI 脚本为不支持的平台和缺少二进制文件提供了具体的错误消息，指导用户进行修复。",{"category":182,"check":183,"severity":59,"summary":184},"Execution","Pinned dependencies","该项目使用 npm 并具有 lockfile，确保依赖项已固定。主脚本中的 shebang 确保了正确的解释器。",{"category":68,"check":186,"severity":77,"summary":187},"Dry-run preview","该扩展主要用于执行脚本；没有需要传统意义上的预览模式的状态更改操作。",{"category":189,"check":190,"severity":77,"summary":191},"Protocol","Idempotent retry & timeouts","该扩展在会话中执行脚本，不涉及需要幂等性或超时设置的远程调用或状态更改操作。",{"category":152,"check":193,"severity":59,"summary":194},"Telemetry opt-in","该扩展默认似乎不发出遥测数据，也没有明显的选择退出遥测机制。",{"category":75,"check":196,"severity":59,"summary":197},"Name collisions","该插件只有一个 CLI 命令 'dev-browser'，避免了与 Claude Code 内置命令或其他插件的名称冲突。",{"category":75,"check":199,"severity":77,"summary":200},"Hooks-off mechanism","这是一个 CLI 工具，似乎不使用需要 hooks-off 机制的钩子。",{"category":75,"check":202,"severity":77,"summary":203},"Hook matcher tightness","该扩展似乎不使用钩子。",{"category":101,"check":205,"severity":77,"summary":203},"Hook security",{"category":123,"check":207,"severity":77,"summary":208},"Silent prompt rewriting","该扩展似乎没有提示重写钩子。",{"category":101,"check":210,"severity":77,"summary":211},"Permission Hook","该扩展似乎没有权限请求钩子。",{"category":152,"check":213,"severity":77,"summary":214},"Hook privacy","该扩展似乎不使用用于日志记录或遥测的钩子。",{"category":139,"check":216,"severity":77,"summary":217},"Hook dependency","该扩展似乎没有钩子。",{"category":80,"check":219,"severity":59,"summary":220},"Feature Transparency","README 清楚地描述了核心功能、沙盒化和 API，提供了透明度。",{"category":222,"check":223,"severity":59,"summary":224},"Convention","Layout convention adherence","bin/dev-browser.js 脚本是可执行的，其目的通过其名称和 README 上下文推断。未观察到 .claude-plugin/ 目录，这对于 CLI 工具是合适的。",{"category":222,"check":226,"severity":77,"summary":227},"Plugin state","作为一个 CLI 工具，它不像插件那样在 ${CLAUDE_PLUGIN_DATA} 下维护持久状态。",{"category":101,"check":229,"severity":77,"summary":230},"Keychain-stored secrets","该插件似乎不处理或存储敏感信息，因此此检查不适用。",{"category":232,"check":233,"severity":59,"summary":234},"Dependencies","Tagged release sourcing","CLI 二进制文件在 npm install 期间从标记的 GitHub 发布下载，确保了固定的和受信任的来源。",{"category":236,"check":237,"severity":59,"summary":238},"Installation","Clean uninstall","通过 npm 进行安装应该允许干净卸载，并且 CLI 工具本身不会启动持久的后台守护进程。",1778696922680,"这是一个 CLI 工具，通过 Playwright 支持的沙盒 JavaScript 脚本实现浏览器自动化。它允许用户控制浏览器、导航页面、与元素交互并截屏，并具有持久页面状态和自动连接到运行中浏览器的功能。",[242,243,244,245,246],"沙盒 JavaScript 执行","持久的页面状态","Playwright API 集成","自动连接到运行中的浏览器","用于脚本编写的 CLI 界面",[248,249,250],"直接操作主机文件系统（临时存储除外）","在沙盒 JavaScript 环境之外执行任意 shell 命令","作为不执行脚本的通用浏览器控制器","为 AI 代理和开发者提供一个强大、安全且易于使用的工具，用于自动化浏览器交互和提取 Web 数据。","该扩展文档齐全、安全且已为生产做好准备。唯一的小缺点是 CLI 的性质意味着某些特定于插件的检查不适用。",96,"一个强大且安全的 CLI 工具，用于使用 Playwright 进行浏览器自动化，适用于 AI 代理和开发者。",[29,30,31,256,32],"cli",[258,259,260,261],"自动化网页表单提交","从网站抓取数据","自动化基于浏览器的测试工作流","为 AI 代理控制浏览器导航和交互",{"codeQuality":263,"collectedAt":265,"documentation":266,"maintenance":269,"popularity":275,"security":277,"testCoverage":280},{"hasLockfile":264},true,1778696908246,{"descriptionLength":267,"readmeSize":268},80,5844,{"closedIssues90d":270,"forks":271,"hasChangelog":264,"openIssues90d":272,"pushedAt":273,"stars":274},21,390,3,1775769524000,6092,{"npmDownloads":276},11418,{"hasNpmPackage":264,"license":278,"smitheryVerified":279},"MIT",false,{"hasCi":264,"hasTests":264},{"updatedAt":282},1778696989962,{"basePath":284,"githubOwner":20,"githubRepo":16,"locale":21,"slug":16,"type":285},"","plugin",{"_creationTime":287,"_id":288,"community":289,"display":290,"identity":294,"parentExtension":297,"providers":298,"relations":309,"tags":310,"workflow":311},1778696896101.4377,"k17c9wx6b28kd427pnqy7v8z5h86mcpj",{"reviewCount":11},{"description":291,"installMethods":292,"name":293,"sourceUrl":17},"Marketplace for the dev-browser skill",{"claudeCode":15},"dev-browser-marketplace",{"basePath":284,"githubOwner":20,"githubRepo":16,"locale":295,"slug":16,"type":296},"en","marketplace",null,{"evaluate":299,"extract":304},{"promptVersionExtension":300,"promptVersionScoring":26,"score":301,"tags":302,"targetMarket":34,"tier":35},"3.1.0",95,[296,16,303],"curation",{"commitSha":37,"marketplace":305,"plugin":307},{"name":293,"pluginCount":306},1,{"mcpCount":11,"provider":308,"skillCount":11},"classify",{"repoId":40},[303,16,296],{"evaluatedAt":312,"extractAt":45,"updatedAt":313},1778696907941,1778697008806,{"evaluate":315,"extract":317},{"promptVersionExtension":25,"promptVersionScoring":26,"score":253,"tags":316,"targetMarket":34,"tier":35},[29,30,31,256,32],{"commitSha":37,"plugin":318},{"mcpCount":11,"provider":308,"skillCount":306},{"parentExtensionId":288,"repoId":40,"translatedFrom":39},{"_creationTime":321,"_id":40,"identity":322,"providers":323,"workflow":385},1778696889350.659,{"githubOwner":20,"githubRepo":16,"sourceUrl":17},{"classify":324,"discover":375,"extract":378,"github":379,"npm":384},{"commitSha":37,"extensions":325},[326,339,349,356,367],{"basePath":284,"description":291,"displayName":293,"installMethods":327,"rationale":328,"selectedPaths":329,"source":338,"sourceLanguage":295,"type":296},{"claudeCode":15},"marketplace.json at .claude-plugin/marketplace.json",[330,333,335],{"path":331,"priority":332},".claude-plugin/marketplace.json","mandatory",{"path":334,"priority":332},"README.md",{"path":336,"priority":337},"LICENSE","high","rule",{"basePath":284,"description":340,"displayName":16,"installMethods":341,"rationale":342,"selectedPaths":343,"source":338,"sourceLanguage":295,"type":285},"Browser automation skill with persistent page state for developers and AI agents",{"claudeCode":16},"inline plugin source from marketplace.json at /",[344,345,346],{"path":334,"priority":332},{"path":336,"priority":337},{"path":347,"priority":348},"bin/dev-browser.js","low",{"basePath":19,"description":350,"displayName":16,"installMethods":351,"rationale":352,"selectedPaths":353,"source":338,"sourceLanguage":295,"type":22},"Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include \"go to [url]\", \"click on\", \"fill out the form\", \"take a screenshot\", \"scrape\", \"automate\", \"test the website\", \"log into\", or any browser interaction request.",{"claudeCode":15},"SKILL.md frontmatter at skills/dev-browser/SKILL.md",[354],{"path":355,"priority":332},"SKILL.md",{"basePath":284,"description":357,"displayName":16,"installMethods":358,"license":278,"rationale":359,"selectedPaths":360,"source":338,"sourceLanguage":295,"type":256},"CLI for controlling browsers with sandboxed JavaScript scripts",{"npm":16},"cli ecosystem detected at /",[361,363,364,365],{"path":362,"priority":332},"package.json",{"path":334,"priority":332},{"path":336,"priority":337},{"path":347,"priority":366},"medium",{"basePath":256,"installMethods":368,"rationale":369,"selectedPaths":370,"source":338,"sourceLanguage":295,"type":256},{"cargo":16},"cli ecosystem detected at cli",[371,373],{"path":372,"priority":332},"Cargo.toml",{"path":374,"priority":366},"src/main.rs",{"sources":376},[377],"manual",{"npmPackage":16},{"closedIssues90d":270,"description":380,"forks":271,"license":278,"openIssues90d":272,"pushedAt":273,"readmeSize":268,"stars":274,"topics":381},"A Claude Skill to give your agent the ability to use a web browser",[382,30,383],"claude-code","skills",{"downloads":276},{"classifiedAt":386,"discoverAt":387,"extractAt":388,"githubAt":388,"npmAt":389,"updatedAt":386},1778696895921,1778696889350,1778696891723,1778696894159,[29,256,31,30,32],{"evaluatedAt":392,"extractAt":45,"updatedAt":282},1778696922889,[],[395,425],{"_creationTime":396,"_id":397,"community":398,"display":399,"identity":404,"providers":407,"relations":416,"tags":420,"workflow":421},1778685915634.952,"k178sazsw9mc93tarpmxx6wwf586ncry",{"reviewCount":11},{"description":400,"installMethods":401,"name":402,"sourceUrl":403},"创建、更新和修复 Cypress 测试。连接到 Cypress Cloud 以查看测试结果并利用数据来管理您的测试套件。",{"claudeCode":402},"cypress","https://github.com/cypress-io/ai-toolkit",{"basePath":284,"githubOwner":405,"githubRepo":406,"locale":21,"slug":406,"type":285},"cypress-io","ai-toolkit",{"evaluate":408,"extract":414},{"promptVersionExtension":25,"promptVersionScoring":26,"score":409,"tags":410,"targetMarket":34,"tier":35},100,[402,32,411,412,413],"automation","ai","qa",{"commitSha":37,"license":278,"plugin":415},{"mcpCount":11,"provider":308,"skillCount":272},{"parentExtensionId":417,"repoId":418,"translatedFrom":419},"k170k28hx0d93ds1md7v66h33986nap6","kd778b5hp7aqcpb58zn9yj8xas86meqd","k17a80t18qpe9tmapz3fnw597986mpsy",[412,411,402,413,32],{"evaluatedAt":422,"extractAt":423,"updatedAt":424},1778685834132,1778685765056,1778685915635,{"_creationTime":426,"_id":427,"community":428,"display":429,"identity":434,"providers":438,"relations":446,"tags":449,"workflow":450},1778675056600.2056,"k17ecb0pt8ntj8dbttr3x3frxs86mwdd",{"reviewCount":11},{"description":430,"installMethods":431,"name":432,"sourceUrl":433},"Create polished demo videos from screenshots and scene descriptions. Orchestrates playwright, ffmpeg, and edge-tts to produce product walkthroughs, feature showcases, and marketing teasers with story structure, scene design system, and narration guidance.",{"claudeCode":432},"demo-video","https://github.com/alirezarezvani/claude-skills",{"basePath":435,"githubOwner":436,"githubRepo":437,"locale":295,"slug":432,"type":285},"engineering/demo-video","alirezarezvani","claude-skills",{"evaluate":439,"extract":444},{"promptVersionExtension":25,"promptVersionScoring":26,"score":27,"tags":440,"targetMarket":34,"tier":35},[441,411,30,442,443],"video-creation","ffmpeg","tts",{"commitSha":37,"license":278,"plugin":445},{"mcpCount":11,"provider":308,"skillCount":306},{"parentExtensionId":447,"repoId":448},"k17dce6sbramb6sxm7ksr3928x86ncfs","kd7ff9s1w43mfyy1n7hf87816186m6px",[411,442,30,443,441],{"evaluatedAt":451,"extractAt":452,"updatedAt":451},1778675589331,1778675056600]