开发者生态
morning
Prospero:面向更文明时代的新编码工具
摘要
October 31, 2026 nullprogram.com/blog/2026/10/31/ I’ve been fascinated with local LLMs for a couple of years now. The better open weight models, including some that inference on regular, higher-end co...
with
the
harness
coding
and
Prospero
their
that
are
built
2026-11-01
1 阅读
约7分钟阅读
fovc
字号:
2026 年 10 月 31 日 nullprogram.com/blog/2026/10/31/ 几年来,我一直对当地的法学硕士着迷。更好的开放权重模型,包括一些以可容忍的速度对常规高端消费硬件进行推理的模型,现在足够可靠,可以处理更简单的编程任务。这需要编码线束,但今年到目前为止,我对所有线束产品都感到失望。由于莫名其妙的原因,大多数都是使用 Web 堆栈构建的,并且消耗大量内存。编码工具的核心本质上是与 popen() 粘合的 curly 。这不需要千兆字节的 RAM。所以我建立了自己的:Prospero。它是用我的 C++ 风格编写的,带有一个活泼的 Dear ImGui 对接界面。与其他线束相比,它使用的资源大约减少两个数量级,而不会牺牲功能。暗模式爱好者也包括在内:请注意,Prospero 没有内置模型提供程序。您需要自己提供这些信息,例如 llama.cpp、工作场所本地模型、OpenRouter、Anthropic API、OpenAI API 等。(您不能使用您的 Claude 订阅。)对于那些不熟悉编码工具的人:在聊天界面中,您和 AI 轮流互相编写消息。编码工具扩展了这一概念,允许人工智能与工具提供的工具“对话”。工具用它们的输出来“回复”。工具可以读取或写入文件,或者运行 shell 命令。人工智能将自行从一个工具调用到另一个工具调用,并循环结果。这样的人工智能称为代理。有时AI会向你发送消息,告知你进展情况或提出问题,聊天界面仍然存在。包括 Prospero 在内的一些工具允许代理生成子代理来执行其命令、并行工作或保持上下文干净。也就是说,不要用子任务填充他们的工作记忆。代理可以互相发送消息并协调任务。如果通过 SSH 访问另一台计算机或通过普通的 WSL,Prospero 可以将自身的无头副本部署到其他主机,以便代理可以在这些系统上运行。专业版嵌入了适用于 macOS、Windows 和 Linux 上的 x86/x86-64 和 ARM64 组合的引擎。 Windows x86 引擎甚至可以在 Windows XP 上运行,如果您要求的话,还可以玩纸牌游戏和扫雷游戏。最后是因为 Prospero 是少数具有桌面控制功能的安全带之一。如果您的模型支持视觉(任何值得使用的模型都支持视觉),那么它就可以“看到”您的桌面并与其交互。它可以通过单击、键入和拖动来实时测试和调试 GUI 应用程序,而无需专门的每个应用程序 MCP 协助。这种无头引擎是不需要 TUI 的原因。线束引擎在无头系统上运行,UI 在台式机或笔记本电脑上运行。通过一些额外的设置,该线束可以完全独立于 GUI 运行,这样它就可以在不连接 GUI 系统的情况下继续运行 - 稍后可以重新连接。由于 Prospero 非常精简,因此它可能是唯一可以驱动模糊测试活动的工具,特别是在无头系统上,而无需 Linux OOM 杀手针对内存吞噬工具,而不是触发它的失控模糊目标。很多次我在几个小时后重新检查模糊活动,发现没有完成任何事情,因为利用过程已经消失了。 (为什么要让代理运行模糊活动?因为它可以即时修复发现的错误并让活动继续进行!这是显而易见的。) 配置 配置位于 ~/.config/prospero/prospero.ini 。易于编辑。没有 JSON,谢天谢地。将其检查到源代码管理中,然后复制粘贴。所有通常的好处。或者,“设置”页面可以从 GUI 访问每个设置,因此您不必手动编辑 INI。 INI 文件还可以相互包含,不仅命名文件系统路径,还可以命名 URL: include = https://example.com/prospero.ini 这个想法是允许实时共享或托管配置。 URL 包含的内容受到限制,并且对 shell 命令中可能出现的任何内容都有严格的规则。仍然需要一定的信任,因为配置可以通过将环境变量用作 API 密钥并提供它控制的端点来提取环境变量。 Prospero 从端点获取模型列表和其他参数(例如上下文大小),但您可能想要调整它。典型的配置可能如下所示: model = falstaff/Qwen3.8-27B [endpoint falstaff] url = http://falstaff.local/ key = env:FALSTAFF_API_KEY [model Qwen3.8-27B] edit_format = Replace template.reasoning_effort =medium [model Qwen3.8-27B-xhigh] like = Qwen3.8-27B template.reasoning_effort = xhigh [web] search = searxng url = https://search.example.com/ key = env:EXAMPLE_API_KEY 被动渲染 ImGui 范例通常使用主动渲染,像视频游戏一样在 vsync 上重绘。这在某些情况下是合适的,例如视频游戏中的界面。对于大多数静态的面向文本的 UI(例如编码工具)来说,情况就不那么严重了。相反,Prospero 使用被动渲染和稳定帧来实现
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱