null
Find a file
Danial M. 595948f28a docs(readme): Add screenshots section with example images
README.md
  * [Documentation] Added "Screenshots" section after introduction
  * [Markdown] Inserted two image references pointing to new screenshots directory

screenshots/chat-example-1.png
screenshots/chat-example-2.png
2025-12-17 23:23:33 +03:30
screenshots docs(readme): Add screenshots section with example images 2025-12-17 23:23:33 +03:30
api.lua Add DeepSeek Chat integration for Neovim 2025-12-03 03:54:51 +03:30
init.lua Add DeepSeek Chat integration for Neovim 2025-12-03 03:54:51 +03:30
README.md docs(readme): Add screenshots section with example images 2025-12-17 23:23:33 +03:30
ui.lua feat(ui): Add help command hint to chat interface 2025-12-17 23:08:31 +03:30

DeepSeek Chat for Neovim

A Cursor IDE-style chat interface for Neovim that integrates with DeepSeek API.

Screenshots

Chat Example 1

Chat Example 2

Features

  • 🎨 Beautiful floating window UI similar to Cursor IDE
  • 💬 Chat interface with message history
  • 🤖 DeepSeek API integration
  • ⌨️ Keyboard shortcuts for easy navigation
  • 📝 Markdown support in messages

Setup

  1. Set your DeepSeek API key:

    export DEEPSEEK_API_KEY="your-api-key-here"
    

    Or configure it directly in init.lua:

    deepseek_chat.setup({
        api_key = "your-api-key-here",
        -- ... other options
    })
    
  2. Open the chat:

    • Press <leader>dc (default leader is space, so dc)
    • Or call :lua require("nvim-deepseek-chat").toggle()

Configuration

You can customize the chat interface in your init.lua:

deepseek_chat.setup({
    api_key = os.getenv("DEEPSEEK_API_KEY") or "",
    api_url = "https://api.deepseek.com/v1/chat/completions",
    model = "deepseek-chat",
    max_tokens = 4096,
    temperature = 0.7,
    width = 80,              -- Chat window width
    height = 0.8,            -- Percentage of screen height
    position = "right",      -- "right", "left", or "center"
    border = "rounded",      -- Border style
})

Usage

  • Open/Close: <leader>dc or :lua require("nvim-deepseek-chat").toggle()
  • Send message: Type in the input box and press Enter
  • Close: Press Esc or q in the chat window

Requirements

  • Neovim 0.8+
  • nui.nvim plugin (already in your config)
  • curl command (for API requests)
  • DeepSeek API key

Keybindings

  • <leader>dc - Toggle DeepSeek Chat
  • Enter - Send message (when in input box)
  • Esc or q - Close chat window