
CopilotChat.nvim
在 Neovim 里直接和 Copilot 聊代码,不切窗口
CopilotChat.nvim 是一个在 Neovim 编辑器内直接与 GitHub Copilot 对话的 Lua 插件。它解决的核心问题是:开发者不想在写代码时频繁切换到浏览器或独立聊天窗口,希望把 AI 辅助直接嵌入到已有的 Neovim 工作流中。插件支持以聊天面板形式与 Copilot 交互,可针对选中代码、当前缓冲区或整个项目提问,实现代码解释、重构建议、生成测试、修复错误等操作。它提供可配置的提示词模板和快捷键,支持流式输出,并允许把 AI 返回的代码块直接应用到缓冲区。插件依赖 GitHub Copilot 订阅,通过 Copilot API 通信,安装方式兼容 lazy.nvim、packer 等主流插件管理器。整体定位是轻量、原生、面向键盘流开发者的 AI 编程助手,让 Copilot 能力在终端编辑器里自然可用。
项目数据
使用教程
⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。
环境要求
- Neovim(插件为 Lua 编写,运行在 Neovim 内)
- GitHub Copilot 订阅,可用模型取决于你的 GitHub Copilot 设置
- git 与 make(README 的 Setup 使用 clone 与 make 命令)
- stylua(用于运行与 CI 相同的格式检查)
安装与启动步骤
-
1克隆仓库
按 README 的 Setup 步骤 1,把插件源码克隆到本地并进入项目目录。
git clone https://github.com/CopilotC-Nvim/CopilotChat.nvim cd CopilotChat.nvim -
2安装开发依赖
README 的 Setup 步骤 2,通过 Makefile 目标安装 pre-commit 等依赖。
make install-pre-commit -
3运行测试
执行项目自带测试,确认本地环境能跑通该项目。
make test -
4格式检查
按 CI 相同方式检查 Lua 代码格式,需要本机已安装 stylua。
stylua --check . -
5配置常用选项
在 Neovim 配置中设置 model、temperature、window.layout 等,README 给出 Quick Setup 示例。
-
6调用聊天 API
用 Lua API 打开聊天面板或提问,例如 require('CopilotChat').open()。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
model | 否 | 选择使用的 AI 模型 | gpt-5-mini |
temperature | 否 | 越低越聚焦,越高越有创造性 | 0.1 |
trusted_tools | 否 | 设为 nil 时所有工具调用都需人工批准 | nil |
window.layout | 否 | 聊天窗口布局方式 | vertical |
window.width | 否 | 窗口宽度,按屏幕比例计算 | 0.5 |
auto_insert_mode | 否 | 打开聊天时自动进入插入模式 | true |
如何确认成功
执行 make test 无报错;在 Neovim 中调用 require('CopilotChat').open() 能打开聊天面板并正常提问。
常见问题
Q:使用前需要什么前提条件?
A:需要 GitHub Copilot 订阅,具体可用模型(GPT-4o、Claude、Gemini 等)取决于你的 GitHub Copilot 设置与 GitHub API 提供的模型。
Q:README 节选里为什么没看到插件安装命令?
A:节选中 Installation、Usage 章节内容为空,只给出了开发环境 Setup。实际安装方式请以官网或仓库最新文档为准。
Q:工具调用会直接执行吗?
A:默认 trusted_tools 为 nil,所有工具调用需手动批准;可设为 {'file','glob','grep'} 自动信任只读工具。
Q:如何保存和恢复对话?
A:使用 require('CopilotChat').save('my_debugging_session') 保存,用 require('CopilotChat').load('my_debugging_session') 载入。
注意事项
- README 节选中 Installation 与 Usage 章节为空,插件本身的安装命令无法从节选确证,本教程步骤均为项目开发环境 Setup。
- 命令中的参数、路径均取自 README,未做任何补充或修改。
- 插件坚持隐私优先,只共享你显式请求的内容,不做后台数据收集。
核心亮点
- 直接嵌入 Neovim,选中代码即可提问,无需离开编辑器
- 支持流式输出和可配置提示词模板,交互体验接近原生
- 兼容 lazy.nvim 等主流插件管理器,安装配置简单
不足之处
- 必须拥有 GitHub Copilot 订阅,无免费替代路径
- 功能受 Copilot API 限制,无法自定义模型或接入其他 LLM
适用场景
- 阅读陌生代码库时,选中函数让 Copilot 解释逻辑
- 写新功能时,在缓冲区里让 Copilot 生成实现草稿
- 调试报错时,把错误信息发给 Copilot 获取修复建议
替代项目
codecompanion.nvim、gen.nvim
项目介绍
同类项目推荐
bolt.new
开源
想到啥说啥,网页应用当场生成直接能用
Prompt, run, edit, and deploy full-stack web applications. -- bolt.new -- Help Cente···
fuzz4all
开源
用大模型自动生成测试输入,发现各种软件漏洞
️Fuzz4All: Universal Fuzzing with Large Language Models
superpowers-zh
开源
全套 AI 编程神技汉化好了,照着用就行。
AI 编程超能力 · 中文增强版 — superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills···
Gitea 代码托管
开源
轻量 Git 代码托管平台
Git with a cup of tea! Painless self-hosted all-in-one software development service,···