Repolode
microsoft

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. 1

    Создайте и активируйте виртуальное окружение Python 3.10 или новее

    conda create -n multilspy_env python=3.10
  2. 2

    Активируйте виртуальное окружение

    conda activate multilspy_env
  3. 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 обновляется ежедневно.

Похожие проекты