TL;DR
- CLI是一个基于文本的合同,用于通过命令、参数、选项、输入流、输出流和退出状态调用软件。
- AI代理更喜欢CLI,因为命令可发现、可组合、可重放、可观察,并且比鼠标和屏幕工作流程更容易限制。
- 当CLI支持非交互执行、稳定的机器可读输出、有意义的退出代码、有限的权限和确定性的帮助文本时,它才对代理友好。
- CLI、终端、shell、API和SDK相关但不同:终端显示会话,shell解释命令,而CLI是程序公开的接口。
- Nstproxy Crawl适合CLI驱动的代理管道,当代理有公共URL并需要呈现的结构化Web内容而不操作自己的浏览器和爬虫时。
什么是CLI?
命令行界面,或CLI,是一种基于文本的接口,允许个人或程序通过提供命令以及参数和选项来调用软件。输入可以在终端中输入,从脚本中读取,或由另一个进程直接启动。程序返回输出、诊断信息和退出状态,告诉调用者操作是否成功完成。
最后这一细节使“CLI”的含义超出了一个黑色窗口加文本的范畴。一个有用的CLI在进程边界上暴露出稳定的协议。POSIX shell命令语言规定了如何通过退出状态搜索、调用、重定向和评估命令。这些规则允许一个命令为另一个命令提供输入、CI运行器检测故障,或代理在不读取像素的情况下检查结果。
同样的模型适用于远程服务。代理可以调用curl作为HTTP API的CLI客户端,然后用另一个工具解析响应。例如, Nstproxy Crawl可以在该命令边界后面运行,当工作流需要将公共URL转换为结构化的、适合LLM的内容时。
CLI是如何工作的?
CLI通过将一行文本转换为具有定义输入和输出的进程调用来工作。考虑形状tool action --format json target:tool选择可执行文件,action选择子命令,--format json改变行为,而target是一个操作数。shell可能在程序开始之前扩展变量或通配符,并连接流。
| CLI元素 | 调用者控制的内容 | AI代理为什么关心 |
|---|---|---|
| 可执行文件 | 运行哪个程序 | 允许列表可以授权一个工具而不授予整个桌面 |
| 子命令 | 运行哪个操作 | 代理可以选择一个狭窄的动词,如status、diff或crawl |
| 参数和标志 | 输入、范围和模式 |



