[browser-use-wasm] 我制作了一个在WASM中运行的零成本浏览器使用代理

Reddit r/LocalLLaMA 工具

摘要

一位开发者构建了一个完全自包含的浏览器使用代理,完全在WASM/WebGPU中运行,零服务器成本,通过自然语言提示实现完整的网页控制。

唯一的花费就是电费!我花了几个星期做了这个,因为找不到类似的东西。演示:[https://pdufour.github.io/browser-use-wasm/](https://pdufour.github.io/browser-use-wasm/) 源代码:[https://github.com/pdufour/browser-use-wasm](https://github.com/pdufour/browser-use-wasm) 我一直想做的一件事就是给我的页面添加一个小部件,让我可以像任何浏览器使用代理一样控制整个网页。关键区别在于我希望它是完全自包含的,不涉及服务器。经过几周的摸索,我有了一个相当不错的浏览器使用模型,完全通过Snapdom / WASM / WebGPU / Wllama / ShowUi-2b以及一些JS将它们整合在一起运行。**我开发的浏览器使用库可以处理所有这些:** * 在字段中输入 * 点击链接 * 多步操作(点击输入框,输入内容,点击提交按钮) - 全部来自一个提示 - 大约50%的情况下有效 * 更改下拉选项 **我学到的一些经验教训,可能对他人有所帮助:** 1. 测试是你的朋友,找到mind2web [https://github.com/OSU-NLP-Group/Mind2Web](https://github.com/OSU-NLP-Group/Mind2Web) 和MiniWob [https://github.com/Farama-Foundation/miniwob-plusplus](https://github.com/Farama-Foundation/miniwob-plusplus) 帮助我不断提高浏览器使用动作的准确性 2. 浏览器使用非常非常困难。我只支持有限的动作集,即使达到这一点也相当困难。要处理复杂的查询,你需要某种交互循环,但随后会遇到诸如确定何时结束循环等问题。 3. 准确性很重要。很长一段时间,我的点击动作会偏移几个像素,最终我追踪到问题出在snapdom库上。当点击偏移几个像素时,可能意味着点击在空白区域而不是按钮上。我很高兴这个问题已修复 - [https://github.com/zumerlab/snapdom/issues/421](https://github.com/zumerlab/snapdom/issues/421)。这段代码超级超级alpha,很多东西可能都有问题,但我想在Reddit上分享以征求反馈,看看大家有没有什么进一步开发的想法。我欢迎任何想法!
查看原文

相似文章