LSP-AI is an open-source language server that serves as a backend for AI-powered functionality, designed to assist and empower software engineers, not replace them.
Go to file
2024-06-26 23:06:48 -07:00
.cargo fix(ci): add missing .cargo/config.toml 2024-06-26 10:52:03 +02:00
.github docs(ci): move README to .github/workflows 2024-06-26 22:35:12 +02:00
.vscode Some more tests and vscode plugin cleanup 2024-05-27 09:49:43 -07:00
crates fix: update visibilty 2024-06-26 22:35:11 +02:00
docs/assets Update quick-editor-settings asset 2024-06-02 13:07:15 -07:00
editors/vscode Add publisher to package.json 2024-06-06 18:52:36 -07:00
examples/helix Added some examples for the helix editor 2024-06-02 21:20:55 -07:00
logos Added logos 2024-05-28 19:57:46 -07:00
xtask feat: add release CI 2024-06-26 10:49:26 +02:00
.gitignore Cleanup vscode plugin 2024-05-28 16:27:50 -07:00
Cargo.lock feat: add release CI 2024-06-26 10:49:26 +02:00
Cargo.toml fix: author name 2024-06-26 22:34:20 +02:00
LICENSE Create LICENSE 2024-05-28 18:12:55 -07:00
README.md Merge pull request #30 from asukaminato0721/gemini 2024-06-21 08:15:56 -07:00

Logo

LSP-AI

Discord

LSP-AI is an open source language server that serves as a backend for performing completion with large language models and soon other AI powered functionality. Because it is a language server, it works with any editor that has LSP support.

The goal of LSP-AI is to assist and empower software engineers by integrating with the tools they already know and love not replace software engineers.

A short list of a few of the editors it works with:

  • VS Code
  • NeoVim
  • Emacs
  • Helix
  • Sublime

It works with many many many more editors.

See the wiki for instructions on:

LSP-AI can work as an alternative to Github Copilot.

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

On the left: VS Code using Mistral Codestral. On the right: Helix using stabilityai/stable-code-3b

Note that speed for completions is entirely dependent on the backend being used. For the fastest completions we recommend using either a small local model or Groq.

The Case for LSP-AI

tl;dr LSP-AI abstracts complex implementation details from editor specific plugin authors, centralizing open-source development work into one shareable backend.

Editor integrated AI-powered assistants are here to stay. They are not perfect, but are only improving and early research is already showing the benefits. While several companies have released advanced AI-powered editors like Cursor, the open-source community lacks a direct competitor.

LSP-AI aims to fill this gap by providing a language server that integrates AI-powered functionality into the editors we know and love. Heres why we believe LSP-AI is necessary and beneficial:

  1. Unified AI Features:

    • By centralizing AI features into a single backend, LSP-AI allows supported editors to benefit from these advancements without redundant development efforts.
  2. Simplified Plugin Development:

    • LSP-AI abstracts away the complexities of setting up LLM backends, building complex prompts and soon much more. Plugin developers can focus on enhancing the specific editor they are working on, rather than dealing with backend intricacies.
  3. Enhanced Collaboration:

    • Offering a shared backend creates a collaborative platform where open-source developers can come together to add new functionalities. This unified effort fosters innovation and reduces duplicated work.
  4. Broad Compatibility:

    • LSP-AI supports any editor that adheres to the Language Server Protocol (LSP), ensuring that a wide range of editors can leverage the AI capabilities provided by LSP-AI.
  5. Flexible LLM Backend Support:

    • Currently, LSP-AI supports llama.cpp, Ollama, OpenAI-compatible APIs, Anthropic-compatible APIs, Gemini-compatible APIs and Mistral AI FIM-compatible APIs, giving developers the flexibility to choose their preferred backend. This list will soon grow.
  6. Future-Ready:

    • LSP-AI is committed to staying updated with the latest advancements in LLM-driven software development.

Roadmap

There is so much to do for this project and incredible new research and tools coming out everyday. Below is a list of some ideas for what we want to add next, but we welcome any contributions and discussion around prioritizing new features.

  • Implement semantic search-powered context building (This could be incredibly cool and powerful). Planning to use Tree-sitter to chunk code correctly.
  • Support for additional backends
  • Exploration of agent-based systems