简介
sidekick.nvim 是一个为 Neovim 设计的 AI 助手插件,旨在将大型语言模型与编辑器工作流无缝结合。它把 Copilot LSP 的 Next Edit Suggestions(NES,可一次性或分段应用的多行重构建议)与内置的 AI CLI 终端整合在一起,允许用户在编辑器内获取丰富的差异预览、逐项审阅并选择性应用改动,同时保持与外部 AI CLI 的会话持久性。
插件不仅关注单次补全,而是面向更大粒度的编辑建议(例如跨函数的重构、批量修复、风格统一等),并提供直观的 diff 可视化与 hunk-by-hunk 导航。配合提示库与上下文注入(文件内容、光标位置、诊断信息),可以在编写测试、修复 bug、说明代码意图等场景中大幅提高效率和一致性。
主要特性
- Next Edit Suggestions(NES):在用户暂停输入或移动光标时自动请求更大范围的重构或修复建议,并以可视化 diff 的形式展示,支持逐项审阅与应用。
- AI CLI 集成:内置终端可以连接 Claude、Gemini、Copilot CLI、Codex 等多种命令行 AI 工具,支持会话持久化与上下文注入(文件内容、光标位置、诊断信息)。
- 丰富的 UI 与导航:提供差异高亮、hunk 跳转、状态栏集成和可定制的键位绑定,以便在日常编辑中顺畅使用 AI 功能。
使用场景
代码重构与大范围编辑:在需要跨行或跨函数的重构时,使用 NES 获取整体改动建议并逐步应用。
交互式 AI 辅助:通过内置 CLI 快速与不同 AI 工具对话,生成测试、解释代码或修复问题,而无需离开编辑器。
协同工作流增强:结合状态栏与提示库,提升代码审查、补全和文档编写的效率。
代码审查辅助:在代码评审时,利用差异预览快速理解自动建议带来的影响,并在团队讨论前先行调整建议内容。
学习与迁移场景:帮助新成员理解大型代码库,通过生成逐步的重构建议与注释,提高学习速度。
技术特点
基于 Neovim Lua 插件生态,兼容 Neovim >= 0.11.2。
与 Copilot LSP 协同工作以实现 NES;可通过 Mason 等工具安装和管理 LSP。
使用可扩展的插件 API 和配置系统,支持与其他插件(如 snacks.nvim、nvim-treesitter)联动。
可扩展的 CLI 工具适配层:默认预配置多种常见 AI CLI,并支持自定义接入新的命令行工具。
关注可组合性与安全性:通过配置可以控制上下文注入粒度,避免泄露敏感信息。