ChatGPT.nvim

在 Neovim 里直接和 AI 对话,写代码、改 bug 不用切窗口。

ChatGPT.nvim 是一个基于 OpenAI ChatGPT API 的 Neovim 插件,用 Lua 编写,旨在让开发者在不离开编辑器的情况下,通过自然语言交互完成代码生成、解释、重构等任务。它解决了开发者频繁切换浏览器与编辑器、复制粘贴代码的低效问题,将 AI 对话能力无缝集成到 Neovim 的编辑流程中。核心能力包括:支持选中代码后生成解释、测试、优化建议;提供交互式聊天窗口,可多轮对话;支持自定义提示词模板,适配不同编程场景;可配置 API 密钥和模型参数,并支持 OpenAI 官方 API 及兼容接口。该插件通过命令行和快捷键触发,响应迅速,适合追求高效编码的 Neovim 用户。

开源 free 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3995
维护状态 低维护
是否开源 是
定价模式 free

项目预览

项目数据

分类对话助手
开发团队jackMort
所属国家
官网地址
定价模式free
价格说明开源插件,本地部署,需自备 OpenAI API 密钥,按 API 使用量付费,插件本身免费。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Lua
技术栈/模型chatgpt,neovim,nvim-plugin,openai
GitHub 星标★ 3995
30天Star增速
HF 下载量
上线时间2022-12-10 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:进阶 约 10 分钟 部署方式:本地安装 6 步

环境要求

  • 已安装 Neovim
  • 系统已安装 curl
  • 已获取 OpenAI API Key(ChatGPT Plus 订阅不含 API 额度,需单独购买)
  • 已安装插件管理器 packer.nvim 或 lazy.nvim
  • 依赖插件:MunifTanjim/nui.nvim、nvim-lua/plenary.nvim、nvim-telescope/telescope.nvim(fo

安装与启动步骤

  1. 1准备 curl 与 API Key

    确认系统已安装 curl;到 OpenAI 平台获取 API Key。注意 ChatGPT Plus 订阅不含 API 额度,需另行购买。

  2. 2设置 API Key 环境变量

    README 支持两种提供密钥方式:环境变量 $OPENAI_API_KEY,或在配置项 api_key_cmd 中指定返回密钥的可执行命令。

    export OPENAI_API_KEY="sk-xxxxxxxx"
  3. 3用 packer.nvim 安装

    在 Neovim 配置中加入以下插件声明,requires 中列出必须的依赖插件,并调用 setup()。

    use({
      "jackMort/ChatGPT.nvim",
        config = function()
          require("chatgpt").setup()
        end,
        requires = {
          "MunifTanjim/nui.nvim",
          "nvim-lua/plenary.nvim",
          "folke/trouble.nvim",
          "nvim-telescope/telescope.nvim"
        }
    })
  4. 4用 lazy.nvim 安装

    在 lazy.nvim 配置中加入插件与 dependencies,event 设为 VeryLazy,trouble.nvim 为可选项。

    {
      "jackMort/ChatGPT.nvim",
        event = "VeryLazy",
        config = function()
          require("chatgpt").setup()
        end,
        dependencies = {
          "MunifTanjim/nui.nvim",
          "nvim-lua/plenary.nvim",
          "folke/trouble.nvim",
          "nvim-telescope/telescope.nvim"
        }
    }
  5. 5配置模型参数

    通过 setup({...}) 覆盖默认配置,openai_params 中可设置 model、temperature、max_tokens、top_p 等参数。

    require("chatgpt").setup({
      openai_params = {
        model = "gpt-5-mini",
        frequency_penalty = 0,
        presence_penalty = 0,
        max_tokens = 4095,
        temperature = 0.2,
        top_p = 0.1,
        n = 1,
      }
    })
  6. 6可选:Azure 接入

    使用 Azure 时可用配置项 api_type_cmd、azure_api_base、azure_api_engine_cmd、azure_api_version_cmd,或导出以下环境变量。

    export OPENAI_API_TYPE="azure"
    export OPENAI_API_BASE="https://{your-resource-name}.openai.azure.com"
    export OPENAI_API_AZURE_ENGINE="chat"
    export OPENAI_API_AZURE_VERSION="2023-05-15"

关键配置

配置项必填说明示例
OPENAI_API_KEY是环境变量方式提供 OpenAI API Keysk-xxxxxxxx
api_key_cmd否可执行命令,通过 stdout 返回 API Keypass azure-openai-key
api_host_cmd否自定义 OpenAI API host($OPENAI_API_HOST)echo -n ""
extra_curl_params否附加 curl 参数,可添加额外请求头{"-H", "Origin: https://example.com"}
openai_params.model否指定使用的模型名称,也可写成返回模型名的函数gpt-5-mini
azure_api_base否Azure 部署的 URL base,配合 api_type_cmd 使用https://{your-resource-name}.openai.azure.com

如何确认成功

在 Neovim 中执行 :ChatGPTRun explain_code 等命令,能返回模型结果即安装配置成功。

常见问题

Q:需要 ChatGPT Plus 订阅吗?

A:Plus 订阅目前不包含所需的 API 额度,需要到 OpenAI 账单页面单独购买 API credits 后才能调用。

Q:无法直接访问 OpenAI 怎么办?

A:可通过配置项 api_host_cmd 或环境变量 $OPENAI_API_HOST 指定自定义 OpenAI API host。

Q:如何使用 Azure 部署?

A:可配置 api_type_cmd、azure_api_base、azure_api_engine_cmd、azure_api_version_cmd,或导出 OPENAI_API_TYPE、OPENAI_API_BASE、OPENAI_API_AZURE_ENGINE、OPENAI_API_AZURE_VERSION。

Q:如何新增自定义动作?

A:编写 JSON 文件定义 action(含 type、opts、args),并在配置的 actions_paths 字段里指定该文件路径。

注意事项

  • README 明确提示 edit 模型已被弃用,可能无法按预期工作。
  • ChatGPTRun 支持 grammar_correction、translate、docstring、add_tests、fix_diagnostic 等多种内置动作。
  • 自定义模板可用变量:{{input}}、{{filetype}}、{{filepath}}、{{argument}}、{{diagnostic}}、{{diagnostics}}。
  • 策略 strategy 支持 replace、display、append、edit,其中 edit 目前仅支持 chat 类型。

核心亮点

  • 深度集成 Neovim 原生体验,支持选中代码直接发送给 ChatGPT,无需复制粘贴
  • 内置多轮对话窗口和自定义提示词模板,可灵活适配解释、重构、写测试等场景
  • 基于 Lua 开发,轻量且易于配置,支持异步请求不阻塞编辑器

不足之处

  • 依赖 OpenAI API 密钥,需付费使用,且网络环境可能受限
  • 文档/社区待观察,功能丰富度与稳定性有待更多用户验证

适用场景

  • 在 Neovim 中快速生成代码片段或函数实现
  • 对选中代码进行解释、找 bug 或优化建议
  • 编写单元测试或文档注释时,通过对话生成初稿

替代项目

Copilot.vim、codeium.nvim、gp.nvim

项目介绍

ChatGPT.nvim 是编程开发领域的开源项目,由 jackMort 开发,2022 年首次发布。

在全站 13,635 个收录项目中,它的 GitHub 星标数(3,995)位列前 30%,在编程开发分类的 529 个项目里位列前 12%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-01-13。开源插件,本地部署,需自备 OpenAI API 密钥,按 API 使用量付费,插件本身免费。

它主要面向的使用场景是:在Neovim中快速生成代码片段或函数实现。同类可对比的替代方案包括 Copilot.vim、codeium.nvim、gp.nvim。

上一篇:AI-Git-Narrator

下一篇:gptstudio

同类项目推荐

bolt.new 开源

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

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

★ 16572 2026-08-09
fuzz4all 开源

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

️Fuzz4All: Universal Fuzzing with Large Language Models

★ 338 2026-08-09
ponytail 开源

教 AI 学会偷懒,不写代码反而更快交付

Makes your AI agent think like the laziest senior dev in the room. The best code is ···

★ 153669 2026-08-09
pi-agent-desktop 开源

下载即用的桌面 AI 编程助手,免配置免命令行

Pi — A cross-platform AI coding agent, bringing the Claude Code experience to your ···

★ 475 2026-09-25