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

Список функций
- Использование инструментов на основе агентовAI выбирает и выполняет инструменты в соответствии с требованиями задачи, например, чтение или запись файлов или выполнение команд.
- Бесшовная интеграция с Emacs: Интерфейс и ярлыки соответствуют родному интерфейсу Emacs.
- Поддержка нескольких моделей искусственного интеллекта: Подключается к таким моделям, как OpenRouter, Deepseek и т.д. через LiteLLM, который находится в свободном доступе для пользователя.
- управление контекстом (вычислительная техника): Автоматически записывает историю диалога и файлы проекта, чтобы обеспечить связную беседу.
- Контекстное добавление файлов: Быстрое добавление файлов в анализ AI с помощью символа "@".
- Генерация и отображение кодовых патчей: Изменения кода, возвращенные AI, выделены для удобства просмотра.
Использование помощи
Emigo - это ИИ-помощник для пользователей Emacs. Здесь вы найдете подробные инструкции по его установке и использованию, чтобы быстро приступить к работе.
Процесс установки
- Проверка соблюдения экологических требований
- Требуется Emacs версии 28 или выше. Его можно загрузить и установить по адресу https://www.gnu.org/software/emacs/.
- Требуется Python 3.x, который можно пропустить для тех, у кого он установлен, и получить с сайта https://www.python.org/ для тех, у кого его нет.
- Скачать Emigo
Клонируйте Emigo в каталог конфигурации Emacs, выполнив следующую команду в терминале:
git clone https://github.com/MatthewZMD/emigo.git ~/.emacs.d/emigo
- Установка зависимостей Python
Перейдите в каталог Emigo и запустите его:
cd ~/.emacs.d/emigo
pip install -r requirements.txt
При этом устанавливаются необходимые библиотеки Python, такие как LiteLLM.
- Настройка 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) и сохраните его по указанному пути.
- Проверка установки
После сохранения конфигурации перезапустите 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.
сценарий применения
- отладка кода
Когда вы обнаружите сбой в проекте на C, введите "check @main.c for errors", и ИИ проанализирует его и предложит исправление. - Реконструкция документов
Введите "Refactor functions in @src/utils.py", и Emigo сгенерирует оптимизированный код и отобразит патч. - выполнение команд
Введите "compile @src/main.c" в проекте, и ИИ выберетexecute_command
Запуски инструментовgcc
.
QA
- Какие модели поддерживает Emigo?
LiteLLM поддерживает множество моделей, таких как OpenRouter's Deepseek, Anthropic's Клод и т.д., просто укажите имя модели и API в конфигурации. - Почему подсказка не реагирует?
Возможно, недействительный ключ API или проблема с сетью. Проверьте путь к файлу ключа и сетевое подключение, чтобы убедиться, что ключemigo-base-url
Доступно. - Как обновить Emigo?
существовать~/.emacs.d/emigo
Запуск каталогаgit pull
, а затем перезапустите Emacs.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...