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 工具無縫協作。
  • 可擴展性:支援範本與外掛,以實現函式呼叫和自定義行為。
  • 隱私保護:包含敏感資訊脫敏功能。