Обзор моего Pet проекта: консольный редактор с интеграцией LLM
Приветствую всех! Сегодня хочу рассказать о своем Pet-проекте — собственном консольном текстовом редакторе, который я реализую на Go, с интеграцией больших языковых моделей (LLM). Этот опыт родился на стыке моего прошлого и настоящего — я радиоинженер по образованию, но всю жизнь работал с вычислительными комплексами, а сейчас, будучи пенсионером, возвращаюсь к любимым задачам в более новом формате.
Предыстория: от перфокарт до современных Unix подобных ОС
В моей молодости компьютеры использовали в своей работе перфокарты и АЦПУ, а в виде компьютерного терминала часто использовались старые консоли вроде Consul 260. Начав знакомство с Unix, я привык работать с ОС из консоли, а для редактирования текста со временем стал предпочитать Nano. Но, как вы понимаете, редактор Nano уже устарел, а его исходный код написан на чистом C, что усложняет его доработку, да и некоторые подходы реализованные в нем, на сегодняшнее время, кажуться архаичным. Особенно неприятно, когда длинная строка «уплывает» вправо, и приходится постоянно подгонять курсор.
Эти недостатки побудили меня к мыслительному рывку: а можно ли сделать что-то лучше? Времени у меня много, и я начал реализовывать свои задумки. Тем более это интересно и дает возможность не ограничиваться чьим-то фантазиями или запросами.
Почему именно такой проект возник сейчас?
Создавать полноценный редактор уровня Nano в одиночку — сложная и длительная задача. Но современные технологии — LLM, нейросети — могут значительно облегчить работу. В итоге у меня появился возможность попробовать реализовать свой маленький «GPT-ассистент» внутри редактора.
Основная идея — сделать инструмент, который не только редактирует текст, но и помогает посредством искусственного интеллекта, дает советы, генерирует код или исправляет ошибки — прямо из терминала.
И так ... (барабанная дрообь), мой новый текстовый редактор на Go с интеграцией LLM
Решил поделиться своим новым проектом - консольным текстовым редактором, написанным на Go. Это не просто очередной редактор, а инструмент, который я создавал для собственных нужд, с функциями, которые действительно полезны в повседневной работе.

Что это за зверь?
Это консольный редактор с полной поддержкой Unicode, синтаксической подсветкой для множества языков программирования (C, C++, Go, Python, Ruby, Kotlin, Swift, Lisp, Fortran, ассемблер) и, самое главное, с интеграцией с LLM-моделями. Да-да, прямо в редакторе можно общаться с нейросетями!
Основные возможности
Редактор поддерживает все стандартные функции, которые вы ожидаете от современного текстового редактора:
Многострочное редактирование
Навигация курсором, Home/End, PgUp/PgDn
Undo/redo с полноценным стеком
Вырезание/копирование/вставка (в том числе из системного буфера обмена)
Поиск и замена текста (включая массовую замену)
Переход к строке по ее номеру
Выделение текста по строкам и символам
Но особый интерес представляют расширенные функции:
Интеграция с LLM
Самая интересная часть - это интеграция с большими языковыми моделями. Можно подключить разные провайдеры:
Ollama (работает локально)
OpenRouter
Pollinations
LLM7
Или любой другой HTTP-эндпоинт, который использует в своей работе API OpenAI
Функции работы с LLM:
Ctrl+L - отправить произвольный промпт
Ctrl+P - генерация кода на основе комментария в коде
Ctrl+R - выполнить код и получить рекомендации по исправлению ошибок (если есть)
Умные функции
Есть и другие полезные возможности:
Автодополнение скобок и кавычек
Подсветка парных скобок
Перевод выделенного текста на другие языки (Ctrl+W)
Комментирование/раскомментирование строк (Ctrl+K)
Отступы и сдвиги кода (Ctrl+U/Ctrl+Y)
Запуск команд терминала прямо из редактора (Ctrl+T)
Многоязычность
Помощи с документацией по программе адаптирована под русскоязычных пользователей.
Почему именно это?
Я создавал этот редактор для себя, поэтому в нем только те функции, которые я действительно использую. Нет лишнего веса, нет ненужных зависимостей - только необходимый минимум и мощная интеграция с ИИ.
Это не попытка конкурировать с VS Code или другими тяжеловесами. Это инструмент для тех, кто:
Работает в терминале
Хочет иметь под рукой помощника ИИ
Ценит простоту и привычный (ламповый) интерфейс, в стиле Nano
Технические детали
Редактор написан на Go с использованием библиотеки tcell для работы с терминалом. Полностью поддерживает Unicode, правильно работает с табами и многосимвольными символами. Есть полноценная система синтаксической подсветки для разных языков программирования.
Где взять?
https://github.com/SkalaSkalolaz/editor
Проект открыт и доступен на GitHub "безвозмездно, то есть даром". Собирается одной командой go build . Для работы с LLM нужно либо поставить Ollama локально, либо получить API-ключи для облачных сервисов (к примеру: OpenRouter).
Пока это бета, но я уже использую его в своей работе каждый день. Буду рад, если кто-то найдет это полезным. Особенно интересно было бы узнать, какие функции стоит добавить или улучшить.
Просто очередной проект в для себя, но может кому-то пригодится.
Пожалуйста, у кого есть возможность, протестируйте редактор в работе непосредственно с OpenAI.