avante-corp/avante.nvim
Use your Neovim like using Cursor AI IDE!
avante.nvim – Neovim 内的 AI 辅助编码
是什么
- 一个将 Cursor AI IDE 的体验直接带入编辑器的 Neovim 插件。它允许你与 LLM 对话,请求代码改进,并通过单个命令应用建议的更改。
如何工作
- 插件与一个(或多个)LLM 提供商(如 Anthropic 的 Claude、OpenAI、Gemini、Moonshot 等)通信。提供者、模型、端点和请求参数可在
setup()调用中配置。 - 当你打开一个 聊天窗口 时,Avante 会发送当前缓冲区(或选定区域)以及你在仓库根目录的
avante.md文件中放置的任何项目特定指令。模型返回一个代码块,Avante 可以:- 在 Neovim 内以 Markdown 形式显示,以及
- 自动应用到文件中(基于差分,可选最小化未更改行)。
- 特殊的 Zen 模式 允许你作为独立 CLI(
avante)运行 Avante,同时仍使用 Neovim 的全部功能作为后端。
主要功能
- AI 驱动的代码辅助 – 询问你正在编辑的文件,获得具体建议。
- 一键应用 – 接受建议,Avante 会自动重写缓冲区。
- 项目特定指令文件 (
avante.md) – 定义 AI 的角色、使命、技术栈、编码标准等,使模型能根据你的代码库定制建议。 - 多提供者支持 & 双重增强模式 – 可配置多个后端;实验性模式可同时查询两个提供者并合并输出。
- 自动建议(可选) – 插件可在你输入时在后台请求建议。
- ACP(AI-Code-Planner)支持 – 工具可自动编辑文件、跟踪位置并批准权限。
- 提示日志 – 将每次请求/响应保存到磁盘,用于回放或调试。
- 可扩展 UI – 与任何识别
Avante文件类型的 Markdown 渲染器兼容;支持可选 UI 帮助程序(snacks.nvim、nui.nvim、render-markdown.nvim 等)。
安装
- 推荐使用 lazy.nvim(或任何其他插件管理器)。
make步骤构建一个小型 Rust 二进制文件(或下载预构建版本)。README 中的示例 lazy.nvim 代码片段:{ "yetone/avante.nvim", build = vim.fn.has("win32") ~= 0 and "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" or "make", event = "VeryLazy", version = false, opts = { instructions_file = "avante.md", provider = "claude", providers = { claude = { endpoint = "https://api.anthropic.com", model = "claude-sonnet-4-20250514", timeout = 30000, extra_request_body = { temperature = 0.75, max_tokens = 20480 }, }, }, }, dependencies = { "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", ... }, } - 其他管理器(Pack、rocks.nvim、vim-plug、mini.deps、Home Manager、Nixvim)也已记录。
基本用法
require('avante').setup{ … }– 可选择性地传入配置。- 使用
:Avante(或mappings.suggestion中定义的快捷键)打开聊天。 - 输入问题或请求(例如 “将此函数重构为使用 async/await”)。Avante 流式传输模型的响应。
- 使用
<M-l>(默认)接受建议,或使用<C-]>拒绝。 - 更改以差分形式应用;可使用
]x/[x导航差分。 - 启用 Zen 模式:从
./contrib/avante安装帮助脚本,并在终端运行avante—— 你将获得一个 CLI,仍使用 Neovim 进行渲染。
自定义点
- 提供者配置 – 选择任何支持的模型,设置温度、最大令牌数、超时等。
- 行为标志 – 切换自动建议、自动应用差分、令牌计数、自动添加文件等。
- 快捷键映射 – 所有主要操作(接受、下一个/上一个建议、差分导航、提交、取消)均可重新映射。
- 提示日志器 – 启用/禁用,更改日志目录,绑定快捷键以浏览前/后日志。
- 双重增强 – 实验性模式,合并两个提供者的输出。
生态系统与依赖
- 核心 Lua 代码(
plenary.nvim、nui.nvim)。 - 可选 UI 帮助程序:
render-markdown.nvim、nvim-cmp、img-clip.nvim、copilot.lua、snacks.nvim、mini.pick、telescope.nvim、fzf-lua。 - 一个小的 Rust 二进制文件(使用 Cargo 构建)负责与 LLM API 通信的繁重任务。
成熟度
- 活跃维护中(Lua 和 Rust 测试的 CI 指示灯,README 中有快速迭代说明)。
- 需要 Neovim 0.11+(0.12+ 以获得完整功能集)。
- 部分功能标记为 实验性(自动建议、双重增强、ACP 自动批准)。
谁可能受益
- 大部分时间在 Neovim 中工作,希望在不离开编辑器的情况下获得内联 AI 辅助的开发者。
- 需要通过
avante.md强制执行项目特定编码规范的团队。 - 喜欢 Cursor AI IDE 体验但更倾向于完全开源、自托管工作流的用户。
以上所有信息均直接取自仓库的 README。
写过它的文章
相关
- 项目
- 项目
- 项目
- 项目
- 项目