GUI harness [视频]
摘要
一个研究项目,展示了一个 GUI harness,允许用户或 LLM 使用简单的矢量图形函数构建复杂应用程序,具有集成代码执行、历史记录管理以及支持多种开放权重 LLM。
嗨,这是我正在研究的项目。我必须说,构建一个 GUI harness 比我想象的要复杂得多。目标是类似 Minecraft 的东西。你知道,用户或 LLM 可以使用几个简单的工具来构建大型和复杂的世界(即用例)。此外,我想构建一个将所有软件放在一个地方(独立于云)并超越聊天界面的东西。
几点说明:
#易于运行:
- 只需下载单个 exe 文件并双击即可。无需安装、docker 等。
- 用 go-lang 编写。
- CPU 版本(未编译 CUDA)文件大小约 40MB。
- 70-100MB 内存使用。当然,在 LLM 启动之前。
- 它不使用网络浏览器。它有自己的文本和布局引擎,从零开始构建——基本上是花哨的 SVG。
- 所有内容都编译成一个 bin 文件,包括:
- 代码解释器
- llama.cpp
- whisper.cpp
- omnivoice.cpp
- 等等
#GUI:
- 用户与之对话,LLM 生成代码,执行后输出矢量组件(有点像 .SVG)。
- 代码只能使用 7 个简单的矢量图形函数(矩形、圆形、线条、图像、文本、列表、Div)。每个函数有几个参数。
- 一切都由它们构成——按钮、滑块、颜色选择器、日历等。它完全可破解。用户甚至可以创建前所未见的 GUI 组件。
- 换句话说:屏幕上的每个(!)像素都是矢量图形,由 LLM 生成的代码输出。
#存储:
- 从零开始构建(无操作系统文件和文件夹)。
- 它记录每一次更改!撤销你的错误。撤销 LLM 的错误。
- 它最初是一个无聊的功能,但我很快意识到我使用后退按钮的频率。它将用户体验提升到另一个水平。
- 你不必保留完整历史,只需保留最近一小时、一天或一周。
- 换句话说:如果你点击了某事并后悔,或者代理失控,你可以轻松绕过该操作,就像它从未发生过。
#LLMs:
- 测试 gemma-31b@fp8、Qwen-27b@fp8 和 DeepSeek-V4-flash@fp8。我希望很快就能实现低于 20B 的模型。
- 开放权重模型的一大优势是它们展示推理过程,这在很多情况下帮助我暴露上下文中的“错误”。
- 上下文工程可能只完成了 50%。需要许多改进。
- 可选地,它可以使用 OpenRouter 中的模型来测试 SOTA 模型。
#Brush:
- 布局非常极简。例如,屏幕左侧导航没有删除或重命名按钮。
- Brush 是通信的非语言部分。
- 按住 CTRL 键并用鼠标/触摸板绘制。
- 你可以选择 Div(布局的一部分)或在 Div 上选择网格。
- 代理看不到屏幕,它编辑代码和知识库。换句话说:极简主义对用户体验很棒,执行第二级功能通过指向屏幕部分并交谈来完成。
查看视频。这只是开始。大量内容需要改进,包括我的演示技巧。总的来说,它是稳定的(没有 AI 故障)。等待代理完成目前是最大的用户体验问题,我正在通过改进上下文工程来解决。
随时提问。
相似文章
Show HN: Juggler – 一个开源GUI代码智能体,由JUCE的创建者开发
Juggler是一个开源GUI代码智能体,提供了一个可视化工作台,用于与LLM交互以编辑代码,具有可检查的工具调用、分支线程和可编辑上下文。它可以在本地或远程运行,并支持多种模型。
Show-Harness:仅凭VLM代理即可控制机器人
Show-Harness是一种方法,它使视觉语言模型能够通过离散的语义动作来控制机器人,实现零样本部署和跨不同机器人与GUI的高效微调。
迈向万能工具:设计直观、透明且精简的LLM控制框架
本文探讨了设计LLM控制框架的原则,旨在使其直观、透明且精简,借鉴Unix哲学以减少认知负荷并提高可靠性。
@browser_use: MacOS Harness 使LLMs能够用几百行代码控制你的Mac。
MacOS Harness 是一个Python工具,它使LLMs能够通过辅助功能和脚本控制Mac系统,以最少的代码提供完全控制。
Koder:基于浏览器界面的编码和计算机使用工具
发布Koder,一个本地/离线的AI编码和计算机使用工具,具有浏览器界面,支持llama.cpp、MCP、视觉模型和多任务规划。