Emigo: помощник для решения сложных задач программирования с использованием искусственного интеллекта в Emacs

Общее введение

Emigo - это ассистент программирования с открытым исходным кодом на основе искусственного интеллекта для Emacs, разработанный MatthewZMD на GitHub, который помогает программистам в решении таких задач, как анализ и модификация кода в Emacs, благодаря интеграции большой языковой модели (LLM). Emigo - это открытый ИИ-помощник программиста для Emacs, разработанный MatthewZMD на GitHub, который помогает программистам анализировать, генерировать и модифицировать код в Emacs за счет интеграции крупномасштабной языковой модели (LLM). Основной особенностью Emigo является "агентный ИИ", который не только генерирует текст, но и взаимодействует с проектом с помощью таких инструментов, как чтение файлов, написание кода или выполнение команд. или выполнять команды. Он был разработан компаниями Aider и Клайн Emigo - это преемник Aidermacs, вдохновленный такими инструментами, как Aidermacs. В настоящее время Emigo находится в стадии бета-тестирования, и его функции все еще дорабатываются, чтобы разработчики могли опробовать их и оставить свои отзывы.

Emigo:在Emacs中使用AI完成复杂编程任务的助手

 

Список функций

  • Использование инструментов на основе агентовAI выбирает и выполняет инструменты в соответствии с требованиями задачи, например, чтение или запись файлов или выполнение команд.
  • Бесшовная интеграция с Emacs: Интерфейс и ярлыки соответствуют родному интерфейсу Emacs.
  • Поддержка нескольких моделей искусственного интеллекта: Подключается к таким моделям, как OpenRouter, Deepseek и т.д. через LiteLLM, который находится в свободном доступе для пользователя.
  • управление контекстом (вычислительная техника): Автоматически записывает историю диалога и файлы проекта, чтобы обеспечить связную беседу.
  • Контекстное добавление файлов: Быстрое добавление файлов в анализ AI с помощью символа "@".
  • Генерация и отображение кодовых патчей: Изменения кода, возвращенные AI, выделены для удобства просмотра.

 

Использование помощи

Emigo - это ИИ-помощник для пользователей Emacs. Здесь вы найдете подробные инструкции по его установке и использованию, чтобы быстро приступить к работе.

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

  1. Проверка соблюдения экологических требований
    • Требуется Emacs версии 28 или выше. Его можно загрузить и установить по адресу https://www.gnu.org/software/emacs/.
    • Требуется Python 3.x, который можно пропустить для тех, у кого он установлен, и получить с сайта https://www.python.org/ для тех, у кого его нет.
  2. Скачать Emigo
    Клонируйте Emigo в каталог конфигурации Emacs, выполнив следующую команду в терминале:
git clone https://github.com/MatthewZMD/emigo.git ~/.emacs.d/emigo
  1. Установка зависимостей Python
    Перейдите в каталог Emigo и запустите его:
cd ~/.emacs.d/emigo
pip install -r requirements.txt

При этом устанавливаются необходимые библиотеки Python, такие как LiteLLM.

  1. Настройка Emacs
    Откройте файл конфигурации Emacs (обычно ~/.emacs.d/init.el), добавьте следующий код:
(use-package emigo
:straight (:host github :repo "MatthewZMD/emigo")
:config
(emigo-enable) ;; 自动启动后台进程
:custom
(emigo-model "openrouter/deepseek/deepseek-chat-v3-0324") ;; 设置默认模型
(emigo-base-url "https://openrouter.ai/api/v1") ;; 设置 API 地址
(emigo-api-key (emigo-read-file-content "~/.config/openrouter/key.txt"))) ;; 加载 API 密钥
  • Конфигурация::
    • emigo-model: Выбор моделей искусственного интеллекта, рекомендации OpenRouter из Deepseek.
    • emigo-base-url: Введите адрес службы API.
    • emigo-api-key: Получите ключ от OpenRouter (https://openrouter.ai) и сохраните его по указанному пути.
  1. Проверка установки
    После сохранения конфигурации перезапустите Emacs. введите M-x emigoЕсли появится новый буфер, значит, установка прошла успешно.

Как использовать

Операции Emigo в основном выполняются в Emacs, сочетая ярлыки и интерактивные окна.

Запуск Emigo

  • В каталоге проекта введите M-x emigoВыделенный буфер открывается после возврата каретки.
  • Если вы находитесь в репозитории Git, Emigo использует корневой каталог репозитория в качестве пути к сессии. Чтобы использовать текущий каталог, введите C-u M-x emigo.

подсказка ввода

  • Введите свои требования в буфер, например:
请优化 @src/main.py 中的排序函数
  • Emigo автоматически найдет src/main.py и отправляется в ИИ для обработки.

Добавление файлов в контекст

  • Ссылайтесь на файл с помощью символа "@", например. @src/utils.pyЕсли его нет, Emigo добавит его в контекст.
  • Чтобы просмотреть контекстный файл, нажмите C-c C-l(бег) emigo-list-context-files).
  • Чтобы удалить файл: нажмите кнопку C-c C-f(бег) emigo-remove-file-from-context).

Взаимодействие с искусственным интеллектом

  • После ввода задания ИИ анализирует его и выдает результаты. Например:
请帮我调试 @src/main.c 中的内存泄漏
  • Патчи, возвращаемые ИИ, будут выделены как:
- free(ptr);
+ if (ptr) free(ptr);

Процесс использования инструмента

  • Функциональность Emigo, основанная на агентах, реализуется с помощью инструментов. ИИ выбирает инструменты, основываясь на таких задачах, как:
  • read_file: Прочитать содержимое файла.
  • write_to_file: Запись в файл.
  • execute_command: Выполнить команду.
  • ИИ может подсказать:
我需要运行 gcc -o test main.c,同意吗?
  • нажмите y Убедитесь, что после выполнения инструмента результаты вводятся в диалог.

Управление сеансами

  • Проверьте контекст: используйте C-c C-l Просмотр списка текущих файлов.
  • Перезапустите сеанс: закройте буфер и запустите его снова M-x emigo.

Оповещения о состоянии разработки

  • В настоящее время Emigo находится в стадии бета-версии и может иметь изменения в API, нестабильную функциональность или неполную документацию. Рекомендуется использовать его только для тестирования и отправлять проблемы через GitHub.

 

сценарий применения

  1. отладка кода
    Когда вы обнаружите сбой в проекте на C, введите "check @main.c for errors", и ИИ проанализирует его и предложит исправление.
  2. Реконструкция документов
    Введите "Refactor functions in @src/utils.py", и Emigo сгенерирует оптимизированный код и отобразит патч.
  3. выполнение команд
    Введите "compile @src/main.c" в проекте, и ИИ выберет execute_command Запуски инструментов gcc.

 

QA

  1. Какие модели поддерживает Emigo?
    LiteLLM поддерживает множество моделей, таких как OpenRouter's Deepseek, Anthropic's Клод и т.д., просто укажите имя модели и API в конфигурации.
  2. Почему подсказка не реагирует?
    Возможно, недействительный ключ API или проблема с сетью. Проверьте путь к файлу ключа и сетевое подключение, чтобы убедиться, что ключ emigo-base-url Доступно.
  3. Как обновить Emigo?
    существовать ~/.emacs.d/emigo Запуск каталога git pull, а затем перезапустите Emacs.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...