simonmysun/ell

A command-line interface for LLMs written in Bash.

解决的问题

ell 提供了一种直接从命令行与大语言模型 (LLM) 进行交互的轻量级、无依赖的方法。由于几乎完全使用 Bash 编写,它无需复杂的安装或沉重的运行时,从而可以轻松地将 LLM 集成到基于终端的工作流和 Shell 管道中。

工作原理

该工具充当 LLM API(如 OpenAI 和 Google Gemini)的封装器。它通过 curl 向这些服务发送提示并处理响应。它支持多种交互模式:

  • Standard Query:通过命令行发送直接提示。
  • Pipe-friendly:通过 stdin 接收来自其他终端命令的输入。
  • Interactive Mode:终端内的类聊天界面。
  • Record Mode:捕获终端输入和输出,用作后续 LLM 查询的上下文。

适用对象

大部分时间都在终端中度过的开发者、系统管理员和高级用户,他们希望在不离开 Shell 环境的情况下,以快速、极简的方式查询 LLM。

亮点

  • Pure Bash:极其轻量,易于在类 Unix 系统上安装。
  • 上下文感知:能够记录终端会话,为 LLM 提供实时的技术上下文。
  • 管道集成:设计用于通过管道与其他 CLI 工具无缝协作。
  • 可扩展性:支持模板和插件,以实现函数调用和自定义行为。
  • 隐私保护:包含敏感信息脱敏功能。