minuet-ai.nvim
为 Neovim 打造的多后端 AI 代码补全插件,支持 OpenAI/Claude/Gemini/Ollama 等多种 LLM,提供 nvim-cmp/blink-cmp/内置补全等多种交互方式
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为 Neovim 打造的多后端 AI 代码补全插件,支持 OpenAI/Claude/Gemini/Ollama 等多种 LLM,提供 nvim-cmp/blink-cmp/内置补全等多种交互方式
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你在 Neovim 中写代码,手指刚敲完 transf,一个优雅的提示就跳了出来——不是简单地从本地词库猜词,而是真正理解了你正在构建什么。它知道你在写 transformData,知道你要返回 result,甚至能猜到下一步你会加什么断言。这是 Minuet(小步舞曲)想要带来的编程体验——不是机械地填词,而是与 AI 共舞。
2024 年 7 月,GitHub 用户 milanglacier 发布了这款插件。仅用不到两年,它已积累超过 1270 颗 Stars,成为 Neovim 生态中增长最快的 AI 补全工具之一。
Neovim 生态已有 Copilot.vim、nvim-cmp 生态等方案,但各有局限:Copilot 是闭源 SaaS,数据必须上传;nvim-cmp 本身只是补全框架,需要手动对接各种 source。Minuet 的出现填补了一个空白——一款插件,多个 LLM 后端自由切换,从闭源的 OpenAI 到本地运行的 Ollama,全部一站式支持。
Minuet 实现了两种互补的补全策略:
第一种:基于聊天模型的代码补全。通过精心设计的 system prompt,引导 Claude、GPT、Gemini 等对话模型专注代码补全任务。这套 prompt 工程包含 Few-shot 示例、最佳格式指引,以及对「前缀优先」还是「后缀优先」两种补全顺序的处理。
第二种:FIM(Fill-in-the-Middle)补全。专为支持 FIM 协议的模型设计,如 DeepSeek Codestral、Qwen Coder 系列。FIM 模式将代码「中间缺失」的结构直接发给模型,让它根据上下文「填空」,比聊天模式更高效。
两种模式共享同一个配置接口,用户只需在 setup() 中指定 provider 即可切换,无需改代码。
Minuet 的 lua/minuet/backends/ 目录包含 7 个后端实现:openai.lua(OpenAI GPT系列)、claude.lua(Anthropic Claude)、gemini.lua(Google Gemini)、codestral.lua(FIM专用)、openai_compatible.lua(OpenAI兼容接口)、openai_fim_compatible.lua(DeepSeek-v4-flash)、common.lua(通用HTTP底层)。核心逻辑在 openai_base.lua 中实现,通过 vim.system(Neovim 0.10 内置)执行 curl 调用,无需任何第三方依赖。
Minuet 不绑定特定 UI 层,而是适配了 Neovim 生态主流的补全前端:

图1:Minuet 与 nvim-cmp 集成效果 — nvim-cmp 补全弹窗中直接显示 AI 建议
<A-A> 接受
图2:Neovim 0.11 内置补全模式 — 无需任何第三方插件

图3:Virtual Text 前端效果 — 轻量化建议展示
Minuet 还实验性地支持「下一编辑预测」,通过 Minuet duet 系列命令提供。这不同于补全——它预测的是你接下来要修改什么,而不是要输入什么。这一能力通过 lua/minuet/duet/ 目录实现,包含 context 收集、preview 预览和后端对接。RAG(检索增强生成)功能也在探索中,通过外部向量数据库增强 context。
Minuet 的代码质量在开源插件中属于上乘:
stylua 格式化,.stylua.toml 统一代码风格tests/ 目录,通过 Neovim headless 模式运行vim.deprecate 提示,引导用户平滑迁移配置vim.system,无需 plenary.nvim 等额外依赖LICENSE 为 GPL-3.0,代码完全开源,无闭源组件,无追踪器。
Minuet 的安装极其简单,只需一个插件管理器:
-- lazy.nvim 示例
{ 'milanglacier/minuet-ai.nvim' }
或通过 rocks.nvim 一行命令:Rocks install minuet-ai.nvim。安装后只需提供至少一个 LLM provider 的 API key,即可开箱即用。无需 Docker,无需后台进程,所有推理通过 curl 调用外部 API 或本地 Ollama 完成。
Minuet 的出现代表了一个趋势:LLM 驱动的开发工具从大一统平台走向专业化插件。Copilot 做的是通用助手,Minuet 做的是「专精 Neovim 的 AI 舞伴」。这种垂直化、专业化的路径,让每款工具都能在特定场景做到极致。截至 2026 年 5 月,Minuet 仍在活跃维护,是 Neovim 生态中值得关注的成长型项目。