Клиент Emacs для Language Server Protocol: добавляет автодополнение, диагностику, навигацию и рефакторинг в стиле IDE.
microsoft/multilspy
Клиентская библиотека LSP на Python для приложений, которые обращаются к языковым серверам за определениями, ссылками, данными hover и вариантами автодополнения.
- Звёзды
- 615
- Форки
- 112
- Открытые issues
- 57
- Последний коммит
- 8 дней назад
Что это?
multilspy — клиентская библиотека на Python для Language Server Protocol. Она позволяет запускать языковой сервер, отправлять запросы вроде перехода к определению, поиска ссылок, hover, автодополнения и получения символов документа, а затем получать структурированные результаты — без необходимости самостоятельно реализовывать обмен данными по JSON-RPC.
Библиотека загружает бинарные файлы серверов для нужной платформы и управляет их настройкой и остановкой, а также обменом данными по протоколу и конфигурацией для каждого языка. Доступны синхронный API и API на основе asyncio. Поддерживаются Java, Python, Rust, C#, TypeScript, JavaScript, Go, Dart, Ruby, Kotlin, PHP и C++.
Проект появился в рамках исследований по Monitor-Guided Decoding, где результаты статического анализа используются для управления генерацией кода с помощью LLM. Библиотека предназначена для создания инструментов, которые дают системам ИИ контекст на уровне репозитория.
Ключевые возможности
- 01Запускает и останавливает языковые серверы, при необходимости загружая бинарные файлы для нужной платформы.
- 02Предоставляет запросы для перехода к определению, поиска ссылок, hover, автодополнения и получения символов документа.
- 03Предлагает синхронный API и API на основе asyncio.
- 04Поддерживает дюжину языков через единый интерфейс.
- 05Включает конфигурацию для каждого поддерживаемого сервера и языка.
Сценарии использования
- Предоставление LLM-агентам для написания кода контекста о символах и типах во всём репозитории.
- Создание инструментов анализа кода, работающих с несколькими языками.
- Извлечение определений и ссылок из кодовой базы для индексации или исследований.
Быстрый старт
- 1
Создайте и активируйте виртуальное окружение Python 3.10 или новее
conda create -n multilspy_env python=3.10 - 2
Активируйте виртуальное окружение
conda activate multilspy_env - 3
Установите multilspy из PyPI
pip install multilspy
Что важно знать
- Требуется Python 3.10 или новее.
- Для каждого поддерживаемого языка нужен отдельный языковой сервер, который multilspy скачивает или настраивает.
Темы
Частые вопросы
- Что такое multilspy?
- Клиентская библиотека LSP на Python для приложений, которые обращаются к языковым серверам за определениями, ссылками, данными hover и вариантами автодополнения. multilspy — клиентская библиотека на Python для Language Server Protocol. Она позволяет запускать языковой сервер, отправлять запросы вроде перехода к определению, поиска ссылок, hover, автодополнения и получения символов документа, а затем получать структурированные результаты — без необходимости самостоятельно реализовывать обмен данными по JSON-RPC.
- multilspy можно использовать бесплатно? Какая у него лицензия?
- multilspy распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- multilspy всё ещё поддерживается?
- Активно поддерживается. Последний коммит в multilspy — 29 окт. 2026 г..
- Для чего можно использовать multilspy?
- Предоставление LLM-агентам для написания кода контекста о символах и типах во всём репозитории. Создание инструментов анализа кода, работающих с несколькими языками. Извлечение определений и ссылок из кодовой базы для индексации или исследований.
- Как установить multilspy?
- Создайте и активируйте виртуальное окружение Python 3.10 или новее: conda create -n multilspy_env python=3.10 Активируйте виртуальное окружение: conda activate multilspy_env Установите multilspy из PyPI: pip install multilspy
- Где скачать multilspy?
- Исходный код и инструкции по установке — на GitHub: https://github.com/microsoft/multilspy
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Быстрый чекер типов и language server для Python на Rust с функциями IDE: переходом по коду, автодополнением и семантической подсветкой.
Парсер Java от версии 1 до Java 25, который строит абстрактное синтаксическое дерево, и модуль для разрешения ссылок на объявления и типы.
Готовые конфигурации Language Server Protocol для подключения Neovim к множеству серверов языков программирования.
Официальная реализация Language Server Protocol для Elixir, добавляющая редакторам интеллектуальные функции для работы с проектами на Elixir.
Плагин для Neovim на чистом Lua, заменяющий copilot.vim: показывает подсказки GitHub Copilot, панель вариантов и предоставляет API для интеграций.