
minuet-ai.nvim
在 Neovim 里边写边补全,多家大模型随你换
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-10-29 · 当前星标 ★ 1436
技术标签
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- 已安装 Neovim
- 已安装 lazy.nvim 或 Rocks.nvim 插件管理器
- 可选安装 nvim-cmp 或 blink.cmp 作为补全菜单前端
- 准备所选 LLM 服务商的 API key,或本地 Ollama / Llama.cpp 服务
- 能够编辑 Neovim 的 Lua 配置文件
安装与启动步骤
-
1准备插件管理器
README 提供 lazy.nvim 和 Rocks.nvim 两种安装方式,先确认你的 Neovim 已使用其中一种管理插件。
-
2lazy.nvim 安装
在 lazy.nvim 的 specs 中加入插件,并在 config 中调用 setup 写入配置。
specs = { { 'milanglacier/minuet-ai.nvim', config = function() require('minuet').setup { -- Your configuration options here } end, }, { 'hrsh7th/nvim-cmp' }, { 'Saghen/blink.cmp' }, } -
3Rocks.nvim 安装
如果使用 Rocks.nvim,可直接从 luarocks.org 安装该插件。
Rocks install minuet-ai.nvim -
4配置 Provider
在 setup 中通过 provider 选择默认服务商,并按对应服务商要求提供 API key 或本地服务地址。
-
5配置虚拟文本前端
使用虚拟文本前端时设置 auto_trigger_ft 和键位;accept 接受整段,accept_line 接受一行。
require('minuet').setup { virtualtext = { auto_trigger_ft = {}, keymap = { accept = '', accept_line = ' ', accept_n_lines = ' ', prev = ' ', next = ' ', dismiss = ' ', }, }, } -
6集成 nvim-cmp
把 minuet 加入 cmp 源,并适当提高 fetching_timeout 以适应 LLM 响应速度。
require('cmp').setup { sources = { { { name = 'minuet' }, } }, performance = { fetching_timeout = 2000, }, } require('cmp').setup { mapping = { [""] = require('minuet').make_cmp_map() }, } -
7集成 blink-cmp
在 blink 的 sources 和 providers 中启用 minuet,并设置手动触发键位。
require('blink-cmp').setup { keymap = { [''] = require('minuet').make_blink_map(), }, sources = { default = { 'lsp', 'path', 'buffer', 'snippets', 'minuet' }, providers = { minuet = { name = 'minuet', module = 'minuet.blink', async = true, timeout_ms = 3000, score_offset = 50, }, }, }, completion = { trigger = { prefetch_on_insert = false } }, }
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
provider | 是 | 选择默认 LLM 服务商,如 codestral、openai、gemini、claude、ollama、llama.cpp。 | 'codestral' |
context_window | 否 | 光标前后上下文总字符上限,16000 约等于 4000 tokens。 | 16000 |
throttle | 否 | 请求节流间隔,单位毫秒;设为 0 可关闭节流。 | 1000 |
debounce | 否 | 请求防抖时间,单位毫秒;设为 0 可关闭防抖。 | 400 |
virtualtext.keymap.accept | 否 | 虚拟文本前端中接受整段补全的键位。 | ' |
cmp.enable_auto_complete | 否 | 控制 nvim-cmp 中 minuet 是否参与自动补全。 | true |
如何确认成功
打开 Neovim,在 auto_trigger_ft 包含的文件类型中输入代码,出现虚拟文本或补全项即表示生效。
常见问题
Q:自动补全没有触发怎么办?
A:检查 virtualtext.auto_trigger_ft 是否包含当前文件类型;使用 cmp/blink 时确认源中已加入 minuet 且自动补全开关为 true。
Q:cmp/blink 中补全响应很慢怎么办?
A:LLM 响应通常比普通补全慢。可提高 cmp 的 fetching_timeout,或让 blink 的 timeout_ms 与 minuet.request_timeout 匹配。
Q:如何手动触发补全?
A:nvim-cmp 使用 make_cmp_map(),blink 使用 make_blink_map() 绑定键位;虚拟文本前端可用 next/prev 键手动调用。
Q:可以同时启用多种前端吗?
A:README 建议按需选择一种前端。LSP completion 与 inline completion 同时开启时会有警告,虚拟文本与 LSP inline completion 同时使用也会有提示。
注意事项
- context_window 为光标前后总字符数,16000 字符约等于 4000 tokens。
- throttle 和 debounce 控制请求频率,可按机器与网络情况调整。
- 本地 Ollama、Llama.cpp 后端与云端服务商可切换,具体模型名和地址以 README 对应 Provider 示例为准。
- README 未给出 Neovim 最低版本和 API key 的具体设置命令,请以官方 Requirements 与 API Keys 章节为准。
核心亮点
- 统一接入 OpenAI、Gemini、Claude、Codestral 及 Ollama、Llama.cpp 等多种后端,切换 provider 只需改配置
- 异步请求配合虚拟文本渲染,补全建议不阻塞正常编辑操作
- 用 Lua 编写,与 Neovim 原生补全和配置体系贴合,可自定义提示词与上下文拼装
不足之处
- 需要自行配置 API Key、模型名与 provider 参数,对新手有一定门槛
- 依赖外部模型服务的延迟与稳定性,网络或本地模型性能会直接影响补全体验
适用场景
- Neovim 用户在写代码时希望获得整段函数级 AI 补全建议
- 团队希望用本地 Ollama 或 Llama.cpp 模型做代码补全以控制数据外流
- 开发者需要在同一编辑器内对比不同大模型的补全效果
替代项目
codeium.nvim、cmp-ai、copilot.lua
上一篇:code2prompt
下一篇:没有了!
同类项目推荐
agent-skills
开源
让 AI 助手秒变 WordPress 开发专家,少踩坑
Expert-level WordPress knowledge for AI coding assistants - blocks, themes, plugins,···
crystal
开源
多个 AI 同时写不同功能,互不干扰齐头并进。
(Crystal is now Nimbalyst) Run multiple Codex and Claude Code AI sessions in paralle···
builder
开源
说句话就生成网站和应用,开源自部署版 Lovable
✨ AI Builder For Creating Sites and Apps! An open-source alternative to Lovable, Re···
ai-code-helper
开源
跟着实战学 AI 编程,从入门到企业级应用开发
2025 年 AI 编程助手实战项目(作者:程序员鱼皮),基于 Spring Boot 3.5 + Java 21 + La···
bitbucket-cli
开源
在终端里像用 gh 一样操作 Bitbucket,还能让 AI 帮你干活。
Bitbucket CLI with gh-like ergonomics
AI-Codereview-Gitlab
开源
接入大模型,让 GitLab 代码审查自动跑起来,结果直达钉钉/飞书。
基于大模型(DeepSeek,OpenAI等)的 GitLab 自动代码审查工具;支持钉钉/企业微信/飞书推送消···
scafoldr
开源
用对话生成项目骨架,替代 v0 和 Lovable
Building an open-source alternative to v0 and Lovable.
gptstudio
开源
在 RStudio 里直接用 GPT 写代码、改 bug、写文档
GPT RStudio addins that enable GPT assisted coding, writing & analysis
rtl-for-vs-code-agents
开源
让阿拉伯语/希伯来语开发者用 Copilot 时文字和代码都不乱
Native-like RTL support for VS Code AI Agents (i.e. GitHub Copilot) with proper LTR ···