Доступ Ollama к местному помощнику по программированию AI Copilot
краткое содержание
Этот документ описывает, как локально собрать что-то вроде Второй пилот Помощник программиста, который поможет вам писать более красивый и эффективный код.
Из этого курса вы научитесь использовать Оллама Интеграция местных помощников программистов, включая
- Продолжить
- Aider
Внимание:
- Мы расскажем об установке и базовом использовании VScode. jetbrain используется точно так же, как и VScode, просто обратитесь к vscode.
- Функции и настройки, доступные в jetbrain, не столь обширны, как в VScode, поэтому рекомендуется использовать VScode.
- Локальная сборка Copilot предъявляет повышенные требования к машине, особенно к части кода, связанной с автозаполнением, поэтому, если у вас нет особых потребностей, рекомендуется приобрести API для ее использования.
I. Введение в программирование искусственного интеллекта
1.1 Почему мы программируем с помощью ИИ?
Большая языковая модель существует уже давно, но область, в которой она проявила себя наилучшим образом, - это программирование, что объясняется следующими причинами:
- Четкие критерии добра и зла. В мире программирования код либо работает, либо нет. Благодаря этой черно-белой природе ИИ легче оценивать качество своей работы.
- Точный язык. В языках программирования нет много двусмысленности. Каждый символ, каждое ключевое слово имеет четкое значение. Именно в такой точности и хороши модели ИИ.
- Целевые миссии. Когда мы пишем код, у нас обычно есть четкая цель. Например, "Написать функцию, которая вычисляет последовательность Фибоначчи". Такие четкие инструкции облегчают ИИ задачу.
- Обобщенность знаний. Изучив основные понятия языка программирования, многое можно перенести на другие языки. Такая переносимость знаний делает модели ИИ особенно эффективными в области программирования.
1.2 Как программировать с помощью ИИ?
- Использование приложения "Диалог с большой моделью" (далее здесь не объясняется)
- Использование интегрированной среды разработки (IDE)
- Продолжить
- Использование инструментов командной строки
- Aider
II. Интегрированная среда разработки Продолжить доступ
2.1 Установка необходимых моделей
- Установите Ollama
- Установите следующие модели
- Установка универсальной модели вопросов и ответов (UQA)
ollama pull llama3:8b
- Установка моделей автоматического завершения кода.
ollama pull starcoder2:3b
- Установите модель встраивания.
ollama pull nomic-embed-text
- Установка универсальной модели вопросов и ответов (UQA)
2.2 Установка Continue в VScode и настройка локальной Ollama
- Установка моделей в библиотеку плагинов VScode
Найдите "Продолжить", увидите следующий значок, нажмите "Установить" или "Установить - (Рекомендуемое действие) Настоятельно рекомендуется переместить "Продолжить" в правую боковую панель VS Code. Это поможет держать проводник файлов открытым при использовании Continue, а также позволит переключать боковую панель простым сочетанием клавиш.
- Конфигурация Оллама
Способ 1: Нажмите Выбрать модель---- выберите Добавить модель---- нажмите Оллама---- выберите Автоопределение
Это автоматически выберет модель, которую мы только что загрузили на Ollama, для инструмента обоснования кода.
Режим 2: Нажмите кнопку Setup (Настройка), как показано на рисунке, чтобы войти на страницу конфигурации, и вставьте следующую конфигурацию{ "models": [ { "title": "Ollama", "provider": "ollama", "model": "AUTODETECT" } ], "tabAutocompleteModel": { "title": "Starcoder 2 3b", "provider": "ollama", "model": "starcoder2:3b" }, "embeddingsProvider": { "provider": "ollama", "model": "nomic-embed-text" } }
2.3 Основные рекомендации по использованию
- Легкий для понимания код

- Код VS.
cmd+L
( MacOS ) /ctrl+L
( Windows ) - JetBrains.
cmd+J
( MacOS ) /ctrl+J
( Windows )
- Использование клавиши Tab для автозаполнения кода

- Код VS.
tab
( MacOS ) /tab
( Windows ) - JetBrains.
tab
( MacOS ) /tab
( Windows )
- ИИ быстро изменяет ваш код

- Код VS.
cmd+I
( MacOS ) /ctrl+I
( Windows ) - JetBrains.
cmd+I
( MacOS ) /ctrl+I
( Windows )
- Задавайте вопросы, основываясь на текущем каталоге кода

- Код VS.
@codebase
( MacOS ) /@codebase
( Windows ) - JetBrains : будущая поддержка
- Задайте вопрос, основываясь на официальной документации

- Код VS.
@docs
( MacOS ) /@docs
( Windows ) - JetBrains.
@docs
( MacOS ) /@docs
( Windows )
2.4 Ссылки
Официальный сайт: https://docs.continue.dev/intro
Среда командной строки Доступ к Aider
Aider - это помощник программирования на основе командной строки, который имеет более высокий уровень доступа к системе и использования функций, чем IDE, но это также означает, что с ним сложнее начать работу.
В следующих руководствах вы узнаете, как установить Aider и подключиться к сервису Ollama.
Также убедитесь:
- У вас установлен git и есть опыт работы с git.
- Опыт работы с python
3.1 Установка помощника
- Aider имеет много зависимостей от окружений python, поэтому рекомендуется использовать conda для создания нового окружения или python для создания нового виртуального окружения, как показано в следующем примере с использованием conda
- Запустите новую виртуальную среду conda (то же самое касается виртуальной среды python).
conda create -n aider_env python=3.9
- Войдите в эту виртуальную среду
conda activate aider_env
- Выполните следующие команды, чтобы установить
python -m pip install aider-chat
- Запустите новую виртуальную среду conda (то же самое касается виртуальной среды python).
3.2 Настройка и запуск Ollama
- Запустите командную строку и установите переменные окружения следующим образом
export OLLAMA_API_BASE=http://127.0.0.1:11434 # Mac/Linux环境 setx OLLAMA_API_BASE http://127.0.0.1:11434 # Windows环境,设置以后重启shell工具
- cd для доступа к локальному репозиторию, если нет, Aider автоматически инициализирует git-репозиторий в текущем каталоге.
#example cd D:\Myfile\handy-ollama\handy-ollama\handy-ollama
- Запустите Aider с помощью следующей команды
aider --model ollama/<你的模型名字> #example #aider --model ollama/llama3:8b
Вы также можете использовать файл .env для настройки информации о Aider.
например## 指定OPENAI_KEY(如果有的话) OPENAI_API_KEY=xxx ## 指定你使用model AIDER_MODEL=ollama/llama3:8b
Дополнительные ссылки на конфигурацию:https://aider.chat/docs/config/dotenv.html
- Успешно, если вы войдете на следующую страницу
- Теперь вы можете пообщаться с ним или отправить ему несколько команд, и он сможет напрямую изменить ваш код.
3.3 Базовое использование
- Вы можете запросить у него некоторую базовую информацию об этом хранилище
- Добавить файлы
/add <file1> <file2> ...
Затем вы можете задать несколько вопросов, основываясь на этих документах
- Вы можете использовать Aider, не добавляя никаких файлов, и он сам попытается определить, какие файлы нужно отредактировать, основываясь на вашем запросе. (Но мысли часто бывают плохими)
- Добавьте соответствующие файлы, чтобы внести изменения или ответить на вопросы о конкретном коде или файле. (Не добавляйте кучу лишних файлов. Если вы добавите слишком много файлов, генерация будет не такой эффективной и обойдется вам дороже. Токен ).
Пример:
- Используйте Aider для внесения изменений непосредственно в файлы кода или другие файлы, например, для добавления резюме в последнюю строку Readme.
Посмотреть актуальный документ - Если вы не хотите, чтобы Aider действительно что-то делал с файлом, вы можете префикснуть диалог оператором /ask
- Удалите все добавленные файлы с помощью команды /drop
3.4 Ссылки
Список часто используемых команд со слэшем:
команда | описания |
---|---|
/add | Добавляйте файлы в чат, чтобы GPT мог их редактировать или подробно просматривать |
/ask | Задавайте вопросы о кодовой базе, не редактируя ни одного файла. |
/chat-mode | Переключение в новый режим чата |
/clear | Очистить историю чата |
/clipboard | Добавляйте изображения/текст из буфера обмена в чат (по желанию указывайте имена для изображений) |
/code | Запрос изменений в коде |
/commit | Отправлять правки, сделанные на складе, вне чата (сообщение об отправке необязательно) |
/diff | Отображает разницу в изменениях с момента последнего сообщения |
/drop | Удалите файлы из сеанса чата, чтобы освободить контекстное пространство |
/exit | Выход из приложения |
/git | Выполните команду git |
/help | Задать вопрос о помощнике |
/lint | Проверка и исправление кода в предоставленных файлах или в чате (если файлы не предоставлены) |
/ls | Перечисляет все известные файлы и указывает, какие файлы включены в сеанс чата |
/map | Печать текущей информации о складе |
/map-refresh | Принудительное обновление и печать информации о складе |
/model | Переход на новую языковую модель |
/models | Поиск в списке доступных моделей |
/quit | Выход из приложения |
/read-only | Добавить файл в чат, только для информации, не редактируемый |
/run | Запустите команду shell и добавьте вывод в чат (псевдоним: !) |
/test | Запустите команду shell и добавьте вывод в чат при ненулевом коде выхода |
/tokens | Сообщение о количестве токенов, используемых в данный момент в контексте чата |
/undo | Отмените последний git-коммит, если он был сделан aider |
/voice | Запись и расшифровка голосовых сообщений |
/web | Захват веб-страниц, преобразование в разметку и добавление в чат |
Более подробную информацию об использовании см. на сайте https://aider.chat/docs/usage.html.
IV. Интегрированная среда разработки Доступ к RooCline (новый)
4.1 Клин и РуКлин
Клайн Это самый популярный в мире плагин ai программирования для vscode. Он использует помощь искусственного интеллекта не так, как большинство инструментов на рынке. Вместо того чтобы сосредоточиться исключительно на генерации или завершении кода, он работает как инструмент системного уровня, который может взаимодействовать со всей средой разработки. Эта особенность особенно важна при работе со сложными сценариями отладки, масштабным рефакторингом или интеграционным тестированием, как мы можем видеть в разделе Cline в справке. Сегодня мы познакомимся с Roo Cline.
RooCline - это улучшенная версия Cline, ориентированная на повышение эффективности и гибкости разработки. Она поддерживает множество языков и моделей (например, Gemini, Meta и т. д.) и предоставляет такие возможности, как интеллектуальные уведомления, оптимизация работы с файлами и обнаружение отсутствующего кода. Кроме того, RooCline поддерживает параллельную работу с Cline для разработчиков, которым необходимо работать над несколькими задачами одновременно.
несмотря на то, что Ру Клайн Он все еще не такой большой, как Cline, но быстро растет. Он добавляет некоторые дополнительные экспериментальные функции к Cline, а также может самостоятельно писать части своего кода с небольшим вмешательством человека.
К тому же Cline потребляет большое количество токенов, что в большей или меньшей степени влияет на ежедневные расходы на разработку.

4.2 Установка RooCline на VScode и настройка локальной Ollama
[](https://github.com/datawhalechina/handy-ollama/blob/main/docs/C7/1.%20%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0%E7%9A%84%20AI%20Copilot%20%E7%BC%96%E7%A8%8B%E5%8A%A9%E6%89%8B.md#42-%E5%9C%A8-vscode-%E5%AE%89%E8%A3%85-roocline-%E4%BB%A5%E5%8F%8A%E9%85%8D%E7%BD%AE%E6%9C%AC%E5%9C%B0-ollama)- Модели установки Ollama (в виде deepseek-r1:1.5b, например)
ollama run deepseek-r1:1.5b
- Установка моделей в библиотеку плагинов VScode
Найдите Roo Cline, увидите следующую иконку, нажмите кнопку "Установить" или "Установить - Конфигурация ollama
- Щелкните на значке клина Ру справа.
- Нажмите на значок "Настройки".
- Название входной модели
- Нажмите кнопку Готово
- Теперь вы можете использовать vscode как любой другой интегрированный редактор + ai.
Далее мы рассмотрим некоторые особенности, присущие только Roo cline!
4.3 Особенности Ру Клин
Обратите внимание, что эти функции зависят от некоторых возможностей крупной модели, особенно когда они применяются на уровне системы управления. Модель deepseek-r1:1.5b в нашем примере не имеет возможности выполнять эти операции, и будет сообщать о слишком большой сложности. Рекомендуется обращаться к deepseek доступ к api (это дешево).
Для следующих 1~2 функций нажмите на значок Prompt в области функций, чтобы перейти на страницу конфигурации.

- Поддержка произвольных API/моделей
- OpenRouter/Anthropic/Glama/OpenAI/Google Gemini/AWS Bedrock/Azure/GCP Vertex
- Нативные модели (LM Studio/Ollama) и любой интерфейс, совместимый с OpenAI
- Разные модели могут использоваться для разных паттернов (например, высокоуровневая модель для архитектурного проектирования, экономическая модель для повседневного кодирования).
- Отслеживание использования на уровне сеанса (статистика потребления и стоимости токенов)
- Пользовательские режимы: настройка с помощью режимов Код Ру роли, инструкции и разрешения:
- встроенный режим
- Код Режим: многофункциональный помощник кодирования по умолчанию
- Архитектор Паттерны: проектирование на уровне системы и архитектурный анализ
- Спросите Модель: Глубокое исследование, вопросы и ответы
- Режим создания пользователей
- Введите "Создать новый режим для", чтобы создать пользовательскую роль.
- Каждый режим может иметь независимые команды и наборы навыков (управляются на вкладке Prompts).
- Дополнительные возможности
- Ограничения по типу файлов (например, режим ask/architect редактирует только markdown)
- Пользовательские правила работы с файлами (например, работать только с тестовыми файлами .test.ts)
- Переключение между режимами (например, режим автокодирования для определенных функций)
- Автономное создание новых моделей (с определением ролей и лимитов файлов)
- встроенный режим
- Гранулярный контроль разрешений Roo cline
Нажмите на экран "Настройки", чтобы войти: вы можете управлять разрешениями Roo cline в настройках Auto-Approve.
Обратите внимание, что это позволяет контролировать, какие действия могут быть выполнены автоматически без вашего согласия. В противном случае вам будет предложено пройти процедуру подтверждения, прежде чем продолжить. - Операции с файлами и редакторами
- Создание/редактирование файлов проекта (сравнение различий)
- Автоматическое реагирование на ошибки в коде (отсутствие импорта, проблемы с синтаксисом и т. д.)
- Отслеживание изменений на временной шкале редактора (для удобства просмотра/отката)
- Интеграция с командной строкой
- Команды управления пакетами/сборки/тестирования
- Контролируйте производительность и автоматически адаптируйтесь к ошибкам
- Непрерывная работа серверов разработки в фоновом режиме Поддержка политик утверждения: построчное подтверждение/автоматическое утверждение рутинных операций
- Автоматизация браузера
На третьем шаге выберите следующие опции, чтобы предоставить Roo Cline возможности веб-автоматизации- Запуск локальных и удаленных веб-приложений
- Нажатие/ввод/прокрутка/снимок экрана
- Сбор журналов консоли для отладки проблем во время выполнения Для сквозного тестирования и визуальной проверки
- MCP Расширение инструмента
Модель Контекстный протокол (MCP) - это протокол расширения возможностей для Roo, который позволяет Roo взаимодействовать с локальными серверами, предоставляющими дополнительные инструменты и ресурсы. Это эквивалентно подключению "внешнего мозга" к помощнику программиста.
Двойной режим - локальный/облачный: вы можете использовать локальные инструменты и сервисы своего компьютера, но также можете подключаться к общим готовым модулям сообщества
Динамическое создание инструмента: просто скажите Roo "сделать инструмент, который ищет последнюю документацию npm", и он автоматически сгенерирует код докинга.
Примеры:- Использование ресурсов сообщества: использование колес, построенных другими
Например, доступ к существующему инструменту "Weather API Query Tool".
Непосредственное использование инструментов, проверенных сообществом разработчиков с открытым исходным кодом - Самостоятельно созданные частные инструменты: адаптация к потребностям бизнеса
Скажите: "Сделайте инструмент, который будет перехватывать внутренние журналы компании".
Ру генерируется автоматически:# 示例自动生成的工具框架 class LogTool(MCPPlugin): def fetch_logs(self, service_name): # 自动对接公司日志系统 # 返回最近1小时的关键错误日志 ...
После того как вы проверили его, инструмент появится в списке навыков Ру!
- Механизм безопасности: все новые инструменты должны быть вручную проверены и авторизованы перед активацией, что предотвращает произвольный вызов чувствительных интерфейсов
- Использование ресурсов сообщества: использование колес, построенных другими
- Context@: способ предоставить дополнительный контекст:
@file
: Содержимое встроенного документа@folder
: Содержит полную структуру каталога@problems
: Ввести ошибки/предупреждения рабочего пространства@url
: Получить документацию URL (в формате markdown)@git
: Предоставляет анализ журналов Git-коммитов/расхождений, чтобы помочь сосредоточиться на ключевой информации и оптимизировать использование токенов.
Ссылки (рекомендуемая литература)
Адрес github Ру Клайна: https://github.com/RooVetGit/Roo-Code теперь переименован в Код РуВас ждет еще больше новых возможностей!
Клайн Введение:Cline (Claude Dev): плагин VSCode для автоматизированного программирования
Сравнение инструментов программирования ИИ:Сравнение инструментов программирования искусственного интеллекта Trae, Cursor, Windsurf
Создайте сайт AI-сервиса с нуля, не написав ни строчки кода, используя инструменты ai-программирования: https://cloud.tencent.com/developer/article/2479975.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...