资讯动态

在 Neovim 中接入 DeepSeek API:llm.nvim 大语言模型插件的安装与完整配置指南

发布时间:2026/9/10 14:20:21 来源:尧图企业网站定制
在 Neovim 中接入 DeepSeek APIllm.nvim 大语言模型插件的安装与完整配置指南【免费下载链接】awesome-deepseek-integrationIntegrate the DeepSeek API into popular software项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-deepseek-integrationllm.nvim 是一款免费的大语言模型LLMNeovim 插件它让AI 对话、划词翻译、解释代码、生成测试用例、撰写 commit 信息等能力直接落地在编辑器内而无需切换到浏览器。本文以本仓库收录的 docs/llm.nvim/README_cn.md 为骨架面向 DeepSeek 场景给出可一键复制的 lazy.nvim 配置并逐项拆解 url、model、api_type、prefix、save_session、keys 等核心参数帮助你在 Neovim 中快速打通 DeepSeek 的 OpenAI 兼容接口。llm.nvim 属于本仓库 README 中 neovim Extensions 分类下的开源插件之一见 README.md 的 neovim Extensions 小节英文原版说明见 docs/llm.nvim/README.md。它不止支持 DeepSeek也支持 GPT、GLM、Kimi 乃至 ollama 等本地模型因此下文配置里的模型接入逻辑可以平滑迁移到其他服务商。功能概览插件能为你做什么根据 docs/llm.nvim/README_cn.md 的描述llm.nvim 的主要功能包括但不限于功能典型使用场景AI 对话与模型进行多轮会话答疑、头脑风暴、编写草稿划词翻译选中一段外文一键翻译无需切换窗口解释代码选中陌生代码让模型讲解其逻辑优化代码让模型给出更优的实现方案或重构建议生成测试用例为选中函数生成单元测试AI 翻译面向整段文本的翻译任务如英译汉生成 git commit 信息根据改动内容自动起草提交说明生成 docstring为函数/类自动补充文档注释这些能力的共同入口是选中文本 指定任务指令由插件的LLMSelectedTextHandler命令承载后面会结合具体键位说明。接入 DeepSeek 的前置条件在动手配置前你需要准备Neovim 与 lazy.nvimllm.nvim 的官方推荐安装方式是 lazy.nvim 插件管理器下文配置即针对 lazy.nvim 编写。DeepSeek API 访问凭证DeepSeek 提供与 OpenAI Chat Completions 兼容的 HTTP 接口。配置中出现的url https://api.deepseek.com/chat/completions正是其接口地址api_type openai表示插件将按 OpenAI 兼容格式组装请求。可用的模型标识示例中使用的model deepseek-chat即 DeepSeek 的对话模型标识。API Key 属于敏感凭证建议按插件的密钥注入机制配置在本地环境中不要硬编码进 Neovim 配置。具体注入方式以 llm.nvim 官方 README对应本仓库 docs/llm.nvim/README.md为准。使用 lazy.nvim 安装并接入 DeepSeek以下配置完整摘自 docs/llm.nvim/README_cn.md可直接放入你的 lazy.nvim 插件列表return { { Kurama622/llm.nvim, dependencies { nvim-lua/plenary.nvim, MunifTanjim/nui.nvim }, cmd { LLMSessionToggle, LLMSelectedTextHandler, LLMAppHandler }, config function() require(llm).setup({ url https://api.deepseek.com/chat/completions, model deepseek-chat, api_type openai, max_tokens 4096, temperature 0.3, top_p 0.7, prompt You are a helpful Chinese assistant., prefix { user { text  , hl Title }, assistant { text  , hl Added }, }, -- history_path /tmp/llm-history, save_session true, max_history 15, max_history_name_length 20, -- stylua: ignore keys { -- The keyboard mapping for the input window. [Input:Submit] { mode n, key cr }, [Input:Cancel] { mode {n, i}, key C-c }, [Input:Resend] { mode {n, i}, key C-r }, -- only works when save_session true [Input:HistoryNext] { mode {n, i}, key C-j }, [Input:HistoryPrev] { mode {n, i}, key C-k }, -- The keyboard mapping for the output window in split style. [Output:Ask] { mode n, key i }, [Output:Cancel] { mode n, key C-c }, [Output:Resend] { mode n, key C-r }, -- The keyboard mapping for the output and input windows in float style. [Session:Toggle] { mode n, key leaderac }, [Session:Close] { mode n, key {esc, Q} }, }, }) end, keys { { leaderac, mode n, cmdLLMSessionTogglecr }, { leaderae, mode v, cmdLLMSelectedTextHandler 请解释下面这段代码cr }, { leaderts, mode x, cmdLLMSelectedTextHandler 英译汉cr }, }, }, }顶层参数逐项说明参数示例值含义与说明urlhttps://api.deepseek.com/chat/completions大模型接口地址。这里指向 DeepSeek 的 Chat Completions 端点是接入 DeepSeek 的关键一行modeldeepseek-chat请求使用的模型标识可按需更换为其他模型api_typeopenai接口协议类型。DeepSeek 兼容 OpenAI 协议因此填写openai插件据此构造请求体max_tokens4096单次回复允许生成的最大 token 数数值越大模型回答可以越长temperature0.3采样温度控制回答随机性。取值越低输出越稳定、贴近事实适合代码解释等任务top_p0.7核采样nucleus sampling参数与 temperature 共同影响输出多样性promptYou are a helpful Chinese assistant.系统提示词System Prompt用于设定模型角色与回答风格prefix.user/prefix.assistant{ text  , hl Title }等会话消息前缀的展示配置text为图标文本hl为对应的 Neovim 高亮组分别使用Title与Added用于在界面上区分用户与助手的消息history_path/tmp/llm-history注释状态会话历史持久化目录。示例中默认被注释如需自定义历史存放位置可取消注释并填写路径save_sessiontrue是否保存会话。开启后才能使用上一条/下一条历史会话的遍历键位max_history15最多保留的历史会话数量max_history_name_length20历史会话名称的最大显示长度键位体系三类窗口的按键映射配置中keys表按窗口职责划分了映射组每一组都有明确的注释说明作用范围输入窗口Input按键键位模式行为Input:Submit→crn提交输入框内容Input:Cancel→C-cn、i取消输入Input:Resend→C-rn、i重新发送编辑后重发当前消息Input:HistoryNext→C-jn、i切换到下一条历史会话仅在save_session true时生效Input:HistoryPrev→C-kn、i切换到上一条历史会话同上输出窗口split 风格按键llm.nvim 支持在 split 风格布局下为输出窗口定义独立按键例如Output:Aski唤起提问、Output:CancelC-c取消生成、Output:ResendC-r重新发送。浮动窗口float 风格会话按键在 float 风格的输出/输入窗口中则由Session:Toggleleaderacnormal 模式开合会话窗口、Session:Closeesc或Q关闭会话窗口。顶层全局键位三种开箱即用的触发方式除了会话窗口内部按键配置末尾还注册了三个全局触发键位对应三个:LLM*命令leaderacnormal 模式→ 执行LLMSessionToggle切换/打开 AI 对话会话窗口。leaderaevisual 模式v→ 执行LLMSelectedTextHandler 请解释下面这段代码选中代码后按下即可让 DeepSeek 解释选中内容。leadertsvisual 模式x→ 执行LLMSelectedTextHandler 英译汉选中英文文本后按下即可触发英译汉翻译。值得注意的细节是LLMSelectedTextHandler命令把任务指令直接写在命令尾部因此你可以在不写新代码的情况下自由组合任务——例如把指令替换成为这段代码生成测试用例优化这段代码或为这个函数生成 docstring即对应前面功能表中的各项能力。而第三个cmd值LLMAppHandler则是应用处理类命令同样通过cmd {...}声明实现插件的延迟加载。延迟加载与依赖说明cmd { LLMSessionToggle, LLMSelectedTextHandler, LLMAppHandler }告诉 lazy.nvim只有当这三个命令之一被实际调用时才加载插件本体从而把插件对 Neovim 启动速度的影响降到最低。而dependencies中声明的两个依赖库各司其职nvim-lua/plenary.nvimNeovim 的通用 Lua 工具库为插件提供异步、文件读写等基础能力MunifTanjim/nui.nvimUI 组件库用于渲染输入窗口、输出窗口、浮动窗口等界面元素。从配置到实战三组高频工作流结合上述键位配置完成后即可用最小的心智负担使用 DeepSeek随手提问任意 normal 模式下按leaderac打开对话窗口输入问题后按cr提交即可获得模型回复。若在对话途中想中止生成按Input:CancelC-c对回答不满意可在修改消息后按Input:ResendC-r重发。想要翻阅之前保存的会话在开启save_session的前提下用C-j/C-k在历史会话间切换。代码即选即问在 visual 模式下选中一段函数或报错片段按leaderae让 DeepSeek 解释这段代码把命令文本换成其他任务描述即可扩展为优化代码生成测试用例生成 docstring等动作。划词翻译在需要翻译的英文文本上做选区后按leaderts插件会把英译汉指令连同选区一起发给模型并回显译文适合阅读英文文档、注释、报错信息时的即时翻译。本仓库内的参考资源本文对应文档docs/llm.nvim/README_cn.md英文原版docs/llm.nvim/README.md收录目录与生态定位查看仓库根 README.md 中 neovim Extensions 小节可与 avante.nvim、codecompanion.nvim、minuet-ai.nvim 等其他 Neovim 侧 DeepSeek 集成方案横向对比选择。llm.nvim 的价值在于把 DeepSeek 的能力压缩进编辑器原生的文本流中翻译、解释、重构、测试、提交信息全部围绕选区 指令展开。你只需复制上文配置并补充自己的 API Key即可在纯键盘工作流中随时调用 DeepSeek无需离开 Neovim。【免费下载链接】awesome-deepseek-integrationIntegrate the DeepSeek API into popular software项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-deepseek-integration创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价