opencode.nvim

在 Neovim 里无缝调用 AI 编程助手,边写边聊不切屏

opencode.nvim 是一个将 OpenCode 命令行 AI 编程助手深度集成到 Neovim 编辑器中的插件。它解决了开发者需要在终端和编辑器之间频繁切换来使用 AI 助手的问题,让你在不离开 Neovim 的情况下,就能享受 AI 驱动的代码生成、解释、重构等能力。该插件基于 Lua 编写,利用 Neovim 的原生 UI 组件(如浮动窗口、缓冲区)来呈现交互界面,支持流式输出、多会话管理、代码差异预览等核心功能。它旨在提供一种无缝的、沉浸式的 AI 编程体验,让开发者能够在自己熟悉的编辑流程中,自然地调用 AI 能力,提升编码效率。

开源 free 办公效率
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3865
维护状态 较活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类办公效率
开发团队nickjvandyke
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,无付费版本。
访问状态
是否开源是
开源协议MIT
主要语言Lua
技术栈/模型ai,ai-agents,ai-assistant,lua,neovim,neovim-plugin,nvim,opencode,plugin,terminal
GitHub 星标★ 3865
30天Star增速
HF 下载量
上线时间2025-07-12 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

Star 增长趋势

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

正在加载星标数据…

技术标签

使用教程

—

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

环境要求

  • Neovim(需支持 vim.pack 的较新版本)
  • 已安装并可运行的 OpenCode(插件本身只是集成层)
  • 插件管理器任选:vim.pack(Neovim 内置)、lazy.nvim 或 nixvim(Nix 用户)
  • 纯 Lua 插件,无需编译或额外运行时

安装与启动步骤

  1. 1准备 OpenCode 本体

    插件只负责把 OpenCode 接入 Neovim,需先去官网 https://opencode.ai/ 安装 OpenCode,并确认终端中能正常运行。

  2. 2用 vim.pack 安装(推荐)

    把插件加入 vim.pack 清单,version 指定最新稳定版;写入你的 Neovim 配置文件后重启生效。

    vim.pack.add({
      {
        src = "https://github.com/nickjvandyke/opencode.nvim",
        version = vim.version.range("*"),
      },
    })
  3. 3改用 lazy.nvim 安装

    如果你用 lazy.nvim,则用左侧插件规格替代 vim.pack;两种方式二选一,不要同时装。

    {
      "nickjvandyke/opencode.nvim",
      version = "*",
      config = function()
        vim.g.opencode_opts = {}
      end,
    }
  4. 4Nix 用户安装方式

    使用 nixvim 的用户直接在 extraPlugins 中引用 pkgs.vimPlugins.opencode-nvim 即可。

    programs.nixvim = {
      extraPlugins = [
        pkgs.vimPlugins.opencode-nvim
      ];
    };
  5. 5配置插件选项

    通过全局变量 vim.g.opencode_opts 传入配置;README 说明默认体验已经很完整,可留空使用默认值。

    vim.g.opencode_opts = {
      -- Your configuration, if any
    }
  6. 6设置推荐按键映射

    复制 README 提供的映射,即可用 提问、 选择提示词、go 追加代码范围等。可按需改键。

    vim.keymap.set({ "n", "x" }, "", function() require("opencode").ask("@this: ") end, { desc = "Ask OpenCode…" })
    vim.keymap.set({ "n", "x" }, "", function() require("opencode").select() end, { desc = "Select OpenCode…" })
    vim.keymap.set({ "n", "x" }, "go", function() return require("opencode").operator("@this ") end, { desc = "Append range to OpenCode", expr = true })
    vim.keymap.set({ "n" }, "goo", function() return require("opencode").operator("@this ") .. "_" end, { desc = "Append line to OpenCode", expr = true })
    vim.keymap.set({ "n" }, "", function() require("opencode").command("session.half.page.up") end, { desc = "Scroll OpenCode up" })
    vim.keymap.set({ "n" }, "", function() require("opencode").command("session.half.page.down") end, { desc = "Scroll OpenCode down" })

关键配置

配置项必填说明示例
vim.g.opencode_opts否插件配置表,可自定义行为;留空即使用默认配置vim.g.opencode_opts = {}

如何确认成功

在 Neovim 中按 ,能弹出 OpenCode 提问输入界面并正常返回结果,即集成成功。

常见问题

Q:必须自己先装 OpenCode 吗?

A:需要。opencode.nvim 只是连接层,负责对接 OpenCode 的 TUI 和 API,OpenCode 本体要按官网 https://opencode.ai/ 单独安装。

Q:vim.pack 和 lazy.nvim 要都配吗?

A:不需要,任选一种安装方式即可,README 把 vim.pack 列为推荐方式。

Q:按键与已有映射冲突怎么办?

A:、、go、goo 等只是 README 的推荐示例,可自行改成不冲突的按键。

Q:配置项有哪些?

A:README 只说明默认配置已足够可靠,完整选项与默认值需查看仓库内 lua/opencode/config.lua。

注意事项

  • 插件可连接任意已有 OpenCode 服务,也可启动集成实例,连接细节见仓库配置类型说明。
  • version = "*" 表示使用最新稳定版,需要尝鲜可自行调整。
  • 修改按键映射或配置后需重启 Neovim 或重新加载配置才生效。

核心亮点

  • 深度集成 Neovim,利用浮动窗口和缓冲区,交互体验流畅自然
  • 支持流式输出和代码差异预览,实时查看 AI 生成结果
  • 多会话管理,方便切换不同任务上下文

不足之处

  • 依赖 OpenCode 命令行工具,需额外安装配置
  • 文档/社区待观察

适用场景

  • 在 Neovim 中编写代码时,需要快速获取 AI 建议或代码补全
  • 进行代码审查或重构时,希望 AI 辅助分析并生成修改方案
  • 学习新代码库或理解复杂逻辑时,通过对话式交互获取解释

替代项目

Copilot.nvim、ChatGPT.nvim、CodeCompanion.nvim

项目介绍

opencode.nvim 是编程开发领域的开源项目,由 nickjvandyke 开发,2025 年首次发布。

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

近 44 天,它的 GitHub 星标从 3,782 增加到 3,864,净增 82。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-24。MIT许可证,完全免费,无付费版本。

它主要面向的使用场景是:在Neovim中编写代码时,需要快速获取AI建议或代码补全。同类可对比的替代方案包括 Copilot.nvim、ChatGPT.nvim、CodeCompanion.nvim。

上一篇:CopilotForXcode

下一篇:SocratiCode

同类项目推荐

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