A Neovim plugin for interacting with LLMs via programmatic prompts, completions, and chat buffers with support for multiple providers.
model.nvim is a Neovim plugin that integrates AI models directly into the editor for code completions and chat interactions. It allows users to programmatically build and customize prompts in Lua, supporting a wide range of hosted and local LLM providers like OpenAI, Google PaLM, llama.cpp, and Ollama. The plugin is designed to give users full control over their AI workflows within Neovim.
Neovim users, particularly developers and power users who want to experiment with multiple AI models, customize their prompts extensively, or run local models directly within their editor. It's suited for those who prefer a programmable, Lua-based approach to AI interactions.
Developers choose model.nvim for its provider-agnostic architecture and deep programmability, allowing custom prompt creation and multi-step workflows in Lua. Unlike simpler AI plugins, it offers granular control over streaming responses, dedicated chat buffers with Treesitter highlighting, and an extensible interface for adding custom providers.
Neovim plugin for interacting with LLM's and building editor integrated prompts.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports diverse AI providers like OpenAI, Google PaLM, llama.cpp, and Ollama, with a simple interface for adding custom ones, as shown in the providers section of the README.
Enables building and customizing prompts in Lua with async and multi-step capabilities, allowing complex workflows like the openapi starter prompt that fetches schemas dynamically.
Streams AI responses directly into Neovim buffers with append, replace, or insert modes, providing real-time feedback without leaving the editor.
Offers mchat buffers for multi-turn conversations with Treesitter highlighting and editable messages, making it easy to save and resume chats as .mchat files.
Requires manual configuration for providers like llama.cpp (building server, setting paths) and separate Treesitter grammar installation, which can be daunting for casual users.
The local vector store for retrieval-augmented generation is marked as 'WIP' (work in progress), indicating it's not fully functional or documented for production use.
As a newer plugin, it lacks a large community-contributed prompt library or extensive third-party integrations compared to more established AI tools.
Heavily relies on Lua programming for customization, making it less accessible for users unfamiliar with Neovim's scripting environment or those seeking plug-and-play solutions.