ssa: 純Shell實現的AI Agent

ssa: 純Shell實現的AI Agent

Adrian Cole
126
original

ssa 是一個用純 POSIX shell 指令碼編寫的簡單 AI agent,無需 Python 或 Node.js 等依賴,通過呼叫 OpenAI API 實現對話與命令執行。專案程式碼極簡,適合在輕量環境或嵌入式系統中快速部署 AI 助手。

在 AI agent 工具日益臃腫的今天,一個名為 ssa 的開源專案反其道而行之——它完全用 POSIX shell 指令碼 編寫,整個程式碼只有幾百行。專案託管在 GitHub(patrickjh/ssa),只有一個 shell 檔案和一個配置檔案,就能讓你在終端裡跟 AI 對話,甚至讓它執行系統命令。

為什麼還要一個純 Shell 的 AI Agent?

當你開啟終端,為了跑一個 AI 助手,可能得先裝 Python、PyTorch、Transformers,或者 Node.js 和 npm 包。ssa 卻只依賴 curl 和 jq(或可選的 yq 處理 YAML),幾乎任何 Unix 系統開箱即用。這種 極簡哲學 對伺服器運維、嵌入式開發或喜歡 minimalist 工具的開發者來說,格外有吸引力。

ssa 背後呼叫的是 OpenAI 的 API(Chat completions endpoint),所以它本身不包含模型,只是一個輕量級前端。但它聰明地封裝了上下文管理、角色定義、以及 安全執行命令 的能力——使用者可以選擇讓 AI 直接執行 shell 命令,或只輸出建議。

功能概覽:小而實用

  • 對話模式:在終端裡進行多輪對話,支援儲存歷史。
  • 命令執行:AI 可以生成並(在確認後)直接執行 shell 命令。
  • 可定製系統提示:通過配置檔案設定 AI 的角色和行為。
  • 無外部依賴:僅需 curl 和 jq,相容任何 POSIX shell。

專案 README 中給出一個例子:輸入「列出所有大於 100MB 的檔案」,ssa 會生成 find / -size +100M 並詢問是否執行。這種 自然語言作業系統 的體驗,讓新手也能輕鬆完成複雜任務。

實際影響:降低 AI 助手的門檻

對系統管理員和運維工程師來說,ssa 提供了一種 零負擔 的 AI 輔助方式。你不需要在伺服器上安裝額外的執行時,只需一個 API key 就能獲得類似 GitHub Copilot for CLI 的能力。更重要的是,由於指令碼完全開源且可審查,安全性上有保證——使用者可以在執行任何命令前檢查它。

對於想學習 shell 程式設計API 呼叫封裝 的開發者,ssa 的程式碼也是一個很好的參考範例。它展示瞭如何用純 shell 處理 JSON、管理會話、以及實現簡單的狀態機。

侷限與展望

當然,ssa 的功能非常基礎:它不支援流式輸出(streaming),依賴外部 API 意味著需要聯網,而且上下文長度受限於 token 數。但考慮到它的體積和使用場景——比如在樹莓派、路由器或臨時環境中快速搭建一個 AI 助手——這些缺點完全可以接受。

有趣的是,專案在 Hacker News 上引發的討論集中在「Shell 是否適合寫 AI agent」上。有人覺得 shell 指令碼難以維護,但對 ssa 來說,這種簡單反而變成了優勢。畢竟,當一個工具能用一個檔案解決時,你不太需要擔心依賴地獄。

如果你是個終端重度使用者,或者想在不折騰環境的情況下體驗 AI agent,不妨試試 ssa。幾分鐘就能跑起來。

ssashell指令碼AI Agent終端助手OpenAI API輕量級工具開源專案命令列AI運維工具

分享

評論

0
0/500 字元

暫無評論

成為第一個評論的人

探索更多