浮之静

Noi 设计理念 & 功能前瞻

本计划这个月底发布新版 Noi 的,我也在努力做最后的收尾工作。但今天 Noi 迈出了重大一步,也是我一直在心心念的功能(Terminal)。有点小激动,就想先写篇文章预热下。

其实做 Noi 的想法诞生于我在 2022 年 12 月 7 号给 ChatGPT 发布了一个套壳应用之后。在 2023 年 Noi 就发布过几个版本,到 0.4.0 版本后,我有一年半多再未迭代过版本。这并不意味着我放弃了 Noi 的开发工作,而是在重写酝酿一个更大的版本(很高兴,它即将和大家见面)。关于我和 ChatGPT、Noi 的故事,可以看之前的这些文章,如果有老粉,应该早就发现了,我一直在关注 AI 领域,并持续输出一些技术性思考(这些思考不是单纯服务于文章的,也是对 Noi 的架构的不断思考):

在 Noi 里做 Prompt 管理,本质上不是“做个更好看的输入框”,而是承认一个现实:你和 AI 的每一次对话,几乎都由 Prompt 触发。你输入的任何东西,区别只在于——它是不是高频、是不是可复用、是不是有技巧。于是围绕 Prompt 自然长出了几条“必须要有”的能力:输入日志(避免网络抖动把话吞掉)、Prompt 版本(微调、回溯、复盘)、统一分发(一次输入,多处批量提问)。Prompt 管理并不是一个功能点,它更像 Noi 的“指令系统”。

Image

也正因为把 Prompt 当成指令系统,底部 View 的定位就被彻底改写了:它不是“一个额外的面板”,而是 Noi 的操作中枢。今天它可以是 Prompt 管理中心,明天可以放 HTML 解析、结构化抽取、页面片段转写,后天则应该容纳一个更硬核、也更接近“操作系统层”的东西:Terminal。

Image

Terminal 的意义不在于“我也有一个终端”,而在于它把 Noi 从“对话驱动”推到“执行驱动”(也是未来 AI Agent 浏览器的底层能力支持)。Prompt 负责表达意图,Terminal 负责把意图落地成可验证的结果:构建、运行、抓包、拉取仓库、启动服务、执行脚本、查看日志、查端口、跑测试、连接远程机器。你会发现它和 Prompt 管理是同一条逻辑链上的上下游——Prompt 像 command,Terminal 像 runtime:前者让表达可复用,后者让动作可复现。更进一步,我甚至可以将这些能力通过 API 形式挂载到浏览器 window 对象下,这样便让任何一个网页都拥有了这些系统能力(安全操作隔离将是重点思考的点)。

更关键的是,Terminal 天生自带“历史与版本观”。shell history 就是最原始的日志系统;命令片段天然可复制、可参数化、可组合;管道把输出变成输入,让“批量分发”不止停留在问答层面,而是能接到真实的工具链上。我一直在强调的 Prompt 管理能力——记录、防丢、回溯、复用、批处理——在 Terminal 世界里几乎是默认语法。把 Terminal 放进 Noi,不是引入一个新模块,而是给已有的 “Prompt 体系”补上了一个更强的执行底座,而且还不仅限于此(为 AI Agent 演化做铺垫)。

这也可以解释为什么“我一直说浏览器是 AI 最佳容器载体”:它是多模态入口,是用户交互的主界面,也是连接系统调用的桥。Terminal 则是这座桥的“钢梁”——把网页里看到的、AI 里说的、你想做的,直接接到真实环境里去。你不再需要在浏览器、IDE、终端之间来回跳转:页面是上下文,Prompt 是意图,Terminal 是行动,日志是证据,版本是可控的演进。

所以 Noi 的方向不是把自己伪装成一个 IDE,而是以浏览器为核心,长出 IDE 的必要器官。UI 当然重要,但它更多是“手感”和“气质”;系统核心永远是模块之间的关系:输入如何变成可复用的指令,指令如何变成可重复的执行,执行如何留下可追溯的痕迹。Terminal 正是 Noi 从“浏览器”迈向“浏览器 IDE 化”的第一步——不是装饰性的那一步,而是架构意义上的那一步。


以下是一些截图预览:

Image
Image
Image
Image
Image
Image

还有一些早期开发视频预览: