使用说明
项目简介
senpai.nvim 是一个 Neovim 插件,它集成了 AI 功能,例如聊天、检索增强生成(RAG)、Prompt Launcher 和生成提交消息等。其核心特色之一是实现了 Model Context Protocol (MCP),允许 Neovim 编辑器作为 MCP 客户端,与 MCP 服务器进行通信,从而扩展 AI 功能和上下文信息处理能力。插件本身也内嵌了一个轻量级的 MCP 服务器,用于管理和协调各种 AI 功能。
主要功能点
- 聊天功能 (Chat): 与 AI 进行对话,支持上下文历史记录,方便继续之前的对话。
- MCP (Model Context Protocol): 内置 MCP 客户端和服务端,可以连接外部 MCP 服务器,扩展工具和资源。
- RAG (Retrieval Augmented Generation): 支持检索增强生成,可以从 URL 注册知识库,让 AI 能够基于检索到的信息生成回复。
- Prompt Launcher: 允许用户使用预定义的 Prompt 模板启动聊天,快速定制 AI 的行为模式。
- 生成 Commit Message: 可以根据 Git 暂存区的代码变更,自动生成符合 Conventional Commits 规范的提交消息。
安装步骤
-
确保已安装 Neovim: senpai.nvim 需要 Neovim 环境。
-
安装 Bun: senpai.nvim 依赖 Bun 作为构建和运行环境,请确保已安装 Bun。
-
安装插件: 使用 Neovim 插件管理器(如 lazy.nvim 或 packer.nvim)安装 senpai.nvim。
以 lazy.nvim 为例:
{ "eetann/senpai.nvim", build = "bun install", dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", }, opts = {} }以 packer.nvim 为例:
{ "eetann/senpai.nvim", run = "bun install", requires = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim", "nvim-treesitter/nvim-treesitter", }, opt = true, config = function() require("senpai").setup({}) end } -
安装依赖插件: senpai.nvim 依赖 'nui.nvim', 'plenary.nvim', 'nvim-treesitter',插件管理器会自动安装。
服务器配置
senpai.nvim 作为一个 Neovim 插件,其 MCP 服务器配置主要体现在如何让它连接和使用 外部 的 MCP 服务器,例如 Mastra 提供的文档服务器。你需要在 'senpai.setup' 函数中配置 'mcp.servers' 选项。
配置示例 (Lua):
require("senpai").setup({ mcp = { servers = { sequential = { -- 服务器名称,可以自定义 command = "bunx", -- 启动服务器的命令 args = { "-y", "@modelcontextprotocol/server-sequential-thinking" }, -- 启动参数 }, mastra = { -- 服务器名称,可以自定义 command = "bunx", -- 启动服务器的命令 args = { "-y", "@mastra/mcp-docs-server" } -- 启动参数 }, }, }, })
配置说明:
- 'servers': 一个表格,用于配置多个 MCP 服务器连接。
- 'server name': 服务器的名称,例如 'sequential' 或 'mastra',可以自定义,用于在插件内部引用。
- 'command': 启动 MCP 服务器的命令行命令。 例如 'bunx' 通常用于运行 Node.js 或 Bun 相关的包。
- 'args': 传递给 'command' 的命令行参数,以列表形式提供。例如,'"-y", "@modelcontextprotocol/server-sequential-thinking"' 是 'bunx' 命令的参数,用于指定要运行的包。
注意: 上述配置是让 'senpai.nvim' 连接 外部 MCP 服务器的配置,而不是配置 'senpai.nvim' 自身的 MCP 服务器。 'senpai.nvim' 内置的 MCP 服务器主要用于插件内部功能管理,无需用户直接配置启动命令和参数。
基本使用方法
- 打开聊天窗口: 在 Neovim 中输入命令 ':Senpai toggleChat' 或配置快捷键来打开聊天窗口。
- 开始聊天: 在聊天输入区域输入消息,按 '<CR>' 发送给 AI。
- 使用 Prompt Launcher: 输入命令 ':Senpai promptLauncher' 选择并启动预定义的 Prompt。
- 查看历史记录: 输入命令 ':Senpai loadThread' 加载之前的聊天记录。
- 生成 Commit Message: 在 '.git/COMMIT_EDITMSG' 文件中,输入命令 ':Senpai commitMessage' 或 ':Senpai commitMessage Japanese' 生成提交消息。
更多详细使用方法和配置选项,请参考仓库 README.md 文件和插件文档。
信息
分类
开发者工具