AB

arismoko/buddy.nvim

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

22 stars 1 forks 质量 68 趋势 10MIT

Neovim 的 AI 驱动 MCP 服务器——将编辑器桥接到 LLM 代理

概览

我想在Neovim里用AI工具,而不是去找别的编辑器。所以我做了这个。 buddy.nvim 在 Neovim 内部运行 MCP 服务器。Claude、OpenCode 或任何 MCP 客户端都可以连接并实际控制你的编辑器:读取缓冲区、编辑文件、执行命令、导航。不仅仅是聊天。 你用Lua写工具。它们作为MCP工具(AI称呼它们)和普通Neovim插件(键映射、命令、autocmds)使用。代码相同,两个界面。 克隆到你的 Neovim 包目录: buddy.nvim 采用传输方式,兼容现代 MCP 客户端。 buddy-mcp-proxy 会自动发现正在运行的 Neovim 会话,转发认证令牌,并支持多个实例间切换。无需端口配置。需要 Node.js 20+。 添加到 ~/.config/opencode/opencode.jsonc: 添加到你的 Claude 桌面配置中: - : ~/Library/Application Support/Claude/claude_desktop_config.json - : %APPDATA%\Claude\claude_desktop_config.json - : ~/.config/Claude/claude_desktop_config.json

概述(AI 翻译)

既可作为键映射又可作为MCP工具的Lua工具。


我想在Neovim里用AI工具,而不是去找别的编辑器。所以我做了这个。

buddy.nvim 在 Neovim 内部运行 MCP 服务器。Claude、OpenCode 或任何 MCP 客户端都可以连接并实际控制你的编辑器:读取缓冲区、编辑文件、执行命令、导航。不仅仅是聊天。

你用Lua写工具。它们作为MCP工具(AI称之为)以及作为常规Neovim插件(键映射、命令、autocmds)。代码相同,两个界面。


安装

懒惰的

包装工.NVIM

手册

克隆到你的 Neovim 包目录:


连接MCP客户端

buddy.nvim 使用 HTTP + 服务器发送事件(SSE) 传输方式,兼容现代 MCP 客户端。

连接方式有两种:

选项A:代理(推荐)

buddy-mcp-proxy 会自动检测正在运行的 Neovim 会话,转发认证令牌,并支持多个实例间切换。无需端口配置。需要 Node.js 20+。

开放代码

加到~/.config/opencode/opencode.jsonc:

克劳德桌面

补充你的Claude桌面配置:

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

buddy.nvim

Lua tools that work as keymaps AND as MCP tools.


I wanted AI tooling in Neovim without leaving for another editor. So I built this.

buddy.nvim runs an MCP server inside Neovim. Claude, OpenCode, or any MCP client can connect and actually control your editor: read buffers, edit files, run commands, navigate. Not just chat.

You write tools in Lua. They work as MCP tools (AI calls them) and as regular Neovim plugins (keymaps, commands, autocmds). Same code, both interfaces.


Installation

lazy.nvim

{
  "arismoko/buddy.nvim",
  dependencies = {
    "nvim-mini/mini.nvim",
    "nvim-neotest/nvim-nio",
  },
  lazy = false,
  config = function()
    require("buddy").setup({
      auto_start = true,
      port = 7234,
    })
  end,
}

packer.nvim

use {
  "arismoko/buddy.nvim",
  requires = {
    "nvim-mini/mini.nvim",
    "nvim-neotest/nvim-nio",
  },
  config = function()
    require("buddy").setup({
      auto_start = true,
      port = 7234,
    })
  end,
}

Manual

Clone to your Neovim packages directory:

git clone https://github.com/arismoko/buddy.nvim ~/.local/share/nvim/site/pack/plugins/start/buddy.nvim

Connecting MCP Clients

buddy.nvim uses HTTP + Server-Sent Events (SSE) transport, compatible with modern MCP clients.

There are two ways to connect:

The buddy-mcp-proxy automatically discovers running Neovim sessions, forwards auth tokens for you, and supports switching between multiple instances. No port configuration needed. Requires Node.js 20+.

npm install -g buddy-mcp-proxy

OpenCode

Add to ~/.config/opencode/opencode.jsonc:

{
  "mcp": {
    "vim": {
      "type": "local",
      "command": ["npx", "buddy-mcp-proxy"]
    }
  }
}

Claude Desktop

Add to your Claude Desktop config:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "vim": {
      "command": "npx",
      "args": ["buddy-mcp-proxy"]
    }
  }
}

Option B: Direct SSE Connection

Connect directly to a specific Neovim instance by URL. Simpler, but you must know the port and can only connect to one session.

在 GitHub 查看完整 README

安装

npx buddy-mcp-proxy
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "vim": { "command": "npx", "args": ["buddy-mcp-proxy"] } } }