🇬🇧 English • 🇷🇺 Русский • 🇨🇳 中文
MSCodebase Intelligence — MCP-сервер для семантического поиска кода в Zed IDE. Работает как расширение Zed. Разработка в
D:\Project\MSCodeBase.
| Компонент | Требование |
|---|---|
| ОС | Windows 10+ (основная поддержка), macOS 12+, Linux |
| Python | 3.10+ (рекомендуется 3.11+) |
| ОЗУ | 4 ГБ (рекомендуется 8+ ГБ) |
| Диск | 500 МБ (с моделью — до 2 ГБ) |
| Zed IDE | последняя версия |
| LM Studio (опционально) | для векторного поиска через эмбеддинги |
| llama.cpp (автоустановка) | встроенный эмбеддер/реранкер через GGUF-модели |
Откройте терминал в корне вашего проекта (где находится install.py) и выполните:
python install.pyLinux/macOS: Также можно использовать
./install.shдля направляемой установки. Windows: Также можно использоватьinstall.bat(двойной щелчок или запуск в cmd).
Установщик выполнит:
- ✅ Проверку Python и совместимости
- ✅ Создание виртуального окружения и установку зависимостей
- ✅ Скачивание и установку llama.cpp + GGUF-моделей (
bge-m3+bge-reranker-v2-m3) - ✅ Настройку MCP-сервера в
settings.jsonZed - ✅ Копирование исходных файлов в установленное расширение
- ✅ Создание
uninstall.bat
Важно: Установщик копирует файлы из текущей директории в расширение. Все изменения исходников вступают в силу только после
python install.py.
Начиная с v2.7.0, install.py автоматически:
- Скачивает llama-server.exe под вашу платформу (Windows/macOS/Linux, x64/ARM64)
- Скачивает GGUF-модели:
bge-m3-Q4_K_M(417 МБ) для эмбеддингов иbge-reranker-v2-m3-Q4_K_M(418 МБ) для реранкинга - Запускает llama-server при старте MCP — никаких внешних сервисов не требуется
- Освобождает до 5,3× ОЗУ по сравнению с LM Studio (227 МБ vs 1200 МБ)
Весь процесс полностью автоматический. Никаких дополнительных действий от пользователя не требуется.
File → Quit, затем снова откройте проект.
Простой window: reload недостаточен — MCP-сервер должен полностью перезапуститься.
Откройте Agent Panel (Ctrl+Shift+P → Agent Panel: Toggle) и выполните:
get_index_status()
Вы должны увидеть:
📂 <корень-вашего-проекта>
🟢 **MSCodeBase** — active
📦 **Chunks:** `2985` | **Files:** `170` | **Symbols:** `1357`
🧠 **Embedder:** 🦙 llama.cpp
Если проект определён неверно (показывается другой проект вместо вашего) — закройте все окна Zed и откройте только нужный проект.
На Windows есть критические особенности, которые нужно знать:
| Проблема | Симптом | Решение |
|---|---|---|
| Restricted Mode | LSP не запускается, MCP не видит проект | Нажмите «Trust and Continue» при открытии проекта |
| CWD = директория Zed | MCP-сервер запускается из папки установки Zed, а не из проекта | Исправлено через SQLite fallback (проект берётся из БД Zed, а не из CWD) |
| MCP не перезапускается | После убийства процесса инструменты не работают | Только полный перезапуск Zed (File → Quit) |
| Проект определяется неверно | Показывает gemma_agent вместо MSCodeBase | Закройте все окна Zed, откройте только нужный проект |
Подробнее: ZED_WINDOWS_QUIRKS.md
MCP-сервер определяет текущий проект в следующем порядке:
- Явный
project_rootиз аргументов инструментов - SQLite
active_workspace_id(НОВЫЙ, основной!) — читаетscoped_kv_storeв базе данных Zed, которая хранитactive_workspace_id— единственный механизм, работающий на Windows. Мгновенно переключается при смене проекта. - SQLite
workspaces(старый fallback) — выбирает последний проект из таблицыworkspaces, еслиactive_workspace_idне найден. - LSP Bridge (JSON-файл от LSP — не работает на Windows, LSP не запускается)
PROJECT_PATHиз окружения- CWD — всегда отклоняется защитой от самоиндексации
- ext_root (директория расширения) — fallback
На Windows шаги 1, 4-5 обычно недоступны, поэтому проект определяется через SQLite
active_workspace_id(шаг 2). Этот механизм автоматически переключает проект при смене активного окна в Zed. Если определение всё ещё неверное — закройте лишние окна Zed.
LM Studio обеспечивает более качественный поиск через векторные эмбеддинги.
- Установите LM Studio
- Скачайте модель эмбеддингов (например,
BAAI/bge-m3) - Запустите локальный сервер на порту
1234 - MCP-сервер подключится автоматически
Проверка:
intel_get_runtime_status()
В ответе должно быть "embedding_provider": "lm_studio" и "lm_studio_at_1234": "online".
:: Запустите деинсталлятор
uninstall.batИли вручную:
- Удалите секцию
mscodebase-intelligenceиз%APPDATA%\Zed\settings.json - Удалите папку расширения:
%LOCALAPPDATA%\Zed\extensions\mscodebase-intelligence - Удалите
.codebase_indicesиз корня вашего проекта (если присутствует)
| Проблема | Причина | Решение |
|---|---|---|
| Инструменты не отвечают | MCP-сервер не запущен | File → Quit → снова откройте проект. Логи: %LOCALAPPDATA%\Zed\extensions\mscodebase-intelligence\.codebase_indices\logs\ |
| Неверный проект | SQLite выбрала другое рабочее пространство | Закройте все окна Zed, откройте только нужный проект |
| 0 chunks | Индекс пуст | intel_trigger_reindex() — подождите 1-5 минут |
| llama.cpp офлайн | Эмбеддер не запущен | Проверьте intel_get_runtime_status(). Логи: директория расширения + .codebase_indices/logs/ |
| LM Studio офлайн | Только если используется LM Studio | Запустите LM Studio, проверьте порт 1234 |
| Предупреждение settings.json | Устаревшие ключи (lsp, mscodebase) |
Запустите python install.py — он очистит их |
| ModuleNotFoundError | PYTHONATH не указывает на расширение | python install.py — исправляет автоматически |
Где хранятся данные:
- Индекс (LanceDB):
<проект>/.codebase_indices/lancedb_v2/— векторная БД с чанками кода - Логи:
%LOCALAPPDATA%\Zed\extensions\mscodebase-intelligence\.codebase_indices\logs\ - Память проекта (ADR, known_issues):
<проект>/.codebase_indices/intelligence/
# Клонирование
git clone https://github.com/ManSio/mscodebase-intelligence.git
cd mscodebase-intelligence
# Установка в режиме разработки
pip install -e ".[dev]"
# Запуск тестов
pytest
# Установка в Zed (после изменений)
python install.pyПодробнее: CONTRIBUTING.md
| Документ | Описание |
|---|---|
| README.md | Основная документация, карта всех доков, список инструментов |
| ZED_WINDOWS_QUIRKS.md | Особенности Windows: Restricted Mode, CWD, перезапуск MCP |
| ARCHITECTURE.md | Архитектура проекта, DI, слои |
| TELEMETRY.md | Метрики, ETA, сбор данных |
| LSP_WONTFIX.md | Почему LSP не работает на Windows |
| CHANGELOG.md | История версий |
| CONTRIBUTING.md | Разработка, тесты, PR |
