#编辑器 #AI #后端 #语言服务器 #工程师 #服务 #替代

应用 lsp-ai

LSP-AI 是一个开源的语言服务器,作为 AI 功能的后端,旨在协助并赋能软件工程师,而不是取代他们

9 个版本 (5 个重大更新)

0.6.1 2024年8月21日
0.6.0 2024年8月21日
0.5.1 2024年8月11日
0.4.1 2024年8月8日
0.1.0 2024年6月7日

#67文本编辑器

Download history 343/week @ 2024-06-03 474/week @ 2024-06-10 104/week @ 2024-06-17 16/week @ 2024-06-24 8/week @ 2024-07-01 3/week @ 2024-07-08 5/week @ 2024-07-22 8/week @ 2024-07-29 377/week @ 2024-08-05 180/week @ 2024-08-12

每月 570 次下载

MIT 许可证

280KB
7K SLoC

Logo

赋能程序员,而非取代。

| 文档 | 博客 | Discord |


LSP-AI 是一个开源的 语言服务器,用作您喜欢的代码编辑器中 AI 功能的后端。它提供如代码库内与 LLM 直接聊天和代码补全等特性。因为它是一个语言服务器,所以它可以与任何支持 LSP 的编辑器一起工作。

LSP-AI 的目标是通过对他们已经熟悉和喜爱的工具进行集成,协助并赋能软件工程师,而不是取代软件工程师。

它支持的一些编辑器列表

  • VS Code
  • NeoVim
  • Emacs
  • Helix
  • Sublime

它还支持许多许多许多其他编辑器。

特性

代码库内聊天

在您的代码库中直接与您喜欢的本地或托管模型进行聊天。

in-editor-chatting

在 Helix 中与 Claude Sonnet 聊天

代码补全

LSP-AI 可以作为 Github Copilot 的替代品。

https://github.com/SilasMarvin/lsp-ai/assets/19626586/59430558-da23-4991-939d-57495061c21b

左侧:使用 Mistral Codestral 的 VS Code。右侧:使用 stabilityai/stable-code-3b 的 Helix

请注意,补全的速度完全取决于所使用的后端。对于最快的补全,我们建议使用小型本地模型或 Groq。

文档

请参阅维基百科以获取以下说明

LSP-AI 的案例

tl;dr LSP-AI 从编辑器特定插件作者那里抽象出复杂的实现细节,将开源开发工作集中到一个可共享的后端。

集成AI助手的编辑器将长期存在。它们并不完美,但正在不断改进,早期的研究表明它们已经显示出益处。[相关研究]。尽管一些公司已经发布了像Cursor这样的先进AI编辑器,但开源社区还缺少一个直接的竞争对手。

LSP-AI旨在通过提供将AI功能集成到我们熟悉和喜爱的编辑器中的语言服务器来填补这一空白。以下是为什么我们认为LSP-AI是必要且有益的

  1. 统一AI功能:

    • 通过将AI功能集中到单个后端,LSP-AI允许支持的编辑器无需重复开发工作即可受益于这些进步。
  2. 简化插件开发:

    • LSP-AI抽象化了设置LLM后端、构建复杂的提示等复杂性的问题。插件开发者可以专注于增强他们正在工作的特定编辑器,而不是处理后端复杂性。
  3. 增强协作:

    • 提供共享后端创建了一个协作平台,开源开发者可以聚集在一起添加新的功能。这种统一的工作促进了创新并减少了重复工作。
  4. 广泛兼容性:

    • LSP-AI支持任何遵循语言服务器协议(LSP)的编辑器,确保广泛的编辑器可以利用LSP-AI提供的AI能力。
  5. 灵活的LLM后端支持:

    • 目前,LSP-AI支持llama.cpp、Ollama、与OpenAI兼容的API、与Anthropic兼容的API、与Gemini兼容的API以及与Mistral AI FIM兼容的API,为开发者提供了选择他们首选后端的灵活性。这个列表很快就会增长。
  6. 面向未来:

    • LSP-AI致力于与LLM驱动的软件开发方面的最新进展保持同步。

路线图

这个项目有很多事情要做,每天都有令人难以置信的新研究和技术出现。以下是我们想要添加的一些想法列表,但我们欢迎任何关于优先考虑新功能的贡献和讨论。

  • 实现语义搜索驱动的上下文构建(这可能会非常酷且强大)。计划使用Tree-sitter来正确分割代码。
  • 支持更多的后端
  • 探索基于代理的系统

依赖关系

~93MB
~1.5M SLoC