最近在 GitHub 上翻到一个挺有意思的项目 NandhaKishorM/laya,名字看着挺文艺,但实际是个干实事的工具。
它到底解决什么问题?
现在很多 AI agent 做自动化时,要么只能调 API,要么得写一堆 selector 或者坐标,碰到网页改版或者桌面应用就抓瞎。laya 的思路是换一种方式:让 agent 直接用自然语言去操作浏览器和本机屏幕——就像人一样 “看” 界面、“点”按钮、“输”文字。
说白了,它想当 agent 和图形界面之间的中间层,把自然语言指令翻译成实际的鼠标键盘动作,并且能感知屏幕内容。
怎么用?
项目本身还比较早期,README 里给的示例大概是这样:
from laya import Laya
agent = Laya()
agent.do("打开浏览器,搜索 laya github")
核心 API 就是 do() 这样的自然语言调用,底层它应该做了屏幕截图、元素识别、动作规划这一套。对开发者来说,你不需要关心怎么定位 CSS selector,也不需要硬编码坐标,只要把意图说清楚就行。
我的解读
这个方向其实挺卷的,类似的东西有 browser-use、Skyvern 这些,但 laya 的亮点是同时覆盖浏览器和本机屏幕,不局限于 web。如果你的 agent 需要操作非 web 的桌面软件,或者跑在 headless 环境里需要模拟人的操作,那这个项目值得看一眼。
不过早期项目嘛,坑肯定不少,文档和示例还不够丰富,建议先 clone 下来跑跑看,别直接上生产。
技术要点
- 语言层面是 Python,安装走 pip
- 依赖屏幕捕获和 UI 自动化库,具体可以看 requirements
- 设计上把 “感知” 和“动作”解耦,方便替换不同的识别后端
如果你也在折腾 computer-use 或者 GUI agent,可以拿这个当参考实现看看,思路比代码本身更有价值。
之前用过 browser-use,web 端还行,一到桌面软件就歇菜,laya 能覆盖本机屏幕这点确实是个差异点。
把感知和动作解耦这个设计我觉得比代码本身值钱,后面换个识别后端就能玩出花来。
pip 装完先跑 README 那个搜索示例,能通就说明链路基本没问题,剩下的慢慢试。
有没有人试过在 headless 环境跑?我比较关心这个,服务器上没显示器的话截图那套还能用吗?
想问下这个在 Windows 上跑得怎么样?屏幕捕获和点击那套依赖看着有点玄,会不会卡成 PPT?
这个思路挺对我胃口的,我一直在想怎么让 agent 操作那些没有 API 的老桌面软件,laya 这种自然语言直接落的思路感觉有戏。
说实话这类工具最难的不是点按钮,是界面变了之后还能认出来,不知道它元素识别稳不稳。
名字叫 laya 我还以为是做游戏引擎那个 Laya,点进来才发现是另一个,笑死 😂
早期项目我一般先看 issue 区,哈哈,坑多不多一看就知道,别急着上生产是真的。
现在 GUI agent 是真的卷啊,隔几天就冒一个新项目,先收藏了回头对比着看看。