Show HN: AI-CLI – 基於本地LLM的微型C語言終端助手
AI-CLI是一個用單一C檔案實現的命令列助手,可將使用者請求直接轉換為shell命令並執行。它支援多種本地LLM引擎,如llama.cpp、Ollama等,並允許使用者在執行前編輯或拒絕生成的命令。該專案提供了豐富的示例和廣泛的平臺相容性。
AI-CLI是一個極簡的命令列輔助工具,僅由單個C檔案(ai.c)實現,無需任何外部依賴,只需一個本地執行的LLM伺服器即可工作。它的核心功能是將使用者的自然語言請求轉化為對應的shell命令,並直接在終端中執行。例如,你可以詢問“誰在slurm節點39上執行了作業”,AI-CLI會返回並執行一個複雜的sacct命令,列出所有相關使用者。其他示例包括替換檔案中的文本、修改資料夾許可權、查詢單詞出現次數、計算數學表示式、檢視IP地址等。
該工具的設計理念是讓使用者擺脫繁瑣的命令列記憶,透過自然語言直接與系統互動。使用者對LLM返回的命令有三種選擇:直接按Enter接受並執行、按Ctrl+C拒絕、或者像在普通編輯器中一樣編輯命令後再執行。這種設計在提升效率的同時也保證了安全性,但開發者明確指出,對於不熟悉shell命令的使用者,應避免使用此工具,因為LLM生成的命令會直接執行在shell中。
AI-CLI的構建和安裝非常簡單,只需要執行gcc ai.c -o ai進行編譯,然後透過sh run.install_ai.sh將二進位制檔案和手冊頁複製到使用者的本地目錄中。更令人印象深刻的是它的跨平臺能力,支援Linux、macOS、Windows(透過MSYS2或Cygwin)、Android、iOS、FreeBSD、OpenBSD、NetBSD、QNX Neutrino、Haiku、SerenityOS,甚至包括AIX、HP-UX等老舊系統。
在LLM引擎支援方面,AI-CLI幾乎相容所有主流引擎,包括llama.cpp、vLLM、Ollama、LM Studio、SGLang、Text Generation Inference、LocalAI、Xinference等,只需設定AI_URL環境變數指向引擎的API端點即可。例如,使用llama.cpp執行Gemma-4模型時,需要停用思維鏈模式以確保模型直接輸出shell命令而非思考過程。
此外,AI-CLI還提供了一個記憶模式(--memory標誌),它會將互動歷史儲存到AI_MEMORY.md檔案中,使得助手能夠記住之前的上下文,從而處理更復雜的多步驟任務。例如,使用者可以先詢問作業系統型別,然後追問關於MINGW環境的含義,助手能根據歷史記錄給出準確解釋。
總體而言,AI-CLI是一個輕量級但功能強大的工具,它將大型語言模型的能力無縫整合到日常命令列操作中,為開發者和系統管理員提供了一種全新的互動方式。儘管需要謹慎使用,但它無疑展示了LLM在終端自動化領域的巨大潛力。