用Vibe編碼的AI Neovim工具非常實用
aeovim是一個用Rust編寫的終端UI程式,採用類似Neovim的操作模式來管理和排程多個LLM編碼代理。目前它封裝了Claude CLI,支援多輪對話、流式輸出和會話持久化。
aeovim是一款創新的Rust終端應用程式,將Neovim的編輯理念引入AI編碼代理的管理中。它透過模態、動作、緩衝區、標籤頁和分屏等概念,讓使用者能夠像操作文本編輯器一樣自然地與多個LLM代理互動。目前,aeovim封裝了Claude Code的CLI工具,利用其底層的流式JSON介面來驅動Claude會話,無需重新實現任何後端邏輯。
當前版本(v1)已經是一個可工作的骨架,包含約3200行Rust程式碼,分為七個模組。它提供了完整的模態TUI介面,帶有Space-leader鍵對映和which-key彈出提示,以及定製的Lilac主題。使用者可以透過Spaces和Chats兩層結構組織對話:每個Space是一個命名容器,最多容納4個Chats,側邊欄列出所有Spaces,啟用的Space將其Chats顯示為分屏面板。
aeovim支援即時的Claude Code會話:每個Chat啟動一個使用--output-format stream-json的Claude程序,並透過--session-id和--resume實現多輪連續性。流式傳輸功能可以即時顯示助手訊息、思考動畫以及工具呼叫結果。此外,導航功能完善,包括Ctrl-hjkl切換焦點、Tab/H/L切換聊天、Space 1-0跳轉到指定Space等。Space操作如合併、拆分彈出和重新命名也已實現。
會話持久化方面,aeovim將Spaces(名稱和聊天記錄)儲存為JSON檔案,位於~/.local/state/aeovim/目錄下,重新啟動時可以恢復。代理間管道功能透過一個FIFO檔案實現,允許一個代理向另一個Space傳送訊息。許可權方面預設使用--dangerously-skip-permissions,可透過--safe切換到--permission-mode acceptEdits。
未來計劃包括:並行扇出(向多個代理分發同一提示,每個代理在獨立的git工作樹中執行)、作業板(類似quickfix的任務管理)、內建迴圈排程器、技能面板、Vim風格的差異審查、Tree-sitter語法高亮以及持久化雙向子程序(用於在TUI內批准許可權和中斷會話)。安裝方式簡單:透過cargo install編譯生成avim二進位制檔案,執行avim即可啟動。