chr15m/runprompt
Run LLM prompts from your shell
解決的問題
runprompt 允許使用者直接從 Shell 執行 LLM 提示詞,將提示詞視為一等公民、可版本控制的產物,而不是臨時的聊天機器人請求。透過提供透過命令列執行 .prompt 檔案(封裝了提示詞文本與模型、Schema 等元數據)的方法,消除了手動將提示詞與數據複製貼上到 Web 介面的需求。
工作原理
該工具使用 .prompt 檔案,其中包含用於配置(模型、輸出格式、工具)的 YAML frontmatter 部分與範本主體。它支援:
- 輸入處理:接受透過 STDIN、命令列參數或 JSON 字串傳入的數據,然後使用 Handlebars/Mustache 語法將其插值到提示詞中。
- 動態上下文:frontmatter 中的
before:鍵允許在將提示詞發送給 LLM 之前執行 Shell 命令以收集即時數據(例如git log)。 - 結構化輸出:使用 Picoschema 定義輸出格式,使 LLM 能夠回傳可解析的 JSON。
- 可擴展性:支援定義為 Python 函數或內聯 Shell 腳本的「工具」,LLM 可以在執行期間呼叫這些工具與系統進行互動。
- 執行:可以作為獨立腳本執行,透過 pip/uv 安裝,或透過 shebang (
#!/usr/bin/env runprompt) 作為可執行檔使用。
適用對象
想要自動化 AI 工作流、建構自定義 LLM CLI 框架,或將 AI 提示詞整合到 Shell 腳本與 CI/CD 流水線中的開發人員與進階使用者。
亮點
- 提示詞產物:將模型配置、Schema 與提示詞文本打包在單個
.prompt檔案中。 - Shell 整合:原生支援在提示詞之間進行數據管線傳輸,以及執行提示詞前的 Shell 命令。
- 工具使用:能夠定義自定義 Python 工具或簡單的 Shell 工具供 LLM 呼叫。
- 互動模式:內建聊天模式,包含讀取檔案或授予 LLM 特定檔案寫入權限的指令。
- 多供應商支援:支援 Anthropic、OpenAI、Google AI、OpenRouter 以及任何相容 OpenAI 的端點(例如 Ollama)。
相關
- 專案
- 專案
- 專案
- 專案
- 專案