doc: добавлен раздел практического применения и улучшены формулировки
This commit is contained in:
@@ -1,2 +1,2 @@
|
|||||||
* Не делай git commit, git push и другие команды git, если специально не попросили. Если это нужно, предложи 2-3 варианта коммитов и сообщений к ним на русском языке.
|
* Не делай git commit, git push и другие команды git, если специально не попросили. Если это просят, предвариельно предложи 2-3 варианта коммитов и сообщений к ним на русском языке.
|
||||||
* Префиксы коммитов: `fix:` — исправление ошибки; `add:` — новый файл, модуль, метод, функциональность; `mod:` — изменения, улучшения, развите существующих методов, классов и т.п.; `ref:` — рефакторинг; `doc:` — документация; `tst:` — тесты; `minor:` — незначительные изменения, стиль кода, комментарии, форматирование; `chore:` — вспомогательные задачи, не влияющие на функциональность (например, обновление зависимостей).
|
* Префиксы коммитов: `fix:` — исправление ошибки; `add:` — новый файл, модуль, метод, функциональность; `mod:` — изменения, улучшения, развитие существующих методов, классов и т.п.; `ref:` — рефакторинг; `doc:` — документация; `tst:` — тесты; `minor:` — незначительные изменения, стиль кода, комментарии, форматирование; `chore:` — вспомогательные задачи, не влияющие на функциональность (например, обновление зависимостей).
|
||||||
@@ -13,9 +13,9 @@
|
|||||||
- **[Ollama](https://ollama.com/)**
|
- **[Ollama](https://ollama.com/)**
|
||||||
- **[llama.cpp / llama-server](https://github.com/ggerganov/llama.cpp)**
|
- **[llama.cpp / llama-server](https://github.com/ggerganov/llama.cpp)**
|
||||||
- **[vLLM](https://docs.vllm.ai/)**
|
- **[vLLM](https://docs.vllm.ai/)**
|
||||||
- **[LocalAI](https://localai.io/)** / **[Jan](https://jan.ai/)** / **[Text Generation WebUI (oobabooga)](https://github.com/oobabooga/text-generation-webui)** и так далее.
|
- **[LocalAI](https://localai.io/)** / **[Jan](https://jan.ai/)** / **[Text Generation WebUI](https://github.com/oobabooga/text-generation-webui)** (oobabooga) и так далее.
|
||||||
|
|
||||||
Мой персональный выбор в пользу oMLX связан с тем, что в нем агент написания кода не аннулирует кэш ключ-значение (KV-cache) десятки раз за сессию, а сохраняет каждый блок кэша на SSD. Из-за этого агент, возвращаясь к предыдущему префиксу, восстанавливает контекст за миллисекунды, а не пересчитывает его с нуля.
|
Мой персональный выбор в пользу oMLX связан с тем, что в нем агент написания кода не сбрасывает кэш ключ-значение (KV-cache) десятки раз за сессию, а сохраняет каждый блок кэша на SSD. Из-за этого агент, возвращаясь к предыдущему префиксу, восстанавливает контекст за миллисекунды, а не пересчитывает его с нуля.
|
||||||
|
|
||||||
Реализация выполнена на стандартной библиотеке Python 3.12+ без сторонних зависимостей во время выполнения и оптимизирована для управления окружением через `poetry`.
|
Реализация выполнена на стандартной библиотеке Python 3.12+ без сторонних зависимостей во время выполнения и оптимизирована для управления окружением через `poetry`.
|
||||||
|
|
||||||
@@ -111,6 +111,8 @@ OMLX_TIMEOUT=120
|
|||||||
|
|
||||||
Для подключения MCP-сервера к агенту Junie в PyCharm укажите конфигурацию в файле `.junie/mcp.json` в корне любого вашего рабочего проекта.
|
Для подключения MCP-сервера к агенту Junie в PyCharm укажите конфигурацию в файле `.junie/mcp.json` в корне любого вашего рабочего проекта.
|
||||||
|
|
||||||
|
Другой способ (для глобальной конфигурации) — в настройках плагина **Junie Pro**: `Junie Settings` → вкладка `Junie Model Context Protocol (MCP)` → в блоке `Add Custom MCP configuration here...` нажать `+` и вставить JSON с настройками. На момент октября 2026 года это срабатывало, но интерфейс может меняться.
|
||||||
|
|
||||||
Поскольку сервер реализован на **стандартной библиотеке Python без сторонних зависимостей**, его можно запускать напрямую через системный `python3` без накладных расходов на Poetry или виртуальные окружения.
|
Поскольку сервер реализован на **стандартной библиотеке Python без сторонних зависимостей**, его можно запускать напрямую через системный `python3` без накладных расходов на Poetry или виртуальные окружения.
|
||||||
|
|
||||||
### Вариант 1. Прямой запуск через python3 (Рекомендуемый и самый надежный)
|
### Вариант 1. Прямой запуск через python3 (Рекомендуемый и самый надежный)
|
||||||
@@ -137,6 +139,7 @@ OMLX_TIMEOUT=120
|
|||||||
```
|
```
|
||||||
|
|
||||||
> **Преимущество:** Работает мгновенно из любого проекта, не зависит от наличия Poetry в `PATH` фоновых процессов IDE и позволяет задавать настройки прямо в конфигурации MCP.
|
> **Преимущество:** Работает мгновенно из любого проекта, не зависит от наличия Poetry в `PATH` фоновых процессов IDE и позволяет задавать настройки прямо в конфигурации MCP.
|
||||||
|
>
|
||||||
> **Примечание:** Если `python3` не обнаружен в `PATH` внутри IDE или нужная версия Python находится в виртуальном окружении, укажите полный путь к исполняемому файлу (например, `/путь/к/omlx-mcp-server/.venv/bin/python` или `/usr/local/bin/python3`).
|
> **Примечание:** Если `python3` не обнаружен в `PATH` внутри IDE или нужная версия Python находится в виртуальном окружении, укажите полный путь к исполняемому файлу (например, `/путь/к/omlx-mcp-server/.venv/bin/python` или `/usr/local/bin/python3`).
|
||||||
|
|
||||||
### Вариант 2. Запуск через Poetry
|
### Вариант 2. Запуск через Poetry
|
||||||
@@ -213,3 +216,36 @@ echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}' | pytho
|
|||||||
```
|
```
|
||||||
|
|
||||||
4. Для выхода нажмите `Ctrl+C` или `Ctrl+D`.
|
4. Для выхода нажмите `Ctrl+C` или `Ctrl+D`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Практическое применение: интеграция Junie и локального ИИ
|
||||||
|
|
||||||
|
Для эффективной совместной работы облачного агента Junie и локальной языковой модели через MCP рекомендуется настроить файл правил `.junie/AGENTS.md` (или `.junie/guidelines.md`) в вашем рабочем проекте, а также использовать специальные формулировки в диалогах.
|
||||||
|
|
||||||
|
### 1. Настройка `.junie/AGENTS.md` (Системные инструкции для агента)
|
||||||
|
|
||||||
|
Добавьте следующие правила в `.junie/AGENTS.md` любого проекта, где вы хотите использовать гибридный подход (пример):
|
||||||
|
|
||||||
|
```markdown
|
||||||
|
* Для локального ревью кода, генерации черновых вариантов или второго мнения используй MCP-инструменты oMLX (`ask_local_model`, `review_code_locally`).
|
||||||
|
* Архитектура взаимодействия: внешняя модель выступает главным координатором (валидирует требования, структуру проекта и стандарты), а локальная модель — экспертом по проверке фрагментов кода и генерации идей.
|
||||||
|
* При работе с конфиденциальными алгоритмами или приватными данными делегируй их обработку локальной модели через инструмент `ask_local_model`.
|
||||||
|
* При недоступности или таймауте локальной модели продолжай работу самостоятельно, не блокируя выполнение задачи.
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Примеры запросов к Junie в диалоге
|
||||||
|
|
||||||
|
Благодаря MCP-протоколу вам не нужно вручную копировать код между окнами — Junie сама вызовет локальную модель через зарегистрированные инструменты.
|
||||||
|
|
||||||
|
#### Пример А: Запрос на альтернативное мнение / брейншторм
|
||||||
|
> *«Junie, спроси у локальной модели 3 варианта оптимизации функции `calculate_metrics` в файле `analytics.py` и сравни их с твоим предложением».*
|
||||||
|
|
||||||
|
#### Пример Б: Локальное код-ревью перед коммитом
|
||||||
|
> *«Сделай локальное ревью изменений в модуле `auth.py` через инструмент `review_code_locally` и выдели критичные замечания».*
|
||||||
|
|
||||||
|
#### Пример В: Обработка приватных данных или конфиденциального кода
|
||||||
|
> *«Проанализируй алгоритм расчета формулы через `ask_local_model`, не отправляя сырые данные в облако, и напиши тесты на основе его ответа».*
|
||||||
|
|
||||||
|
#### Пример Г: Проверка критичных таблиц или данных
|
||||||
|
> *«Проверь через локальный ИИ поля таблицы `person` и валидацию для записи #42».*
|
||||||
|
|||||||
Reference in New Issue
Block a user