A lightweight, extensible chat plugin for Neovim with AI integration.

Chat with AI assistants directly in your editor using a clean, floating window interface.

View on GitHub Releases


✨ Key Features

🧠 Three-Tier Memory

Working, daily, and long-term memory system with automatic extraction and priority-based retrieval.

🔄 Parallel Sessions

Run multiple conversations with different AI models, each maintaining separate context and settings.

🤖 16+ AI Providers

Built-in support for DeepSeek, OpenAI, Anthropic, GitHub AI, Gemini, Ollama, and many more AI services.

🛠️ 20+ Built-in Tools

File operations, Git integration, web search, memory management, planning, and extensible custom tools.

🔌 MCP Protocol

Native Model Context Protocol support for extended tool capabilities via stdio and HTTP transports.

💬 IM Integration

Connect Discord, Telegram, Slack, Lark, DingTalk, WeCom, and WeChat for remote AI interaction.

🌐 HTTP API

Built-in HTTP server for receiving external messages with API key authentication.

📝 Zettelkasten

Note-taking support via zettelkasten.nvim integration for knowledge management.

🔍 Picker Integration

Seamless integration with picker.nvim for browsing history and switching providers/models.

⚡ Streaming Responses

Real-time AI responses with cancellation support and token usage tracking.


🚀 Quick Start

Installation

Using lazy.nvim:

{
  'wsdjeg/chat.nvim',
  dependencies = {
    'wsdjeg/job.nvim', -- Required
    'wsdjeg/picker.nvim', -- Optional but recommended
  },
}

Using nvim-plug:

require('plug').add({
  {
    'wsdjeg/chat.nvim',
    depends = {
      'wsdjeg/job.nvim', -- Required
      'wsdjeg/picker.nvim', -- Optional but recommended
    },
  },
})

Basic Usage

:Chat          " Open chat window
:Chat new      " Start a new session
:Chat prev     " Switch to previous session
:Chat next     " Switch to next session

See the Installation Guide for detailed setup instructions.


📚 Documentation


💬 Community


📄 License

chat.nvim is released under the GPL-3.0 License.