Skip to content

isaksamsten/sia.nvim

Repository files navigation

Logo

sia.nvim

An LLM assistant for Neovim.

Supports: OpenAI, Codex, Copilot and OpenRouter (both OpenAI Chat Completions and Responses), Anthropic (native API), Gemini and ZAI.

Features

Screen.Recording.2025-10-08.at.21.30.32.mov
Screencast.from.2025-09-14.23-23-03.mp4
Screen.Recording.2024-10-11.at.15.42.20.mov
Screen.Recording.2025-09-16.at.15.49.16_compressed.mp4

Requirements

  • Neovim >= 0.11
  • curl
  • ripgrep (rg) — for the grep tool
  • fd — for the glob tool and directory listing
  • Access to OpenAI API, Codex, Copilot, Gemini, Anthropic, ZAI, or OpenRouter
  • Optional: pandoc — for the fetch tool (web content conversion)

Installation

Install using Lazy:

{
  "isaksamsten/sia.nvim",
  opts = {},
  dependencies = {
    {
      "rickhowe/diffchar.vim",
      keys = {
        { "[z", "<Plug>JumpDiffCharPrevStart", desc = "Previous diff", silent = true },
        { "]z", "<Plug>JumpDiffCharNextStart", desc = "Next diff", silent = true },
        { "do", "<Plug>GetDiffCharPair", desc = "Obtain diff", silent = true },
        { "dp", "<Plug>PutDiffCharPair", desc = "Put diff", silent = true },
      },
    },
  },
}

Quick Start

  1. Set up authentication for your provider.

  2. Use :Sia to start a conversation:

    :Sia explain this codebase
  3. Use :Sia! with a selection to get inline changes:

    :'<,'>Sia! refactor this function

Documentation

Document Description
Authentication Setting up API keys and provider auth
Configuration Global settings, project config, permissions, risk levels
Usage Interaction modes, commands, keybindings
Tools Available tools for the AI assistant
Core Concepts Approval system, memory, todos, history, agents
Reviewing Changes Inline diff workflow for accepting/rejecting edits
Actions Built-in actions and creating custom actions

About

AI assistant for Neovim

Resources

License

Stars

Watchers

Forks

Contributors

Languages