ed
,标准文本编辑器
为了理解 llms.txt 如何与编辑器和 IDE 协同工作,让我们看看ed
(标准文本编辑器)是如何工作的(假设它已更新以支持此提案)。在我们的示例中,我们将看到用户如何指示ed
从 fastht.ml/docs 检索 LLM 文档,然后利用这些结果编写一个简单的 FastHTML Web 应用程序。
即使您使用的是 vscode、Cursor、vim 或 Emacs 等非标准编辑器或 IDE,您的软件与/llms.txt
的交互方式也与这种通用方法类似。
$ ed
* H
我们的用户启动ed
并启用有用的错误消息(这只是为了本次演示的目的——显然,真正的ed
用户不需要“有用的错误消息”)。
* L fastht.ml/docs
Checking for /llms.txt at fastht.ml/docs...
Found /llms.txt. Parsing...
Fetching URLs from "Docs" section... Fetching URLs from "Examples" section...
Skipping "Optional" section for brevity.
Creating XML-based context for Claude... Context created and loaded.
用户调用假设的L
(加载)命令,在这个 LLM 增强版的ed
中,该命令会检索并处理llms.txt
文件。ed
会检查该文件(如果文件不存在,它将回退到传统方式抓取网站的 HTML),解析它,获取相关 URL,并创建一个适合 Claude 的基于 XML 的上下文(也许可以使用ed
的配置文件来选择使用哪个 LLM,并决定上下文的格式)。所有这些都以ed
特有的安静方式进行,只有这些令人安心的进度消息会偶尔打破沉寂。
* x Create a simple FastHTML app which outputs 'Hello, World!', in a <div>.
Analyzing context and prompt...
Generating FastHTML app...
App written to buffer.
接下来,我们的用户调用假设的x
(eXecute AI,执行 AI)命令,向 LLM 提供创建简单 FastHTML 应用程序的指令。在 LLM 增强的ed
世界里,这被理解为根据给定的提示和先前加载的上下文生成代码的请求。
* n
5
* p
from fasthtml.common import *
app,rt = fast_app()
@rt
def index(): return div("Hello, World!")
serve()
编辑器分析加载的上下文以及提供的提示,生成 FastHTML 应用程序,并将其写入缓冲区。然后,用户查看生成的应用程序的行数(n
)和内容(p
),惊叹于这 5 行代码中竟包含了如此多的功能。
*w hello_world.py
5
*q
最后,我们的用户将应用程序保存到文件并退出ed
,大概是为了运行他们新的 FastHTML 应用程序,并回味他们信赖的行编辑器带来的意想不到的生产力提升。