browser-use/web-ui ---- VNC
browser-use/web-ui
https://github.com/browser-use/web-ui
This project builds upon the foundation of the browser-use, which is designed to make websites accessible for AI agents.
We would like to officially thank WarmShao for his contribution to this project.
WebUI: is built on Gradio and supports a most of
browser-use
functionalities. This UI is designed to be user-friendly and enables easy interaction with the browser agent.Expanded LLM Support: We've integrated support for various Large Language Models (LLMs), including: Gemini, OpenAI, Azure OpenAI, Anthropic, DeepSeek, Ollama etc. And we plan to add support for even more models in the future.
Custom Browser Support: You can use your own browser with our tool, eliminating the need to re-login to sites or deal with other authentication challenges. This feature also supports high-definition screen recording.
Persistent Browser Sessions: You can choose to keep the browser window open between AI tasks, allowing you to see the complete history and state of AI interactions.
bu-webui-demo.mp4
其中第二种安装方式, 以docker方式安装, 会打开两个服务页面, 一个agent交互页面, 另外一个 VNC 浏览器模拟页面。
agent交互页面下达指令, VNC页面上展示执行过程。
Prerequisites:
- Docker and Docker Compose installed on your system
- Git to clone the repository
Setup:
# Clone the repository git clone https://github.com/browser-use/web-ui.git cd web-ui # Copy and configure environment variables cp .env.example .env # Edit .env with your preferred text editor and add your API keys
Run with Docker:
# Build and start the container with default settings (browser closes after AI tasks) docker compose up --build # Or run with persistent browser (browser stays open between AI tasks) CHROME_PERSISTENT_SESSION=true docker compose up --build
Access the Application:
- WebUI:
http://localhost:7788
- VNC Viewer (to see browser interactions):
http://localhost:6080/vnc.html
Default VNC password is "vncpassword". You can change it by setting the
VNC_PASSWORD
environment variable in your.env
file.
VNC
https://zh.wikipedia.org/zh-cn/VNC
VNC(Virtual Network Computing),为一种使用RFB协议的屏幕画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的屏幕画面。
VNC与操作系统无关,因此可跨平台使用,例如可用Windows连线到某Linux的电脑,反之亦同。甚至在没有安装客户端程序的电脑中,只要有支持JAVA的浏览器,也可使用。
简史
VNC由Olivetti & Oracle研究室所开发,此研究室在1999年并入美国电话电报公司(AT&T)。AT&T于2002年中止了此研究室的运作,并把VNC以GPL发布。
因为它是免费的,以及可用于数量庞大的不同操作系统,它的简单,可靠,和向后兼容性,使之进化成为最为广泛使用的远程控制软件,多平台的支持对网络管理员是十分重要的,这使得网络管理员可以使用一种工具管理几乎所有系统。
原来的AT&T版本已经不再使用,因为更多有重大改善的分支版本已经出现,像是RealVNC,VNC tight和UltraVNC,他们具有全面的向后兼容。至少对于基本的远程控制功能而言。Real VNC是当前最活跃和强大的主流应用。
VNC对于简单的远程控制几乎完美,但是缺少对于大机构的桌面帮助功能,主要是日志记录和安全功能没有足以达到此目的。VNC为远程工作人员或受客户机也没有做好准备,因为目前还没有支持远程应用程序的本地打印。
因为VNC本来是开发用在局域网的环境,因此用在互联网上存在安全问题,当您计划在远程位置访问远程PC,你应该考虑一个专用的调制解调器或ISDN的拨号连接,VPN隧道,所有使用SSL或包裹VNC通信。
VNC软件
由于VNC以GPL授权,派生出了几个VNC软件:
- RealVNC:由VNC团队部分成员开发,分为全功能商业版及免费版。
- TightVNC:强调节省带宽使用。开源软件,但没有GitHub仓库。
- TigerVNC:开源软件,作为 TightVNC 的一个分支开始。客户端支持 Windows、Linux 和 macOS。服务器支持 Linux。
- UltraVNC:加入了TightVNC的部分程序及加强性能的图型映射驱动程序,并结合Active Directory及NTLM的账号密码认证,但仅有Windows版本。
- Vine Viewer:MacOSX的VNC客户端。
- x11vnc:构建于X窗口系统之上。
这些软件各有所长,例如UltraVNC支持文件传输以及全屏模式。而这些软件间大多遵循基本的VNC协议,因此大多可互通使用。
另见
外部链接
维基教科书中的相关电子教程:Internet Technologies/VNC
其它协议
https://www.d1net.com/datacenter/virtual/520302.html
在国际上,桌面虚拟化市场厂商主要有Citrix(思杰,占46%市场份额)、Vmware(占18%)、微软、Dell。有人这么比喻这几大厂商的桌面虚拟化软件产品:Citrix就是手机中的iphone,即使使用较低的配置也不卡;Vmware就像Google的手机Nexus,微软就像Windows phone,是鸡肋。一看这个比喻,大家就大致清楚他们的差别,但这仅是在桌面虚拟化局部战场的情况(注:但这个比喻只能代表一时,风云变幻),如果换到服务器虚拟化,那还是Vmware说了算,微软排第二。
桌面虚拟化实际应用
桌面虚拟化的核心技术是桌面传输协议,即用于服务器与终端之间传输图形、音频、视频、输入信息设备、外设的通信协议。当前主流的桌面传输协议共有四种,都是基于TCP或UDP协议:
1、ICA:ICA协议属于Citrix,它的英文全称是Independent Computing Architecture。
Citrix在1989年成立时,就一直拥有这个当前仍然保密的协议。可以想象,当Linux和Java语言还没有出世时,Citrix就开始开发虚拟化软件,ICA的稳定可靠性确有其因。ICA协议是基于TCP/IP,与平台无关(Windows、Linux甚至是DOS都可运行),共定义了32个虚拟通道(虚拟通道可以简单理解为缓存,类似于USB的端点),其中16个是系统通道,用于传输视频、音频、剪贴板、磁盘、打印和外设,还有16个客户自定义通道,像我们有的高拍仪等外设产品就可以用这些通道。ICA最大的特点是远程图像传输采用的是矢量数据处理方式,即把图形数据分为位图、文字、图形命令,再通过压缩算法传输至终端,再渲染显示,因此ICA对于带宽会相对较低。
2、PCoIP:PCoIP是Vmware的。
事实上这个协议并不是Vmware的,而是Vmware在2009年从一家小公司Teradici租用过来的,该协议原本只是为硬件图形加速而设计。PCoIP采用的是UDP协议,但由于传输的是位图数据,体验仍然不如基于TCP协议的ICA,甚至它也不支持外设重定向。Vmware告诉客户的做法是,如果发现使用PCoIP不能使用的功能,请切换成RDP。为了摆脱这种尴尬的局部,Vmware正在研发自己的Blast协议。
桌面虚拟化实际应用
3、RDP:RDP英方全称是Remote Desktop Protocol 。
是微软公司操作系统标配的软件,RDP传输的也是位图数据,只是经过压缩,因此也需要较大的带宽。微软本来有能力把RDP做得相关完善,但微软一直不待见RDP。从RDP协议7版本之后,微软终于实现了RemoteFx技术,不仅实现了USB设备映射,也实现多媒体播放重定向(说白了,就是把码流压缩了,传到终端上,然后用终端的CPU来解码播放)。微软看到vmware和citrix的势头,开始行动了,结果一下子在服务器虚拟化的魔鬼象限中就排名第2了。
4、SPICE:是一个开源协议,英文全称是Simple Protocol for Independent Computing Environment。
该协议是Redhat(红帽)公司研发的。该协议来源是由Qumranet公司开发的一款开源网络协议。它是基于TCP/IP协议,能根据终端的性能来决定是像ICA一样发送图形命令,还是像PCoIP一样由服务器主机处理图像。但该协议性能较差,也必须用KVM作为核心基础组件。该协议在四大协议中,性能应该是最差的一个。
桌面虚拟化实际应用
目前情况:
那华为的HDP协议呢?华为HDP协议其实是基于ICA的定制,因为华为Fusion Access的核心虚拟化控制器组件仍然采用的是Citrix的。
那国内很多桌面虚拟化小厂商呢?要么是服务器基于KVM,直接采用SPICE协议,要么就是服务器基于Zen,直接拿微软RDP协议,也有用VNC的。
未来趋势:
从整体趋势来看,ICA短期内不管是体验上,还是稳定性上,仍然是市场占用率第一,但微软RDP上升较快,只要微软继续发力,有望超越ICA,而华为也开始从2014年被列入了虚拟化魔鬼象限中,它基于ICA和狼群作战方式,也许未来会持续上升。
VDI
https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-virtual-desktop-infrastructure-vdi/?msockid=1fcc84018078620a2fef90e2813b6369
What is virtualization?
In cloud computing, the process of separating software (such as an operating system or an application) from the hardware that it runs on is called virtualization. This frees the software from needing to be run on a specific device—and allows it to be run on any device. For most people, the most familiar usage of virtualization is when they access a remote version of their work desktop on a personal device, but IT professionals also use it for virtual computers, virtual applications, storage, networks, and servers. Virtualization has been around for years but is enjoying a boom due to the worldwide demand for IT infrastructure with virtualization solutions to enable highly secure remote work from anywhere in the world.
So, virtualization is the process—and the "machines" created using this process are called virtual machines, or just VMs for short. While the hardware that makes up your computer is physical and tangible, VMs are virtual computers that exist as code and whose "hardware" (CPU, hard drive, RAM, etc.) are defined using software. VMs can be used for a myriad of applications—they're especially useful for running the virtual desktop environments that are becoming the norm in our rapidly evolving modern workplace.
To be clear, the hardware behind VMs is very real! It's just that while a traditional computer has its own dedicated hardware, a VM is partitioned portions of a real physical server's resources so that multiple, independent VMs can share the same physical hardware. This process is also known as server virtualization and uses a nifty technology called a hypervisor, which is software that integrates the physical hardware and the VM's virtual "hardware". This allows IT pros to set up and manage VMs and allows VMs running different operating systems (such as Windows or Linux, to name a few) to run on the same hardware.
What is virtual desktop infrastructure?
Virtual desktop infrastructure, often shortened to just VDI, is IT infrastructure that lets you access enterprise computer systems from almost any device (such as your personal computer, smartphone, or tablet), eliminating the need for your company to provide you with—and manage, repair, and replace—a physical machine. Authorized users can access the same company servers, files, apps, and services from any approved device through a secure desktop client or browser.
VDI lets you run traditional desktop workloads on centralized servers and has become the standard in business settings to support remote and branch office workers and provide access to contractors and partners. VDI helps protect sensitive company apps and data (which can themselves be run from highly secure datacenters), allowing users to use their own devices without worrying about mixing personal data with corporate assets.
There are multiple ways to deliver virtual desktops and apps to users—virtual desktop infrastructure to be sure but additionally other flavors of VDI such as desktop as a service (DaaS) and even personalized Cloud PCs. These services have become increasingly popular for a variety of reasons—including improved security, performance, centralization, lower hardware requirements, and cost savings—not to mention enabling employees to do their jobs from anywhere in the world.
远程桌面软件大比拼
https://zhuanlan.zhihu.com/p/592046474
Windows自带远程桌面(RDP):没啥功能,方便快捷高效,广域网需要公共IP+暴露端口,风险系数高,建议搭配VPN或者
- 使用。
- RealVNC:免费,限制少,可以连苹果自带,速度也不错。缺点是功能少,手机上体验不佳。
- 放大后鼠标偏移,
- 不支持双屏幕切换,而是靠边移动,特烦人。
- 不支持声音设置
- 苹果自带远程桌面(ARD):同上
- Teamviewer(VNC):免费版限制2台广域设备,功能齐全,可免安装使用。局域网需要手动设置。
- 服务器检测你是不是在搞商业
- 经常出现版本不兼容问题。
- 安卓丢失鼠标中键
- AnyDesk(VNC):免费版限制3台绑定设备+100台无人值守
- ,功能不少,而且UI也挺讨喜的,可免安装使用。
- 总是连不上
- 投影+鼠标控制时没右键
- 支持局域网吗?没找到这功能
- Splashtop(VNC?):局域网挺快的,广域网
- 要收费咱也没用过,功能齐全。缺点是非要登录才能用,然后经常登不上。
- RustDesk(RDP):开源免费,可免安装使用,可自建服务器,免注册免登录,功能该有的都有,缺点和RDP一样,公共服务器只能救急用。
https://www.zhihu.com/question/275551682
远程桌面,我一直用的是Windows自带的mstsc微软远程桌面,搭配cpolar内网穿透来实现,不需要另外安装第三方远程桌面软件
。
- 延迟低
- 画质清晰
- 无需公网IP
- 微软自带,免安装
- 远程控制能力强、速度快、稳定
不论是在同个局域网下还是不同局域网下,都可以完美解决远程桌面的问题
1、 在同个局域网下远程,用被控端电脑的IP地址以及账号密码就可以
- 查找被控端电脑的IP地址【开始——输入‘cmd’打开‘命令提示符
- ’——输入‘ipconfig/all’——查询自己的电脑IP地址】
- 控制端电脑打开“远程桌面连接
- ”客户端
- 【开始——输入“mstsc”——打开远程桌面连接客户端】
- 输入被控端电脑的IP地址,以及账号密码,远程控制电脑
2、在不同局域网内远程,做内网穿透映射3389端口到公网
这里使用cpolar内网穿透,支持免费使用,会默认安装远程桌面隧道,指向3389端口,tcp协议,只需要安装并启动远程桌面隧道就可以实现任意地点远程桌面。
- 被控端电脑注册并安装cpolar客户端
- 浏览器访问http://localhost:9200/
- 登录cpolar web UI界面,启动远程桌面隧道
- 在“状态”“在线隧道列表”查看远程桌面的公网地址
- 控制端电脑使用所获取的远程桌面公网地址,账号密码,打开“远程桌面连接”,就可以实现远程控制