llm.nvim

在 Neovim 里直接调 LLM 写代码、改代码、问代码

llm.nvim 是一个为 Neovim 打造的 LLM 辅助开发插件,用 Lua 编写。它把大模型能力直接嵌入编辑器工作流,让开发者无需离开 Neovim 就能完成代码生成、解释、重构和问答。插件支持接入多种 LLM 后端(如 OpenAI、Ollama 等),提供可配置的提示词模板,并能把选中代码或当前缓冲区内容作为上下文发送给模型,结果以浮动窗口或直接插入的方式返回。它解决的是在终端编辑器里频繁切换浏览器或外部聊天工具的问题,把 AI 对话、代码补全和批量编辑统一到键盘操作中。核心能力包括:可视化选择范围后发起请求、流式输出、自定义快捷键与命令、多模型切换,以及把 AI 返回的代码块直接写回文件。对于习惯 Neovim 的开发者,它相当于把 Copilot 式体验和 ChatGPT 式对话整合进一个轻量插件。

开源 free 编程开发
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1190
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类编程开发
开发团队huggingface
所属国家
官网地址
定价模式free
价格说明开源免费插件,需自备 LLM API
访问状态
是否开源是
开源协议Apache-2.0
主要语言Lua
技术栈/模型lua,neovim,neovim-plugin
GitHub 星标★ 1190
30天Star增速
HF 下载量
上线时间2023-05-07 00:00:00
最近更新2026-09-24 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-26
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • 已安装 Neovim,并已配置好一个插件管理器
  • 可用的 LLM 后端:Hugging Face Inference API,或自建且符合 backend 规范的 HTTP endpoint
  • 使用 Inference API 时需要 Hugging Face API token
  • 网络可访问所配置的后端 HTTP 地址

安装与启动步骤

  1. 1安装插件本体

    README 未给出具体插件管理器命令,可先把仓库克隆到 Neovim 插件目录;路径按自己的插件管理器调整。

    git clone https://github.com/huggingface/llm.nvim.git /your/path/site/pack/plugins/start/llm.nvim
  2. 2确定后端与凭证

    插件通过 HTTP 请求调用后端,需要用 require('llm').setup 配置 backend、model 和 api_token。

  3. 3写入 setup 配置

    在 Neovim 配置文件中加入 llm.setup,README 给出的字段可原样使用,按需修改 model 与 backend。

    local llm = require('llm')
    
    llm.setup({
      api_token = "sk-xxxxxxxx",
      model = "bigcode/starcoder2-15b",
      backend = "huggingface",
      url = nil,
      tokens_to_clear = { "<|endoftext|>" },
      request_body = {
        parameters = {
          max_new_tokens = 60,
          temperature = 0.2,
          top_p = 0.95,
        },
      },
      fim = {
        enabled = true,
        prefix = "",
        middle = "",
        suffix = "",
      },
      debounce_ms = 150,
      accept_keymap = "",
      dismiss_keymap = "",
      tls_skip_verify_insecure = false,
      lsp = {
        bin_path = nil,
        host = nil,
        port = nil,
        cmd_env = nil,
        version = "0.5.3",
      },
      tokenizer = nil,
      context_window = 1024,
      enable_suggestions_on_startup = true,
      enable_suggestions_on_files = "*",
      disable_url_path_completion = false,
    })
  4. 4按需覆盖后端地址

    不想在配置里写死 url 时,可用环境变量 LLM_NVIM_URL 覆盖后端地址;url 为 nil 则走默认 Inference API 地址。

    export LLM_NVIM_URL=https://your-endpoint.example.com
  5. 5重启 Neovim 验证

    保存配置后重启 Neovim,编辑文件时观察是否出现补全提示,并用 Tab / Shift-Tab 接受或忽略。

关键配置

配置项必填说明示例
api_token是调用后端所需的 API 令牌,使用 Inference API 时必填sk-xxxxxxxx
model是模型 ID,具体行为取决于所选后端bigcode/starcoder2-15b
backend是后端类型,可选 huggingface / ollama / openai / tgihuggingface
url否后端 HTTP 地址,为 nil 时使用 Inference API 默认地址https://your-endpoint.example.com
lsp.version否llm-ls 后端版本,插件以 llm-ls 作为后端0.5.3
context_window否上下文窗口的最大 token 数,提示词会自动裁剪到该范围1024

如何确认成功

重启 Neovim 后在文件中输入代码,若出现灰色 ghost-text 补全提示,说明插件与后端已连通。

常见问题

Q:提示被限流(rate limited)怎么办?

A:README 说明使用 Inference API 时可能遇到限制,免费额度容易被限流,可订阅 PRO 计划避免。

Q:能换成自己的模型或本地模型吗?

A:可以,把 backend 改为 ollama、openai 或 tgi,并设置对应的 model 与 url 即可。

Q:输出里带特殊标记怎么处理?

A:用 tokens_to_clear 指定要从模型输出中移除的 token,例如 <|endoftext|>。

Q:如何调整补全的触发与接受方式?

A:通过 debounce_ms 控制触发延迟,accept_keymap 与 dismiss_keymap 分别设置接受和忽略的按键。

注意事项

  • README 未提供具体的插件管理器安装示例,第一条命令中的 /your/path 需替换为自己实际的 Neovim 插件目录。
  • 免费版 Inference API 存在调用限制,正式使用建议订阅 PRO 计划。
  • url 留空(nil)时会回落到 Inference API 的默认地址,也可用环境变量 LLM_NVIM_URL 覆盖。

核心亮点

  • 纯 Lua 实现,与 Neovim 原生集成,启动和响应轻量
  • 支持多后端和多模型切换,不绑定单一厂商
  • 可把选中代码作为上下文,AI 返回结果能直接写回缓冲区

不足之处

  • 功能相对早期,缺少类似 Copilot 的实时行内补全
  • 配置项较多,新手需要一定时间调通后端和快捷键

适用场景

  • 在 Neovim 中选中一段函数让 AI 解释或重构
  • 写代码时直接向 LLM 提问并插入生成的代码块
  • 用自定义提示词批量修改当前文件中的重复模式

替代项目

codeium.nvim、copilot.vim

项目介绍

llm.nvim 是一个编程开发领域的开源项目,官方简介:LLM powered development for Neovim。项目使用 Lua 开发,在 GitHub 上获得 1190 星标。

上一篇:llm-vscode

下一篇:没有了!

同类项目推荐

bolt.new 开源

想到啥说啥,网页应用当场生成直接能用

Prompt, run, edit, and deploy full-stack web applications. -- bolt.new -- Help Cente···

★ 16557 2026-08-09
fuzz4all 开源

用大模型自动生成测试输入,发现各种软件漏洞

️Fuzz4All: Universal Fuzzing with Large Language Models

★ 338 2026-08-09
superpowers-zh 开源

全套 AI 编程神技汉化好了,照着用就行。

AI 编程超能力 · 中文增强版 — superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills···

★ 8188 2026-08-09
crystal 开源

多个 AI 同时写不同功能,互不干扰齐头并进。

(Crystal is now Nimbalyst) Run multiple Codex and Claude Code AI sessions in paralle···

★ 3121 2026-08-09