惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
U
Unit 42
博客园 - 三生石上(FineUI控件)
aimingoo的专栏
aimingoo的专栏
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
云风的 BLOG
云风的 BLOG
Jina AI
Jina AI
S
Schneier on Security
T
Threatpost
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
The Register - Security
The Register - Security
Google DeepMind News
Google DeepMind News
L
LINUX DO - 热门话题
T
Tenable Blog
M
MIT News - Artificial intelligence
Vercel News
Vercel News
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
L
Lohrmann on Cybersecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
P
Palo Alto Networks Blog
A
About on SuperTechFans
V
Visual Studio Blog
T
The Exploit Database - CXSecurity.com
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
MyScale Blog
MyScale Blog
月光博客
月光博客
P
Privacy & Cybersecurity Law Blog
H
Help Net Security
腾讯CDC
T
Tailwind CSS Blog
博客园_首页
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 【当耐特】

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Оффлайн агент IDE Continue
SergeyRoot · 2026-04-24 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение5 мин

Охват и читатели170

Туториал

Оглавление

  1. Введение

  2. Что потребуется

  3. Шаг 1: Установка Ollama

  4. Шаг 2: Загрузка моделей (LLM + embed)

  5. Шаг 3: Установка IntelliJ IDEA и плагина Continue

  6. Шаг 4: Настройка config.yaml

  7. Шаг 5: Индексация проекта и первый запуск

  8. Пример работы: генерация и вставка кода

  9. Заключение

Введение

Я расскажу, как реализовать локального LLM, который будет генерировать текст, код, тесты и сам вставлять результат прямо в ваш проект, если это требуется.

⚠️ Важно: это не полноценный «агент» в современном понимании (с планированием, памятью и т.д.). Но плагин Continue именно так его называет, и я буду придерживаться этой терминологии.

Конечно, возможности локального ИИ напрямую зависят от вашего железа. Чем мощнее машина — тем больше контекст и лучше качество. Но подобрать модель можно практически под любой ПК, просто она будет иметь меньше памяти, токенов и более скромные возможности.

Давайте сразу договоримся: никаких «это только для избранных» — я покажу, как всё настроить, а вы уже подберёте модель под свои ресурсы.

Что потребуется

  1. Ollama (или LM Studio — настройка LM Studio описана в моей предыдущей статье).

  2. IntelliJ IDEA (Community или Ultimate — без разницы).

  3. Плагин Continue для IDE.

По сути — всё. Теперь пройдёмся по каждому пункту подробно.

Шаг 1: Установка Ollama

  1. Скачайте установщик с официального сайта.

  2. Запустите и установите (все настройки по умолчанию — подойдут).

Просто кликаем и устанавливаем думаю тут проблем быть не должно.

Просто кликаем и устанавливаем думаю тут проблем быть не должно.

Проверка установки

  • Нажмите Win + R, введите powershell, нажмите Enter.

  • В открывшемся окне выполните:

ollama --version
Если у вас отобразилась версия то Ollama у вас успешно установлена.

Если у вас отобразилась версия то Ollama у вас успешно установлена.

Если показана версия — Ollama установлена успешно.

Шаг 2: Загрузка моделей

Нам понадобятся две модели:

  • Генеративная LLM (будет писать код и отвечать на вопросы).

  • Embedding-модель (будет индексировать ваш проект, разбивать на чанки и позволит искать контекст).

Embedding-модель нужна для функции Index — она делает код проекта доступным для поиска по смыслу.

Вводим в PowerShell следующие команды (по очереди):

ollama pull nomic-embed-text:latest
ollama pull qwen3-coder:30b
Пример qwen2.5-coder:14b потому что 30b уже скачана.

Пример qwen2.5-coder:14b потому что 30b уже скачана.

Пример из жизни автора: на скриншоте в оригинале использовался qwen2.5-coder:14b, потому что 30b уже была скачана.

Системные требования (пример автора)

  • 32 ГБ DDR5

  • Intel 12900K

  • NVIDIA RTX 4090 24 ГБ

Если у вас скромнее — выбирайте модель поменьше, например:

  • qwen2.5-coder:7b

  • codellama:13b

  • deepseek-coder:6.7b

После загрузки модель автоматически запустится в интерактивном режиме (вы попадёте в чат с LLM).
Чтобы выйти, введите /exit.

Проверьте, что обе модели загружены:

ollama list

Вы должны увидеть nomic-embed-text и выбранную вами coder-модель.

Если у вас отобразилось две то мы на правильном пути.

Если у вас отобразилось две то мы на правильном пути.

Теперь PowerShell можно закрыть.

Шаг 3: Установка IntelliJ IDEA и плагина Continue

3.1. Установка IDE

Если IntelliJ IDEA ещё не установлена — скачайте с официального сайта и установите. Любая версия подойдёт.

3.2. Установка плагина Continue

Способ 1 (через Marketplace)
File → Settings → Plugins → Marketplace → найти Continue → установить.

Pugin Continue

Pugin Continue

Способ 2 (вручную, если Marketplace недоступен)

  • Скачайте последнюю версию плагина (файл .jar) с официального релиза.

  • В IDE: Settings → Plugins → ⚙️ → Install plugin from disk… → выберите .jar-файл.

  • Перезапустите IDE.

После успешной установки в правом верхнем углу появится иконка виджета Continue.

Виджет Continue

Виджет Continue

Шаг 4: Настройка config.yaml

Это самый ответственный этап. Откройте конфигурационный файл Continue:

  • В виджете Continue нажмите на шестерёнку → config.yaml.

  • Скопируйте туда содержимое ниже, адаптировав под свои модели (замените qwen3-coder:30b на ту модель, которую скачали).

name: Qwen Big Context Config
version: 1.0.0
schema: v1

models:
  - name: qwen3-coder
    provider: ollama
    model: qwen3-coder:30b        # замените на вашу модель
    roles:
      - chat
      - edit
      - apply

    defaultCompletionOptions:
      contextLength: 80000        # размер контекста (чем больше, тем тяжелее для GPU)
      maxTokens: 8192             # максимальная длина ответа
      temperature: 0.2            # 0.0–0.5 — низкая креативность, 0.7+ — высокая

  - name: nomic-embed             # embedding-модель
    provider: ollama
    model: nomic-embed-text
    roles:
      - embed

    embedOptions:
      maxChunkSize: 500           # размер одного чанка (у меня 700 выдавал ошибки)
      chunkOverlap: 50            # перекрытие между соседними чанками
      maxBatchSize: 16            # чанков за один пакет


retrieval:
  maxChunks: 40                   # сколько чанков извлекать из индекса по запросу


context:
  - provider: code
  - provider: file
  - provider: diff
  - provider: terminal
  - provider: problems

# Дополнительные правила (можно дописать свои)
rules:
  - Всегда сначала ищи код в workspace
  - Используй несколько файлов для анализа
  - При рефакторинге сохраняй структуру проекта
  - Не придумывай код, если он не найден

💡 Пояснение параметров

  • contextLength — максимальная длина контекста (токенов). У каждой модели есть свой потолок; слишком большое значение вызовет ошибку.

  • temperature — при 0.2 модель будет довольно «серьёзной», почти без выдумок.

  • chunkOverlap — помогает не терять смысл на границах чанков.

После редактирования сохраните файл.

Шаг 5: Индексация проекта и первый запуск

5.1. Перезапустите IDE с очисткой кеша

File → Invalidate Caches... → Invalidate and Restart

Перезагрузка IDE.

Перезагрузка IDE.

5.2. Запустите индексацию проекта

В виджете Continue нажмите Index → Click to re-index.

Пример как выглядит.

Пример как выглядит.

Если возникли ошибки, полностью удалите папки index и logs из директории:
C:\Users\<Ваше_имя_пользователя>\.continue
После этого Continue сам пересоздаст их при повторной попытке.

Полностью удаляем.

Полностью удаляем.

5.3. Переключите режим с «Chat» на «Agent»

В виджете найдите переключатель внизу (или в выпадающем меню) и выберите Agent вместо Chat.

Пример отображения Agent.

Пример отображения Agent.

В режиме Agent Continue может сам применять изменения к файлам (создавать, редактировать, удалять). Для этого используется кнопка Apply.

Пример работы: генерация сортировки пузырьком

  1. Откройте файл, в который хотите вставить код (или создайте новый).

  2. В чате Continue напишите:

text

Реализуй в классе @Ваш класс пузырьковый метод сортировки. Просто добавь его без анализа.
Пузырьковый метод сортировки

Пузырьковый метод сортировки

Варианты работы.

Варианты работы.

Чтобы привязать конкретный файл (или несколько), используйте @ и выберите нужные файлы из подсказок. Например:
@src/main/java/MyClass.java

  1. Модель сгенерирует ответ. Если вас устраивает код, нажмите Apply — IDE сама вставит код в указанные файлы и подсветит изменения.

Пример работы Apply.

Пример работы Apply.

Заключение

Теперь у вас есть локальный LLM, который:

  • видит весь ваш проект (благодаря эмбеддингам и индексации),

  • может писать тесты, рефакторить код, отвечать на вопросы по кодовой базе,

  • сам вставляет код в нужные файлы (одним кликом).

Конечно, это не замена облачным гигантам вроде GPT-4 или Claude. Но это идеальное решение, если:

  • вы работаете с закрытым кодом и не можете отправлять его в облако,

  • у вас нет доступа к интернету,

  • вы просто любите экспериментировать с локальными моделями.

Успешной кодировки!


Если у вас остались вопросы — задавайте в комментариях. Обязательно укажите конфигурацию вашего ПК и модель, которую пытаетесь запустить.