LSP-AI 项目介绍
LSP-AI 是一个开源的语言服务器,旨在为各种代码编辑器提供 AI 驱动的功能后端支持。该项目的核心理念是"赋能而非替代程序员",通过集成到开发者熟悉和喜爱的工具中来协助和增强软件工程师的能力。
作为一个遵循语言服务器协议(LSP)的项目,LSP-AI 可以与支持 LSP 的任何编辑器无缝协作。这意味着它能够兼容广泛的编辑器,包括但不限于 VS Code、NeoVim、Emacs、Helix 和 Sublime 等。
主要特性
LSP-AI 提供了多项强大的功能,以提升开发者的编码体验:
编辑器内聊天
开发者可以直接在代码库中与他们喜欢的本地或托管模型进行对话。这一功能使得在编码过程中获取 AI 助手的帮助变得异常便捷。
自定义操作
LSP-AI 允许用户创建自定义操作,用于代码重构、代码补全等任务。这一灵活性使得开发者可以根据自己的需求定制 AI 辅助功能。
代码补全
作为 Github Copilot 的替代方案,LSP-AI 提供了强大的代码补全功能。值得注意的是,补全速度主要取决于所使用的后端。为获得最快的补全体验,推荐使用小型本地模型或 Groq。
技术优势
LSP-AI 项目具有以下几个关键优势:
-
统一的 AI 功能:通过集中化的后端,各种支持的编辑器都能受益于 AI 功能的进步,避免了重复开发的工作。
-
简化插件开发:LSP-AI 抽象了复杂的 LLM 后端设置和复杂提示构建等细节,使插件开发者能够专注于增强特定编辑器的功能。
-
增强协作:共享后端为开源开发者提供了一个协作平台,促进创新并减少重复劳动。
-
广泛兼容性:支持任何遵循 LSP 的编辑器,确保了广泛的编辑器都能利用 LSP-AI 提供的 AI 能力。
-
灵活的 LLM 后端支持:目前支持 llama.cpp、Ollama、OpenAI 兼容 API、Anthropic 兼容 API、Gemini 兼容 API 和 Mistral AI FIM 兼容 API,给予开发者选择后端的灵活性。
-
面向未来:LSP-AI 致力于跟进 LLM 驱动的软件开发领域的最新进展。
未来展望
LSP-AI 项目有着宏大的发展计划,包括但不限于:
- 实现基于语义搜索的上下文构建,计划使用 Tree-sitter 进行正确的代码分块。
- 支持更多的后端。
- 探索基于代理的系统。
通过这些努力,LSP-AI 旨在为开源社区提供一个强大的 AI 辅助编码工具,推动软件开发效率的提升,同时保持对开发者工作方式的尊重和支持。