GUI harness [视频]

Reddit r/LocalLLaMA 工具

摘要

一个研究项目,展示了一个 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 故障)。等待代理完成目前是最大的用户体验问题,我正在通过改进上下文工程来解决。 随时提问。
查看原文

相似文章