frankroeder/parrot.nvim
parrot.nvim 🦜 - the plugin that brings stochastic parrots to Neovim.
What it solves
parrot.nvim is a Neovim plugin that integrates Large Language Models (LLMs) directly into the text editing workflow. It provides a way to generate, rewrite, and chat with AI models without leaving the editor, while prioritizing user privacy and transparency by avoiding background requests or autonomous agents.
How it works
The plugin connects to various OpenAI-compatible API endpoints (including OpenAI, Anthropic, Google Gemini, xAI, and local providers like Ollama). It operates in two primary modes:
- Chat Mode: Users open a dedicated Markdown buffer to conduct conversations. The entire buffer content serves as context, and responses are streamed directly into the file, which is persisted as a
.mdfile. - Command Mode: Users can perform inline operations on visual selections. Commands like
:PrtRewrite,:PrtAppend, and:PrtPrependallow the user to modify code or text based on a prompt, often with a diff view for previewing changes.
Who it’s for
Developers and Neovim users who want AI-assisted editing and chat capabilities but prefer full control over what data is sent to the API, explicitly avoiding the "agentic" behavior of tools that analyze files in the background.
Highlights
- Unified Provider System: Supports a wide array of APIs including OpenAI, Anthropic, Gemini, xAI, and local serving via Ollama.
- Privacy-First: No autocompletion and no hidden background requests to analyze files.
- Flexible API Key Management: Supports environment variables, bash commands, and password manager CLIs.
- Dual Model Selection: Independent model settings for chat and interactive commands to balance cost and capability.
- Persistent Conversations: Chats are stored as standard Markdown files.
- Contextual Control: Supports repository-specific instructions via a
.parrot.mdfile.
Related
- Project
- Project
- Project
- Project
- Project